Order Status Handling & Delivery Time Updates
How to correctly update order states and delivery times across platforms
MERGEPORT
Last Update 10 days ago
Order status handling and delivery time updates are core components of every MERGEPORT integration.
This article explains:
- How to update order states correctly
- How to send delivery time updates
- How to interpret possibleStateChanges
- Platform-specific limitations
To update an order, issue a PATCH to the order endpoint:
Include state in the body.
Allowed states are always listed in possibleStateChanges of the order.
Example:
Rules
- Only use states listed in possibleStateChanges.
- possibleStateChanges is included in every order.
- Some providers internally map states differently for the end customer.
- The most important required state is acceptedByPos.
We recommend updating delivery times mainly when setting:
- acceptedByPos
- preparing
Avoid frequent incremental updates.
Understanding possibleStateChanges
Each order contains something like:
- Which states are allowed
- Whether timeChange is permitted for that state
If timeChange is false, do not send a delivery time update for that state.
Delivery Time Updates
You may add timeChange together with a state if allowed.
Important
- timeChange must always be sent together with state.
- timeChange must be an ISO-8601 UTC timestamp.
- Usually, timeChange represents a difference from the originally calculated time (e.g. +15, +30 minutes).
- If the order was placed as ASAP and no reference time exists, send an absolute timestamp
Combined example
Platform-specific notes (status & time)
Lieferando (Just Eat Takeaway)
- Time updates are supported via API on selected states.
- Delivery time updates are NOT supported when Scoober (JET courier fleet) is used.
- In that case, Hybrid Mode may allow restaurant-side time control.
- The time sent represents the final delivery time for the end customer.
- “Reject” is currently not supported. Orders must be processed.
Wolt
- Time updates supported.
- Recommended mainly on accept and preparing.
- The time sent represents the courier pickup time.
- Alternatively, you may send the final customer delivery time.
If sending final delivery time:
- Configure drivingTime via SetSiteSpecs:
https://ordering.mergeport.com/v4/documentation#operation/SetSiteSpecs - MERGEPORT calculates pickup time.
Limit:
- Pickup time cannot exceed +25 minutes from the original estimate (soft validation)
Uber Eats
- Time updates supported.
- Recommended mainly on accept and preparing.
- The time sent represents the courier pickup time.
- Alternatively, you may send the final customer delivery time.
- Requires drivingTime configuration in DefaultPreparationTime via SetSiteSpecs.
