Orders and Checkout

Understand the order data Uraibu should collect before a seller continues the conversation.

Uraibu should help sellers receive a clean order summary instead of a loose chat message.

Order lifecycle

A practical order lifecycle looks like this:

StatusMeaning
draftCustomer is still selecting products.
submittedCustomer has sent or confirmed the order.
acceptedSeller has accepted the order.
payment_pendingOrder is waiting for payment.
paidPayment has been confirmed.
preparingSeller is preparing the order.
ready_for_pickupOrder is ready at pickup location.
out_for_deliveryCourier or seller is delivering.
completedCustomer received the order.
cancelledOrder was cancelled.

Clean order payload

The API should preserve enough context for the dashboard, WhatsApp message, and fulfillment workflow:

{
  "storefrontReference": "freshbakes",
  "customer": {
    "name": "Amina Wanjiku",
    "phone": "+254700000000"
  },
  "items": [
    {
      "productReference": "mini-cake-box",
      "quantity": 2,
      "options": {
        "size": "12 pieces",
        "pickupTime": "14:00"
      }
    }
  ],
  "fulfillment": {
    "type": "pickup",
    "note": "Call when ready"
  },
  "payment": {
    "method": "mobile_money",
    "status": "pending"
  }
}

WhatsApp handoff

When an order is ready to continue in WhatsApp, generate a compact summary:

Order from Fresh Bakes

Customer: Amina Wanjiku
Phone: +254700000000

2 x Mini cake box
- Size: 12 pieces
- Pickup: 14:00

Fulfillment: Pickup
Payment: Mobile money pending
The seller should be able to copy, send, or automatically open this summary in the configured channel.