Skip to main content
This module contains all delivery-related models used for managing deliveries through third-party providers like UberDirect and Chaskis.
These delivery models are only present when delivery is handled by Châtaigne through third-party providers. If an order has delivery service type but these objects are not present, it means the delivery is handled by the store’s own delivery service.

DeliveryStatusDTO

Enum defining the various states of a delivery.
ValueDescription
pendingDelivery request has been created
assignedDelivery has been assigned to a courier
pickup_imminentCourier is approaching pickup location
en_routeCourier has picked up order and is traveling
dropoff_imminentCourier is approaching delivery location
deliveredOrder has been successfully delivered
cancelledDelivery has been cancelled
failedDelivery attempt failed

CourierDTO

Information about the delivery courier assigned to an order.
FieldTypeRequiredDescription
idstringYesUnique courier identifier
namestringYesCourier’s name
phonestringNoCourier’s phone number
imageUrlstringNoCourier’s profile image URL
latitudenumberNoCourier’s current latitude
longitudenumberNoCourier’s current longitude
vehicleTypestringNoType of vehicle (bike, car, scooter)
vehicleLicensePlatestringNoVehicle license plate number
vehicleColorstringNoVehicle color
vehicleModelstringNoVehicle model
locationDescriptionstringNoCurrent location description
ratingstringNoCourier’s rating

Courier Tracking

The courier model provides real-time tracking information including:
  • Location: Current GPS coordinates for live tracking
  • Vehicle Information: Details about the delivery vehicle for identification
  • Contact Information: Phone number for direct communication
  • Rating: Quality metric for courier performance

DeliveryDTO

Complete delivery information for orders handled by third-party providers.
FieldTypeRequiredDescription
idstringYesUnique delivery identifier
providerstringYesDelivery provider: “UberDirect” or “Chaskis”
statusDeliveryStatusDTOYesCurrent delivery status
deliveryAddressAddressDTONoDestination address
etaTimestringNoEstimated time of arrival
collectionCodestringNoCode for order pickup verification
trackingUrlstringNoURL for delivery tracking page
feesPriceDTONoDelivery fees
courierCourierDTONoAssigned courier information

Delivery Providers

The system currently supports two third-party delivery providers:

UberDirect

  • Integration with Uber’s delivery platform
  • Real-time courier tracking
  • Automated status updates
  • Professional courier network

Chaskis

  • Regional delivery service provider
  • Local courier network
  • Specialized in food delivery
  • Custom integration features

Delivery Lifecycle

  1. Order Creation: Delivery request is sent to the provider
  2. Assignment: Provider assigns a courier to the delivery
  3. Pickup: Courier arrives at restaurant to collect the order
  4. Transit: Courier travels to the delivery address
  5. Completion: Order is delivered to the customer

Status Updates

The delivery status is automatically updated throughout the delivery process:
  • Real-time status changes from delivery providers
  • Automatic customer notifications
  • ETA updates as courier progresses
  • Failed delivery handling and retry logic
The delivery object is only present for orders using third-party delivery providers. Store-managed deliveries use different tracking systems not covered by these models.