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:

    This tells you:
    • 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:


    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.
     
     

    Was this article helpful?

    0 out of 0 liked this article

    Still need help? Message Us