Die Entwicklerdokumentation ist auf Englisch verfügbar.
Scheduled deliveries
Book a pickup for a later time, know when live tracking opens, and handle the delivery until then.
Omit scheduled_at and the delivery is immediate: Maxmove starts looking for a courier right away. Set scheduled_at to request a later pickup time.
Book a pickup time#
scheduled_at is the requested pickup time in RFC 3339, for example 2026-10-08T08:00:00Z or 2026-10-08T10:00:00+02:00. Send it on POST /v1/deliveries together with the route:
{
"pickup": {
"address": "Ehrenstraße 15, 50672 Köln",
"latitude": 50.9385,
"longitude": 6.9469,
"contact": { "name": "Feinkost Ehrenfeld", "phone": "+49 221 1234567" }
},
"dropoff": {
"address": "Königsallee 27, 40212 Düsseldorf",
"latitude": 51.2233,
"longitude": 6.7768,
"contact": { "name": "Erika Muster", "phone": "+49 170 1234567" }
},
"vehicle_type_id": "courier",
"scheduled_at": "2026-10-08T08:00:00Z"
}The price can depend on the pickup time, so quote with the same scheduled_at you book. POST /v1/quotes accepts it, and a delivery whose scheduled_at differs from its quote fails with 400 quote_mismatch. Book within the quote's validity of about 5 minutes.
scheduled_at must lie in the future. A past time fails with 400 invalid_request, and so does a time too far ahead.
Before pickup#
A scheduled delivery is readable at any time, and you can cancel it until the courier has picked up the goods. It stays pending until a courier accepts it.
Live tracking opens one hour before the pickup time, or earlier when the courier is already on the way to pickup. Until then courier.location is null.
- Read
tracking_available_atfromGET /v1/deliveries/{deliveryId}/tracking. It is the authoritative time; list and create responses may returnnullthere. - Start polling the courier position from that time, or react to
delivery.courier_assignedanddelivery.courier_arrivedwebhooks.
For live deliveries, the link in tracking_url works from creation. Share it with the recipient right away: the page shows the live status, and the courier's position once it is available.
In test mode#
The Robocourier does not wait for scheduled_at: a scheduled test delivery moves through its statuses right away, about 20 seconds per step. Use it to test your status handling, not your timing.
Hat das Ihre Frage beantwortet?