Search in documentation
ctrl+4K
Modules
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Solutions

Introduction

Order scheduling allows the customer to choose the best time to receive their order. In addition to offering this convenience for the customer, the store can also optimize its operation by better managing demand during peak hours, for example, and also better planning its production line.Learn all the details about this feature on the official page: https://agendamento.ifood.com.br/How to enable order scheduling? To enable this feature for your store, access the Partner Portal and open a ticket requesting the scheduling configuration. You can define the time windows you want to make available.
Scheduled orders require specific behavior from your application and its users. Following are the necessary guidelines to homologate this functionality in your application.For these orders, the orderTiming field in the order detail will be filled with the value "SCHEDULED".
Don't treat a "SCHEDULED" order as an "IMMEDIATE" order It's important that you differentiate this type of order, because unlike an "IMMEDIATE" order, you should only send/deliver the order at the time chosen by the customer.
Types of orders that allow scheduling All order types (DELIVERY, TAKEOUT and INDOOR) allow scheduling.
In addition to the orderTiming field mentioned above, in these orders we have the "scheduled" group containing specific information about the time scheduled by the customer:
  • deliveryDateTimeStart - start of the scheduling time window.
  • deliveryDateTimeEnd - end of the scheduling time window.
In addition to the time information, in the order details you will find specific fields according to the delivery/pickup of the order:
orderTypefielddescription
DELIVERYdeliveryinformation about delivery time and location including customer address
TAKEOUTtakeoutinformation about order pickup
Ex:
"schedule": {
  "deliveryDateTimeStart": "2020-01-01T00:20:00.000Z",
  "deliveryDateTimeEnd": "2020-01-01T01:20:00.000Z"
}

Order preparation or separation time

It is essential that you check the scheduled time and prepare the order only close to that time.
Sending the order before the scheduled time If the order is sent immediately or at any time before the scheduled time it will be rejected by the customer, which in addition to harming the cancellation rate can cause financial loss for the store.
preparationStartDateTime The preparationStartDateTime field already calculates the recommended time to start order preparation. It is calculated based on the average delivery time configuration in the store registration.

Dispatch or notify that the order is ready

After the order is ready, respecting the preparationStartDateTime you should dispatch (delivery) or notify that the order is ready (takeout and indoor).
The scheduled order can be confirmed from the moment your application receives it, but the recommended time to prepare and deliver the order must be respected.Confirmation can be sent up to 8 minutes after preparationStartDateTime. After 8 minutes, we understand that the order is not being prepared in time to be delivered at the scheduled time and the order is automatically cancelled.
preparationStartDateTime = deliveryDateTimeStart - DeliveryTime (store configuration)
Example:
An order came in at 17:00 and was scheduled for 20:00. The store's average delivery time is 40 minutes.
The preparationStartDateTime will be: 19:20:00 (since the restaurant needs 40 minutes to deliver that order).In this case, this order must be confirmed by 19:28:00. Otherwise, the order will be cancelled.
Other content that may be of interest to you:
Was this page helpful?
Rate your experience in the new Developer portal: