POS Operations - Complete API Reference

Interactive Testing: Use the API Tester to test any endpoint with live requests and see responses in real-time.

POST Create Order
/api/v1/pos/orders

Create new order with items, customer, and order type

{
  "order_type_id": 1,
  "table_id": 5,
  "customer_id": 10,
  "items": [{
    "menu_item_id": 15,
    "quantity": 2,
    "price": 12.99,
    "note": "No onions"
  }],
  "discount_type": "percent",
  "discount_value": 10
}
curl -X POST "http://api.desibits.con/api/v1/pos/orders" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"order_type_id":1,"table_id":5,"items":[...]}'
fetch('http://api.desibits.con/api/v1/pos/orders', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    order_type_id: 1,
    table_id: 5,
    items: [...]
  })
})
.then(r => r.json());
{
  "success": true,
  "data": {
    "id": 123,
    "order_number": "ORD-001-123",
    "status": "draft",
    "total": 25.98
  }
}
GET Get Order Details
/api/v1/pos/orders/{id}

Retrieve complete order details

curl -X GET "http://api.desibits.con/api/v1/pos/orders/123" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "id": 123,
    "order_number": "ORD-001-123",
    "status": "billed",
    "items": [...],
    "payments": [...]
  }
}
GET List Orders
/api/v1/pos/orders

Get orders list with filters (status, table_id, date, payment_status)

PUT Update Order
/api/v1/pos/orders/{id}

Update order items, customer, or notes

PUT Update Order Status
/api/v1/pos/orders/{id}/status

Change order status: draft, kot, billed, paid, cancelled

POST Cancel Order
/api/v1/pos/orders/{id}/cancel

Cancel order with reason

POST Process Payment
/api/v1/pos/orders/{id}/payment

Process payment for an order

{
  "payment_method": "card",
  "amount": 45.99,
  "transaction_id": "TXN123456",
  "tip_amount": 5.00
}
curl -X POST "http://api.desibits.con/api/v1/pos/orders/123/payment" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"payment_method":"card","amount":45.99}'
{
  "success": true,
  "message": "Payment processed successfully",
  "data": {
    "payment_id": 456,
    "status": "paid"
  }
}
GET Get Payment Methods
/api/v1/pos/payment-methods

Get all available payment methods

curl -X GET "http://api.desibits.con/api/v1/pos/payment-methods" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": [
    {"id": 1, "name": "Cash", "code": "cash"},
    {"id": 2, "name": "Card", "code": "card"},
    {"id": 3, "name": "UPI", "code": "upi"}
  ]
}
POST Split Payment
/api/v1/pos/orders/{id}/split-payment

Split order payment between multiple methods

GET Get Payment Status
/api/v1/pos/orders/{id}/payment-status

Check payment status and remaining balance

POST Generate KOT
/api/v1/pos/orders/{id}/kot

Generate Kitchen Order Ticket

curl -X POST "http://api.desibits.con/api/v1/pos/orders/123/kot" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "kot_number": "KOT-001",
    "status": "sent_to_kitchen"
  }
}
POST Print KOT
/api/v1/pos/kot/{id}/print

Send KOT to kitchen printer

POST Reprint KOT
/api/v1/pos/kot/{id}/reprint

Reprint existing KOT

PUT Update KOT Status
/api/v1/pos/kot/{id}/status

Update KOT status: in_kitchen, food_ready, served

GET Get Kitchens
/api/v1/pos/kitchens

Get all kitchens with assigned menu items

GET Search Customers
/api/v1/pos/customers?search={query}

Search customers by name, phone, or email

GET Get Customer Details
/api/v1/pos/customers/{id}
POST Create Customer
/api/v1/pos/customers

GET Get Delivery Drivers
/api/v1/pos/delivery-drivers
POST Assign Delivery Driver
/api/v1/pos/orders/{id}/assign-driver
GET Get Delivery Platforms
/api/v1/pos/delivery-platforms
PUT Update Delivery Status
/api/v1/pos/orders/{id}/delivery-status

POST Validate Coupon
/api/v1/pos/coupons/validate
GET Get Active Coupons
/api/v1/pos/coupons
POST Apply Discount
/api/v1/pos/orders/{id}/discount

GET Get Order Types
/api/v1/pos/order-types
GET Get Tables
/api/v1/pos/tables
GET Get Table Details
/api/v1/pos/tables/{id}
PUT Update Table Status
/api/v1/pos/tables/{id}/status

POST Print Bill
/api/v1/pos/orders/{id}/print-bill
POST Print Invoice
/api/v1/pos/orders/{id}/print-invoice
POST Reprint KOT
/api/v1/pos/kot/{id}/reprint
GET Get Printers
/api/v1/pos/printers

GET Get POS Session
/api/v1/pos/session
POST Save to Session
/api/v1/pos/session/save
DELETE Clear Session
/api/v1/pos/session/clear
GET Get Held Orders
/api/v1/pos/session/held-orders