The caller's day, for the driver apps
const url = 'https://example.com/driver/day?date=2026-04-15';const options = { method: 'GET', headers: {cookie: 'bottle.session_token=<bottle.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/driver/day?date=2026-04-15' \ --cookie bottle.session_token=<bottle.session_token>Everything a driver needs for a day, in one answer, for the driver apps to keep on the phone and work from without signal: the rounds sent to the caller on that date with every stop, the bases they start and end at, the gas products that can be handed over, collected or sold, what is on each round’s van, and the caller’s cash in the cab. Give the date as the phone sees it, in the driver’s own time zone. Only rounds the office has sent appear.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”The day
object
object
UUID v7
UUID v7
UUID v7
UUID v7
object
object
object
UUID v7
UUID v7
object
object
object
UUID v7
UUID v7
object
UUID v7
On_account: billed later, nothing to collect. link: a payment link raised in the accounting system. cash: the driver takes it at the door.
Name, address and postcode in one line.
object
UUID v7
object
UUID v7
Pence, excluding VAT.
VAT in basis points: 2000 is 20%, 500 is 5%, 0 is zero rated.
UUID v7
UUID v7
object
object
object
object
UUID v7
object
object
UUID v7
object
UUID v7
UUID v7
UUID v7
UUID v7
UUID v7
Example
{ "rounds": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "vehicleId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "startLocationId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "endLocationId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "status": "planned", "departsAt": "07:30", "fit": { "departsAt": "07:30", "backAt": "07:30", "shiftEnd": "07:30", "over": [ "weight" ] }, "stops": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "orderId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "etaAt": "07:30", "proof": { "kind": "signature" }, "lines": [ { "orderLineId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "productName": "19kg propane" } ], "collect": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "productName": "19kg propane" } ], "paymentMethod": "on_account", "leaveInstruction": "none", "shortfallReason": "not_on_vehicle", "issue": "wrong_product", "failureReason": "nobody_in", "summary": "3 × 19kg propane", "orderStatus": "placed" } ] } ], "locations": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "kind": "depot", "name": "Yard", "postcode": "KT3 4BP", "postcodeDistrict": "KT3", "adminDistrict": "Kingston upon Thames", "adminCounty": "Surrey", "region": "London" } ], "products": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "name": "19kg propane", "shortCode": "19", "sku": "PROP-19", "unitPrice": 5400, "vatRate": 2000, "charge": "deposit", "chargePeriod": "once", "chargeForProductId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "gasTypeId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "weightKg": 38.5, "volumeLitres": 60, "links": [ { "source": "woocommerce", "externalId": "1043" } ] } ], "loads": { "additionalProperty": { "items": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ] } }, "cash": { "waiting": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "startedBy": "driver", "status": "waiting" } ], "takings": [ { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "roundId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "orderId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "invoiceId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "handoverId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ] }}Not signed in
object
Example
{ "error": "not_found", "message": "Customer not found"}Not a member, or without the permission this needs
object
Example
{ "error": "not_found", "message": "Customer not found"}Validation failed
object
object
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}