Work Orders Resource

Manage maintenance work orders and service tasks.

Basic Usage

use Samsara\Facades\Samsara;

// Get all work orders
$workOrders = Samsara::workOrders()->all();

// Find a work order
$workOrder = Samsara::workOrders()->find('work-order-id');

// Create a work order
$workOrder = Samsara::workOrders()->create([
    'vehicleId' => 'vehicle-123',
    'description' => 'Oil change and tire rotation',
    'serviceTasks' => [
        ['id' => 'task-oil-change'],
        ['id' => 'task-tire-rotation'],
    ],
]);

// Update a work order
$workOrder = Samsara::workOrders()->update('work-order-id', [
    'status' => 'completed',
]);

// Delete a work order
Samsara::workOrders()->delete('work-order-id');

Query Builder

// Get work orders with query builder
$workOrders = Samsara::workOrders()
    ->query()
    ->get();

// Filter by tag
$workOrders = Samsara::workOrders()
    ->query()
    ->whereTag('fleet-maintenance')
    ->get();

Work Orders Stream

use Carbon\Carbon;

// Get work orders stream
$workOrders = Samsara::workOrders()
    ->stream()
    ->between(Carbon::now()->subDays(30), Carbon::now())
    ->get();

Service Tasks

// Get all service tasks
$serviceTasks = Samsara::workOrders()->serviceTasks();

Invoice Scans

// Upload an invoice scan
$result = Samsara::workOrders()->uploadInvoiceScan([
    'workOrderId' => 'work-order-123',
    'fileName' => 'invoice.pdf',
    'contentType' => 'application/pdf',
]);

Back to top

Copyright © 2024-2025 Erik Galloway. Distributed under the MIT License.