Delivery Management

Manage delivery zones, drivers, real-time tracking, and the delivery workflow

Delivery Management

Hayya includes built-in delivery management with zone-based coverage, driver tracking, and real-time order status updates for your customers.

Delivery Zones

Delivery zones define the areas your restaurant delivers to. Only customers inside an active zone can place delivery orders.

Creating a Zone

Go to Settings → Delivery Zones in the admin dashboard:

  1. Click Add Zone
  2. Give it a name (e.g., "Central District" — supports Arabic and English)
  3. Use the map to draw the area you deliver to
  4. Toggle it active to start accepting orders from that area
  5. Click Save

Managing Zones

You can:

  • Edit a zone to change its name or boundary
  • Toggle a zone on or off without deleting it
  • Delete a zone you no longer need

When a zone is turned off, customers in that area won't be able to place delivery orders.

Delivery Drivers

Driver Roles

Delivery drivers are staff members with the delivery agent role. They have access to a dedicated interface for managing deliveries.

Delivery drivers can:

  • See orders assigned to them
  • Update delivery status (picked up, en route, delivered)
  • Share their GPS location for real-time tracking
  • Update their own profile

They cannot access the admin dashboard or KDS.

Adding a Driver

  1. Go to Settings → Staff in the admin dashboard
  2. Click Add Staff
  3. Fill in their name, email, and phone
  4. Select Delivery Agent as their role
  5. Click Save

The driver will receive login credentials for the delivery app.

Driver Availability

Drivers can mark themselves as online or offline in the delivery app. Only online drivers can be assigned to new orders.

Delivery Order Workflow

How a Delivery Order Flows

  1. Customer places a delivery order
  2. Order appears in KDS as "New" — kitchen starts preparing
  3. Kitchen marks it as "Ready"
  4. A driver is assigned to pick it up
  5. Driver marks it as "Picked Up", then "En Route"
  6. Driver arrives and marks it as "Delivered"

An order can be cancelled at any point before delivery.

Assigning a Driver

From the orders view in the admin dashboard:

  1. Find the delivery order that's ready
  2. Click Assign Driver
  3. Enter the driver's name and an estimated time of arrival
  4. The driver receives the assignment in their app

Status Updates

Drivers update the delivery status from their app as they go:

  • Picked Up — Driver has the order from the restaurant
  • En Route — Driver is on the way to the customer
  • Arrived — Driver has reached the customer's location
  • Delivered — Order successfully handed over

Customer Tracking

When a delivery starts, the customer gets a tracking link. They can see:

  • Where the driver is on a map
  • Estimated time of arrival
  • Current status (e.g., "Your driver is on the way")

Admin Delivery Management

In the admin dashboard, you can:

  • See all delivery orders and their current status
  • View driver information for each delivery
  • Track driver location on a map (when available)
  • Assign drivers to orders
  • Update delivery status manually if needed

Delivery Settings

Configure delivery settings in Store Settings:

  • Operating hours — Delivery is only available during your open hours
  • Delivery zones — Only addresses within active zones are accepted
  • Minimum order amount — Set a minimum total for delivery orders
  • Estimated delivery time — Shown on your storefront so customers know what to expect