When does an order considered done?
AnsweredHello, I have a question regarding integrating with the Toast API.
When querying an existing order (GET /orders/v2/orders/<GUID>),
what indicates an order is successfully done? meaning all is payed, delivered and there are no open issues.
Can I rely on "deliveryInfo"."deliveryState" == "DELIVERED"?
Should I also verify that for all "checks", "paymentStatus" == "CLOSED"?
I understand orders can be reopened, so the question concerns the current state.
Thanks in advance.
-
Hi Uriah,
When an order is considered “done” is somewhat subjective, depending on the use case. For a delivery integration, you might consider an order done once it has been fulfilled and paid.
If you consider an order done once it has been fulfilled by the kitchen and ready to be delivered, you would look at the fulfillmentStatus. The fulfillmentStatus is available at the item level. As the menu item moves through the functions of the Toast POS and KDS, it will have a value of NEW, HOLD, SENT, or READY. When each item on an order has the fulfillmentStatus of READY, the preparation is complete. The endpoint however, will only display the READY status if a restaurant is using a Toast KDS.
Regarding payment, you can look at the check or the order for paymentStatus. The possible values for this field are OPEN, PAID, or CLOSED. However, this value does not reflect whether or not the food has been prepared, only that the payment has been made.
You can also look at paymentStatus for the payment itself. For this field, a paymentStatus of AUTHORIZED would indicate the payment is at its most complete state before being processed. All payments for the day are processed after hours, once per day. At that time they transition to the CAPTURED status. Again, this only reflects payment, not the status of food preparation.
The deliveryInfo endpoint will only give you the deliveryState if the restaurant is using their own drivers or if they use an integration partner who updates orders’ delivery statuses.
If you would like to update delivery statuses yourself, you can submit a PATCH request to this endpoint with deliveryState updates. If you are interested in using this endpoint, please let us know, and we can add it to your Sandbox scope to test.
I hope this helps you understand the different ways an order can be “done.” There are a lot of ways to look at this! Please let me know if you have any follow up questions.
Thanks!
Ann0
Please sign in to leave a comment.
Comments
1 comment