Calculate live order prices without saving an order or conversation
const url = 'https://example.com/entry-drafts/order-quote';const options = { method: 'POST', headers: { cookie: '__Host-bottle.session_token=<__Host-bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"customer":{"tradingName":"Camden Lock Grill","paymentTerms":"prepaid","preferredLocale":"en-GB","paymentTermsDays":1,"kind":"commercial","hireBillingPeriod":"weekly","cylinderCharge":"deposit","rateSetId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","invoiceSchedule":{"mode":"business"},"legalName":"Camden Lock Grill Ltd","contactName":"Priya Shah","email":"orders@camdenlockgrill.co.uk","phone":"07700 900123","notes":"example","accountNumber":"BTL00313","address":{"name":"example","line1":"example","line2":"example","city":"example","postcode":"example","notes":"example","leaveInstruction":"none","leaveDetail":"example","placeToken":"example"}},"order":{"customerId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","deliveryAddressId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","deliverToName":"example","deliverToAddress":"example","deliveryOptionId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","paymentMethod":"on_account","billingOwner":"bottle","fulfilment":"delivery","pricesIncludeVat":true,"pricingAudience":"consumer","includeSurcharge":true,"surchargeChoice":"usual","wantedOn":"2026-04-15","notes":"example","customerReference":"example","lines":[{"productId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1,"unitPrice":1,"priceIncludesVat":true,"faultySwap":true}],"cylinderChargesReviewed":true,"collect":[{"productId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1}]},"returnsConfirmed":true,"totalOverridePence":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/entry-drafts/order-quote \ --header 'Content-Type: application/json' \ --cookie __Host-bottle.session_token=<__Host-bottle.session_token> \ --data '{ "customer": { "tradingName": "Camden Lock Grill", "paymentTerms": "prepaid", "preferredLocale": "en-GB", "paymentTermsDays": 1, "kind": "commercial", "hireBillingPeriod": "weekly", "cylinderCharge": "deposit", "rateSetId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "invoiceSchedule": { "mode": "business" }, "legalName": "Camden Lock Grill Ltd", "contactName": "Priya Shah", "email": "orders@camdenlockgrill.co.uk", "phone": "07700 900123", "notes": "example", "accountNumber": "BTL00313", "address": { "name": "example", "line1": "example", "line2": "example", "city": "example", "postcode": "example", "notes": "example", "leaveInstruction": "none", "leaveDetail": "example", "placeToken": "example" } }, "order": { "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliveryAddressId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliverToName": "example", "deliverToAddress": "example", "deliveryOptionId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "paymentMethod": "on_account", "billingOwner": "bottle", "fulfilment": "delivery", "pricesIncludeVat": true, "pricingAudience": "consumer", "includeSurcharge": true, "surchargeChoice": "usual", "wantedOn": "2026-04-15", "notes": "example", "customerReference": "example", "lines": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1, "unitPrice": 1, "priceIncludesVat": true, "faultySwap": true } ], "cylinderChargesReviewed": true, "collect": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ] }, "returnsConfirmed": true, "totalOverridePence": 1 }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Example
Camden Lock GrillA language: en-GB English, ar Arabic, ur Urdu, pa Punjabi (Gurmukhi), hi Hindi, bn Bengali, gu Gujarati, zh-Hans Chinese (Simplified), pl Polish, ro Romanian, es Spanish, fr French, de German.
Deposit: paid once with the cylinder and refunded on return. rent: charged while they keep it, no deposit.
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fExample
Camden Lock Grill LtdExample
Priya ShahExample
orders@camdenlockgrill.co.ukExample
07700 900123Example
BTL00313object
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fOn_account: billed later, nothing to collect. link: a payment link raised in the accounting system. cash: the driver takes it at the door.
Bottle: Bottle invoices and takes payment as usual. elsewhere: already invoiced or paid outside Bottle. Bottle sends no invoice or payment link, drivers collect nothing, and the payment method is kept as on_account.
Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.
Consumer: use consumer list prices. trade: use trade prices where set. Agreed rates, customer price lists and price rules still take priority.
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fobject
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fResponses
Section titled “Responses”Current calculated order prices
object
object
object
Example generated
{ "customerName": "example", "customerDetails": [ "example" ], "address": "example", "paymentMethod": "example", "fulfilment": "example", "wantedOn": "example", "notes": "example", "customerReference": "example", "lines": [ { "productId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "productName": "example", "quantity": 1, "unitPrice": 1, "priceIncludesVat": true, "grossPence": 1 } ], "collect": [ { "productId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "productName": "example", "quantity": 1 } ], "netPence": 1, "vatPence": 1, "grossPence": 1, "deliveryChargePence": 1, "surchargePence": 1, "calculatedGrossPence": 1}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}