Order submitter
Business case
Wolt merchants can use the order submitter to push order details from Wolt to their POS/KDS/ERP systems.
Order submitter is an easy to use integration product that is designed to help merchants reduce time they spend in punching orders into POS when received on Wolt. Merchants/integrators only need to have a webhook url that can receive accepted orders from Wolt.
Retail stores can also integrate using the order submitter to ensure checkout counters do not become a bottleneck for high order volumes.
Development time for our partners using the order submitter is expected to be low - less than 2 weeks. All the order management logic sits at our end and the only coding required from the partner is data mapping.
Implementation guidelines for all types of orders and venues are given below.
Wolt order flow and key terms
The non integrated Wolt order flow is shown below -

Key terms
Venue: A store or location that will service the order.
Accept: Orders are accepted by the venue staff. Orders must be accepted within 3 minutes of being received on the merchant app.
Preparation time: The time required for the venue staff to prepare or pick the order. This can be adjusted using the merchant app when the venue is not integrated.
Courier eta: The approximate time when a courier is expected to arrive at the venue to pick up the order.
Implementation guides
The following are the order flows if the order submitter is used to build an order integration with Wolt.
Restaurant implementation guide (manual accept)

Restaurant implementation guide (auto-accept)

Retail implementation guide (manual accept)

Retail implementation guide (auto-accept)

Key considerations
- Auto-confirmation of pre-orders is not supported at the moment. This means that the merchant app is required for confirming and accepting pre-orders.
- Takeaway orders must be marked as picked up using the Wolt Merchant app.
- Support chat is available only through the Wolt Merchant app.
- Self-delivery orders are not currently available - functionality to support self-delivery orders will be added soon.
- Order submitter does not offer a device free experience at the moment - functionality to support pre-orders will be added soon.
Authorization
No authorization is needed to access orders. Orders are sent to a webhook url that must be provided by the integrating partner. The order is sent to this URL. The URL can have authentication - we will pass an authentication token in the header of the call.
Name | Value | Example |
---|---|---|
authorization | Bearer <your-authentication-token> | authorization: Bearer 7908cb94-0af0-473b-a50f-4c5c843d0dcc |
Order payload example - Restaurant
{"id": "64b0d93c0059cd4012d0da7b","venue": {"id": "61af55a24cc17d2ddd67f569","name": "Ashwin's Cafe 3.0"},"price": {"amount": 1570,"currency": "EUR"},"delivery": {"status": "none","type": "homedelivery","self_delivery": false},"items": [{"item_type": "order-retail-item","id": "648867faf3763b15a20f777d","count": 1,"pos_id": "BURGMEAL1","options": [{"id": "648867fa1fd22448a5397e1c","name": "Select a Burger","value": "No Meat Burgers","price": {"amount": 0,"currency": "EUR"},"pos_id": "BURGERS","count": 1,"value_pos_id": "VEGBURGERS"},{"id": "648867fa1fd22448a5397e1b","name": "No Meat Burgers","value": "Vegan Burger","price": {"amount": 600,"currency": "EUR"},"pos_id": "VEGBURGERS","count": 1,"value_pos_id": "VEGBURGERS2"},{"id": "648867fa1fd22448a5397e20","name": "Drinks","value": "Sodas","price": {"amount": 0,"currency": "EUR"},"pos_id": "DRINKS","count": 1,"value_pos_id": "SODAS"},{"id": "648867fa1fd22448a5397e1e","name": "Sodas","value": "Coke","price": {"amount": 100,"currency": "EUR"},"pos_id": "SODAS","count": 1,"value_pos_id": "COKE","deposit": {"gross_price": {"amount": 40,"currency": "EUR"},"net_price": {"amount": 32,"currency": "EUR"},"vat_percentage": 24.0}}],"total_price": {"amount": 1540,"currency": "EUR"},"base_price": {"amount": 800,"currency": "EUR"},"unit_price": {"amount": 1540,"currency": "EUR"},"name": "Super Burger Meal","category": {"id": "648867fa1fd22448a5397e27","name": "Burgers"},"row_number": 0,"substitution_settings": {"is_allowed": false}},{"item_type": "order-retail-item","id": "5fc8cf0005ace3fc1c0a2ec1","count": 1,"pos_id": "BAGFEE","sku": "BAGFEE","options": [],"total_price": {"amount": 30,"currency": "EUR"},"base_price": {"amount": 30,"currency": "EUR"},"unit_price": {"amount": 30,"currency": "EUR"},"name": "Bag fee","category": {"id": "5fc91fa005ace3fc1c0a2ec6","name": "Bag fee"},"row_number": 1,"substitution_settings": {"is_allowed": false}}],"created_at": "2023-07-14T05:12:31.918Z","pickup_eta": "2023-07-14T05:22:49.288Z","type": "instant","consumer_name": "Ashwin K","order_number": "583","order_status": "production","modified_at": "2023-07-14T05:12:49.377220Z"}
Order payload example - Retail
{"id": "64afd7fa07f01e7f8c016cee","venue": {"id": "63f9c9e0827eb2ebeddd0353","name": "Grocery 4U 2"},"price": {"amount": 1200,"currency": "EUR"},"delivery": {"status": "none","type": "homedelivery","self_delivery": false},"items": [{"item_type": "order-retail-item","id": "63f9ca028c3b4b4f944ef674","count": 2,"gtin": "6410402008919","options": [],"total_price": {"amount": 400,"currency": "EUR"},"base_price": {"amount": 200,"currency": "EUR"},"unit_price": {"amount": 200,"currency": "EUR"},"name": "Carrots 250gms","category": {"id": "64117d157834874b9eb13ffa","name": "Top Sellers"},"row_number": 0,"substitution_settings": {"is_allowed": true}},{"item_type": "order-retail-item","id": "63f9ca028c3b4b4f944ef672","count": 1,"sku": "12345","gtin": "2000578400002","options": [],"total_price": {"amount": 400,"currency": "EUR"},"base_price": {"amount": 400,"currency": "EUR"},"unit_price": {"amount": 400,"currency": "EUR"},"name": "Cauliflower 100gms","category": {"id": "64117d157834874b9eb13ffa","name": "Top Sellers"},"row_number": 1,"substitution_settings": {"is_allowed": true}},{"item_type": "order-retail-item","id": "63f9ca028c3b4b4f944ef675","count": 1,"gtin": "6410405195029","options": [],"total_price": {"amount": 400,"currency": "EUR"},"base_price": {"amount": 400,"currency": "EUR"},"unit_price": {"amount": 400,"currency": "EUR"},"name": "Potatoes","category": {"id": "64117d1ce1c71cd64d38daed","name": "Roots"},"row_number": 2,"substitution_settings": {"is_allowed": false}}],"created_at": "2023-07-13T10:54:53.962Z","pickup_eta": "2023-07-13T11:10:11.872Z","type": "instant","consumer_name": "Ashwin K","order_number": "760","order_status": "ready","modified_at": "2023-07-13T10:56:38.562Z"}
Order submitter technical specifications
Technical specifications for the order submitter are available here. In case of any questions or need further assistance, please reach out to your Wolt account manager or drop us an email at tamteam@wolt.com.