Te Lo Llevo Te Lo Llevo Documentation
System handbook
How it works

Order lifecycle

An order on Te Lo Llevo is not a single moment — it is a journey. From the instant the customer taps "Confirm" to the moment the courier places the parcel in their hands, the platform moves through a well-defined set of states, with clear rules about who acts at each step and what happens if something goes wrong.

This chapter explains every order state, how a courier is dispatched, the delivery protocol, what happens when a customer does not show up, and how exceptions are handled — cancellations, refunds and return-to-origin.

The big picture

A delivery order passes through three pairs of hands: the customer who places it, the merchant who prepares it and the courier who delivers it. Each handover between them has its own state. The diagram below shows the main route — the happy path — from start to finish.

Customerplaces the order
Merchantaccepts & prepares
Courierpicks up & delivers
Deliveredto the customer

Behind this linear sequence is a state machine that records exactly where each order stands at every moment. Anyone with access — the customer, the merchant, the courier or the Operations team — can check the state in real time.

ℹ️
Delivery orders only

This state cycle applies to orders with home delivery. In-store sales (POS receipts) have their own shorter flow: select products, take payment, print the receipt. That flow is detailed in the POS in depth chapter.

Every state explained

Below is every state in the order it typically appears, who is in control at that moment, and what can happen next.

  • PENDING — Pending

    The customer has confirmed their order and payment has been authorised. The order is waiting for the merchant to review it. The merchant receives an immediate notification. At this stage the customer can still cancel at no charge if the merchant has not yet acted, subject to the cancellation policy.

  • ACCEPT / REJECT — Merchant decision

    The merchant either accepts or rejects the order. If accepted, it moves to PREPARING. If rejected, the merchant must provide a reason (out of stock, closed, capacity). A rejection triggers an automatic full refund to the customer, and the order becomes CANCELLED.

  • PREPARING — Being prepared

    The merchant is making the order. The customer sees this state in their live tracking. In parallel, the platform begins searching for an available courier so one is ready when the order is.

  • READY_FOR_PICKUP — Ready for pickup

    The merchant has marked the order as ready. The assigned courier is alerted to head to the pickup point. If no courier has been assigned yet, the platform intensifies its search.

  • ASSIGNED — Courier assigned

    A courier has accepted the task. The customer sees the courier's name and live position on the map. The courier is now heading to the merchant to collect the order.

  • Pickup — On the way

    The courier has collected the order from the merchant (action pickup) and is on the way to the customer's address. Live tracking updates with the courier's position.

  • ARRIVED — Arrived at destination

    The courier has reached the delivery address and taps "Arrived". The customer receives an alert to come down or come outside. The wait counter starts.

  • WAITING_CUSTOMER — Waiting for customer

    The courier is at the delivery point waiting for the customer to appear. The wait time has a limit (the no-show timer). If the customer does not appear before it expires, the system can auto-complete the delivery or initiate the return-to-origin protocol.

  • DELIVERED — Delivered

    The order has reached the customer. The courier marks the delivery as complete (action complete). The customer can rate the experience. Loyalty points are credited. The amount enters the merchant's settlement cycle.

  • CANCELLED — Cancelled

    The order has been cancelled — by the customer, the merchant or the platform. The cancellation policy determines whether a charge applies or a full refund is issued. The order is kept in the history (never deleted) for fiscal compliance.

  • FULLY_REFUNDED — Fully refunded

    A 100% refund is equivalent to a cancellation. The full amount is returned to the customer. Any loyalty points earned are reversed. The order is marked FULLY_REFUNDED rather than deleted.

PENDING PREPARING READY_FOR_PICKUP ASSIGNED ARRIVED WAITING_CUSTOMER DELIVERED CANCELLED FULLY_REFUNDED

Dispatch & the 15-second window

When an order needs a courier, the platform sends an offer to available couriers in the area. This process is called dispatch and operates on a tight time window to keep the fleet engaged and delivery times low.

  1. Finding a courier

    The platform identifies the nearest online couriers to the pickup point and sends them a task offer with the details: merchant, destination, estimated distance and fee.

  2. The 15-second window

    The courier has exactly 15 seconds to accept the offer. During those 15 seconds they see a countdown in the courier app. If they do not respond — whether because they are busy, miss the notification or choose not to accept — the offer expires automatically.

  3. Automatic reassignment

    If the offer expires without being accepted, the platform immediately re-offers it to the next available courier. This cycle repeats until someone accepts or until the Operations team intervenes manually.

  4. Confirmation and tracking

    As soon as a courier accepts, the order moves to ASSIGNED and the customer receives confirmation with the courier's name and real-time position.

⚠️
Why 15 seconds

A longer window increases the customer's wait and allows couriers to routinely decline without consequence. A shorter one does not give enough reaction time. Fifteen seconds is the operational balance that keeps the fleet committed and customers satisfied.

The delivery protocol

The final leg of the lifecycle — from the moment the courier arrives at the customer's door to the point the delivery is closed — has its own protocol to protect both the customer and the courier.

ARRIVEDcourier arrives
WAITING_CUSTOMERwaiting with timer
DELIVEREDdelivery complete

When the courier taps "Arrived" (arrived), the customer receives a push notification in the customer app. The courier then marks that they are waiting (wait) and the no-show timer starts.

This timer protects the courier: if the customer does not appear within the allotted time, the system auto-completes the delivery. The courier can move on to the next task without being stuck indefinitely at a door.

If the delivery cannot be completed — for example, the parcel requires a signature or the customer is unreachable — the courier can initiate the return-to-origin protocol.

Courier actions during delivery

arrived wait complete return-to-origin return-complete

The courier executes these actions in that order. Each action changes the order state and notifies the relevant parties.

When things go wrong

Not every order reaches DELIVERED. These are the exception paths and how the platform handles them.

Rejection by the merchant

If the merchant rejects an order, they must state a reason (product out of stock, establishment closed, insufficient capacity). The order moves to CANCELLED and the customer receives an automatic full refund. The merchant earns nothing for rejected orders.

Cancellation by the customer

The customer can cancel an order, but the cancellation policy determines whether they are charged. The general rule is:

When the cancellation happens Is the customer charged?
Before the merchant accepts (PENDING) No — full refund
After the merchant has accepted (PREPARING) Depends on the service type and the current policy
Once the courier has collected Generally yes — the order is already on its way

Return to origin

If the delivery fails — the customer is absent, the address is wrong or the parcel cannot be handed over — the courier initiates the return-to-origin action. The order is taken back to the originating point. The platform records who bears the cost of the failure, the reason and the associated risk. Once returned, the courier marks return-complete.

Orders are never deleted

A cancelled or refunded order is never removed from the system. It is kept as CANCELLED or FULLY_REFUNDED for fiscal compliance: every transaction must remain permanently on record to meet tax obligations.

Partial refund

A partial refund occurs when only part of the amount is returned — for example, if one item arrives damaged. The platform recalculates VAT proportionally to the amount refunded. The stock of the affected item returns to the merchant's inventory.

Scheduled orders

A customer can book a future time slot for their order. Scheduled orders enter the system with the state PENDING but are not processed until the agreed slot arrives. This allows customers to plan deliveries for midday, the afternoon or even the following day.

📅

Rescheduling

The customer can change the time slot of a scheduled order as long as the merchant has not yet accepted it. Once accepted, any change requires cancelling and placing a new order.

Cancelling a scheduled order

A scheduled order can be cancelled well in advance at no charge. The cancellation policy applies in the same way as for immediate orders once the merchant has started acting.

Popular during peak season

In summer, demand along the Mar Menor coast surges. Scheduled orders let customers lock in their preferred delivery slot without competing in real time for the available fleet.

What each persona sees

The same order is presented differently depending on who is looking at it. The table below summarises what information and actions are available to each person at each key state.

State Customer sees / can do Merchant sees / can do Courier sees / can do
PENDING "Order received, waiting for merchant" · can cancel New order notification · accepts or rejects Nothing yet — order is not ready for dispatch
PREPARING "Your order is being prepared" · live tracking Manages order on the kitchen rail · marks as ready May see an upcoming offer; 15-second countdown if received
READY_FOR_PICKUP "Ready, waiting for courier" Order ready; waiting for courier Active 15-second offer countdown
ASSIGNED Courier's name and live position on the map Name of assigned courier Full details: merchant, address, route, fee
ARRIVED "Your courier has arrived" · timer visible Order on its way to delivery Wait action active; no-show timer running
WAITING_CUSTOMER Push alert · "Call the courier" button No action required Timer running; return-to-origin option if it expires
DELIVERED "Delivered!" · can rate · points credited Order closed; enters settlement cycle Task closed; available for next offer
CANCELLED Cancellation notification · refund if applicable No earnings for this order Task withdrawn if already assigned
The Operations team has full visibility

The Operations console shows all active, scheduled and cancelled orders in real time. The team can intervene at any state: reassign a courier, force-cancel a stuck order or manage the return-to-origin queue.