Maxmove LogoDocs

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.

Als Markdown ansehen

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_at from GET /v1/deliveries/{deliveryId}/tracking. It is the authoritative time; list and create responses may return null there.
  • Start polling the courier position from that time, or react to delivery.courier_assigned and delivery.courier_arrived webhooks.

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?