Checkout ReqSample Senarials
Good catches. Let me address each:
customerName → tag — yes, flexible label, not necessarily a name.
Rounds — when adding a round, cashier picks existing open bill from bills list, then creates new session linked to that bill. So we need billId in request — if null means new bill, if provided means add round to existing bill.
Tab ID — yes we need billId in request for rounds.
Let me redo all samples clean:
1. POS — Pay Now
{
"kitchenId": "uuid",
"sessionType": "IMMEDIATE",
"channel": "POS",
"fulfillmentType": "PICKUP",
"staffId": "uuid",
"paymentMethod": "CASH",
"tag": "John",
"orderInstructions": null,
"items": [
{"menuId": "uuid", "quantity": 2, "itemInstructions": null}
]
}
2. POS — Generate Slip
{
"kitchenId": "uuid",
"sessionType": "SLIP",
"channel": "POS",
"fulfillmentType": "PICKUP",
"staffId": "uuid",
"tag": "John",
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": "no salt"}
]
}
3. POS — Tab (Round 1, new bill)
{
"kitchenId": "uuid",
"sessionType": "TAB",
"channel": "POS",
"fulfillmentType": "DINE_IN",
"staffId": "uuid",
"tableNumber": "05",
"tag": "Family ya Mbeya",
"billId": null,
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": null}
]
}
4. POS — Tab (Round 2, existing bill)
{
"kitchenId": "uuid",
"sessionType": "TAB",
"channel": "POS",
"fulfillmentType": "DINE_IN",
"staffId": "uuid",
"tableNumber": "05",
"billId": "existing-bill-uuid",
"items": [
{"menuId": "uuid", "quantity": 2, "itemInstructions": null}
]
}
5. Kiosk — Cash Slip
{
"kitchenId": "uuid",
"sessionType": "SLIP",
"channel": "KIOSK",
"fulfillmentType": "PICKUP",
"items": [
{"menuId": "uuid", "quantity": 2, "itemInstructions": null}
]
}
6. Kiosk — Mobile Money (Immediate)
{
"kitchenId": "uuid",
"sessionType": "IMMEDIATE",
"channel": "KIOSK",
"fulfillmentType": "PICKUP",
"paymentMethod": "MOBILE_MONEY",
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": null}
]
}
7. Table QR — Pay on Phone
{
"kitchenId": "uuid",
"sessionType": "IMMEDIATE",
"channel": "TABLE_QR",
"fulfillmentType": "DINE_IN",
"tableNumber": "05",
"paymentMethod": "MOBILE_MONEY",
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": null}
]
}
8. Table QR — Pay at Cashier (Slip)
{
"kitchenId": "uuid",
"sessionType": "SLIP",
"channel": "TABLE_QR",
"fulfillmentType": "DINE_IN",
"tableNumber": "05",
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": null}
]
}
9. App — From Cart, Delivery
{
"sessionType": "IMMEDIATE",
"channel": "APP",
"fulfillmentType": "DELIVERY",
"paymentMethod": "MOBILE_MONEY",
"fromCart": true,
"deliveryAddress": {
"street": "Lumumba St",
"area": "Mbeya",
"city": "Mbeya",
"notes": "Green gate",
"latitude": -8.9,
"longitude": 33.4
}
}
10. WhatsApp — Delivery
{
"kitchenId": "uuid",
"sessionType": "IMMEDIATE",
"channel": "WHATSAPP",
"fulfillmentType": "DELIVERY",
"paymentMethod": "MOBILE_MONEY",
"customerPhone": "+255700000000",
"deliveryAddress": {
"street": "Lumumba St",
"area": "Mbeya",
"city": "Mbeya",
"notes": "Green gate",
"latitude": -8.9,
"longitude": 33.4
},
"items": [
{"menuId": "uuid", "quantity": 1, "itemInstructions": null}
]
}
All 10 scenarios covered. What do u think — anything off?