A door asks for more
const url = 'https://example.com/rounds/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/stops/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/wants';const options = { method: 'POST', headers: { cookie: 'bottle.session_token=<bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"items":[{"orderLineId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1}],"extras":[{"productId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/rounds/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/stops/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/wants \ --header 'Content-Type: application/json' \ --cookie bottle.session_token=<bottle.session_token> \ --data '{ "items": [ { "orderLineId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ], "extras": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ] }'Before anything is handed over: the customer wants more of a line than they ordered, or a product that was not on the order. The order grows now, at this customer’s own rate, so the price quoted and any link made are for what they are actually taking. Any invoice or payment link for the old figure is voided. Not on an order already paid, and only on a round that is out. items say the new quantity per line; less than what is outstanding is ignored. A driver may only do this on their own round.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fobject
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fResponses
Section titled “Responses”The round, with the order grown
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.
Example
{ "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" } ]}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"}Not found
object
Example
{ "error": "not_found", "message": "Customer not found"}The round has not left, or the order is already paid
object
Example
{ "error": "not_found", "message": "Customer not found"}Validation failed
object
object
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}