Delivery promise
Future Ordering bases delivery reservations on a promise to deliver to a specific address at a specific time for a specific cost. Once a customer has entered delivery information:

Future Ordering sends a request to your specified endpoint.
You need to provide details about this endpoint. For more information about token validation, see the section on validating access tokens.
Promise request
POST https://your-example-url.com/your-route
{
"requestedStoreInformations": [
{
"legacyStoreId": 12345,
"storeId": "store-a1b2c3",
"promiseTimes": [
"2026-04-16T14:30:00+00:00",
"2026-04-16T15:00:00+00:00"
]
},
{
"legacyStoreId": 67890,
"storeId": "store-d4e5f6",
"promiseTimes": [
"2026-04-16T16:00:00+00:00"
]
}
],
"recipientPd": {
"name": "Jane Doe",
"phoneNumber": "+1234567890",
"notes": "Leave at the front door",
"courierFacingName": "Jane",
"dropOffLocation": {
"address": {
"line1": "Kungsgatan 1",
"line2": null,
"city": "Stockholm",
"buildingNumber": "1",
"postalCode": "111 43",
"countryIsoCode": "SE"
},
"position": {
"latitude": "59.3293",
"longitude": "18.0686",
"format": "dd"
}
}
},
"isRefresh": false
}
Promise response
Future Ordering supports customers to configure the guest experience for either selecting one promise automatically, or letting the guest choose from all available options. Return one promise for each store and promise time when possible.
The promise is added to the order, and its cost is shown to the customer in the basket. Future Ordering also refreshes promises automatically (isRefresh: true) when validUntil is about to expire.
{
"promises": [
{
"recipientPd": {
"name": "Jane Doe",
"phoneNumber": "+1234567890",
"notes": "Leave at the front door",
"courierFacingName": "Jane",
"dropOffLocation": {
"address": {
"line1": "Kungsgatan 1",
"line2": null,
"city": "Stockholm",
"buildingNumber": "1",
"postalCode": "111 43",
"countryIsoCode": "SE"
},
"position": {
"latitude": "59.3293",
"longitude": "18.0686",
"format": "dd"
}
}
},
"storeId": "store-a1b2c3",
"servicesStoreId": 12345,
"estimatedDropOffTime": "2026-04-16T15:30:00+00:00",
"estimatedPickupTime": "2026-04-16T14:45:00+00:00",
"deliveryFee": {
"title": "Standard Delivery",
"price": {
"amount": 4900,
"isVatIncluded": true,
"vat": [
{
"type": "25%",
"percent": 25.0
}
]
}
},
"code": "promise-abc123",
"dspName": "FastCourier",
"provider": "fast-courier-api",
"validUntil": "2026-04-16T14:50:00+00:00",
"status": "valid",
"error": null
},
{
"recipientPd": {
"name": "Jane Doe",
"phoneNumber": "+1234567890",
"notes": "Leave at the front door",
"courierFacingName": "Jane",
"dropOffLocation": {
"address": {
"line1": "Kungsgatan 1",
"line2": null,
"city": "Stockholm",
"buildingNumber": "1",
"postalCode": "111 43",
"countryIsoCode": "SE"
},
"position": {
"latitude": "59.3293",
"longitude": "18.0686",
"format": "dd"
}
}
},
"storeId": "store-d4e5f6",
"servicesStoreId": 67890,
"estimatedDropOffTime": "2026-04-16T16:15:00+00:00",
"estimatedPickupTime": "2026-04-16T15:30:00+00:00",
"deliveryFee": {
"title": "Express Delivery",
"price": {
"amount": 7900,
"isVatIncluded": true,
"vat": [
{
"type": "25%",
"percent": 25.0
}
]
}
},
"code": "promise-def456",
"dspName": "SpeedyRide",
"provider": null,
"validUntil": "2026-04-16T15:35:00+00:00",
"status": "invalid",
"error": {
"code": "STORE_CLOSED",
"message": "The store is currently closed",
"data": null,
"innerError": null
}
}
]
}