Understand core concepts before integrating. This guide explains what you need to know to work with orders.
What is the Order module
The Order module manages the complete order lifecycle — from receiving to delivery. It is required to integrate your store with the iFood platform.With this integration you can:
Important: Understand the concepts on this page before proceeding to the Implementation Guide.
Order types
Each order has an orderType that defines how the customer receives their items:
Type
Description
When to use
DELIVERY
Delivery to customer address
Restaurants, markets with delivery service
TAKEOUT
Customer picks up at establishment
Pickup counter or pickup area
DINE_IN
On-premises consumption
Restaurants with dine-in service
Order categories
The category field identifies the merchant type:
Category
Origin
Characteristics
FOOD
Restaurants
All delivery types (DELIVERY, TAKEOUT, DINE_IN)
FOOD_SELF_SERVICE
Kiosks and self-checkout
Automated self-service orders
GROCERY
Supermarkets, pharmacies, pet shops
Virtual bag API; picking workflow
ANOTAI
Third-party integrations
Aggregator platform
Order lifecycle
Important: Each transition is triggered by events, not polling. You don't ask "what's the state?", you receive notifications when the state changes.
Order timing
Confirmation deadline (SLA)
Every order must be confirmed within 8 minutes:
IMMEDIATE orders: 8 minutes from createdAt
SCHEDULED orders: 8 minutes from preparationStartDateTime
Failure to confirm results in automatic cancellation and account penalties.How to implement:Workflow — Confirm order
Event-driven architecture
Instead of constantly asking the system for order status, the Order API works with events — iFood notifies you when the state changes.Communication pattern:
iFood publishes an event when something happens (new order, customer cancels, driver assigned, etc.)
You react to the event by calling an action (confirm, start preparation, etc.)
Your system stays synchronized without making unnecessary requests
Two ways to receive events:
Polling — You check every 30 seconds if there are new events (simpler to start)
Webhooks — iFood sends events to your endpoint (more scalable)
How to choose:
Start with polling while you develop
Migrate to webhooks when processing >1000 orders/day