Work Order Lifecycle
Understanding how work orders move through the system is key to building effective integrations.
Status Flow
Tenants can also configure custom workflow statuses; pass any string to status and the API stores it as-is. The list above is the default set.
1. Creation
Work orders start with a customer and vehicle link. Use POST /v1/work-orders to
initialize a ticket.
2. Adding Services & Line Items
Edit the services[] array via PATCH /v1/work-orders/{id}/services/{svcId} to add labor / parts / tires / materials. Each service block carries its own version — PATCH must echo the version it read; the server returns 409 on stale writes. Totals on the work order are recomputed server-side.
3. Updating Status
Use PATCH /v1/work-orders/{id} with a status body field. Status changes trigger webhook events (work_order.updated).
Inventory Management
Keep your stock levels accurate by syncing your inventory system with BigShop.
Real-time Updates
When parts are added to a work order, stock is reserved. When the work order is completed, stock is deducted.
Low Stock Alerts
Set reorder points for items. The API returns low_stock flags you can
filter by.
Webhook Integration
Webhooks allow your system to react immediately to changes in BigShop.
Example Payload: work_order.updated
{
"event": "work_order.updated",
"occurredAt": "2026-03-20T14:30:00Z",
"data": {
"workOrderId": "wo_987xyz",
"previousStatus": "approved",
"currentStatus": "in_progress",
"technicianId": "usr_456"
}
}
Best Practices
- Always verify the webhook signature (if enabled) to ensure authenticity.
- Respond with a
200 OKimmediately to prevent retries. - Process heavy logic asynchronously after receiving the event.