Fodista Public APIs
  1. POS Ordering
Fodista Public APIs
  • 👋 Introduction
  • 📋 Prerequisites
  • ⚠️ Disclaimer
  • Invoice History
    • Retrieve POS invoice history
      GET
  • Public Menu
    • List menu categories
      GET
    • List menu products
      GET
    • Fetch a single menu product
      GET
  • Online Ordering
    • Retrieve the assigned online store
      GET
    • Add a menu product to the cart
      POST
    • Update a cart item
      PUT
    • Remove menu products from the cart
      POST
    • Get cart totals
      GET
    • Get cart details
      GET
    • Update cart details
      PUT
    • Get address from coordinates
      GET
    • Checkout
      POST
    • List currently online branches
      GET
  • POS Ordering
    • Submit POS orders
      POST
  • General
    • Get External Job status
      GET
  • Schemas
    • Schemas
    • ErrorResponse
    • InvoiceTax
    • InvoiceSummary
    • CartTotals
    • CartModifier
    • CartItem
    • CartItemRequest
    • CartModifierRequest
    • CartSummary
    • CustomerPayload
    • MenuProductOrderType
    • MenuProductOptionCombination
    • MenuProductOptions
    • MenuProductModifierSettings
    • MenuProductModifierOption
    • MenuProductModifier
    • MenuProduct
    • MenuCategory
    • PosOrderRequest
    • PosOrder
    • PosOrderItem
    • PosOrderModifier
    • PosOrderTax
    • PosOrderPayment
    • PosOrderSubmitResponse
    • ExternalJobStatusResponse
  1. POS Ordering

Submit POS orders

POST
/api/method/public/pos-ordering/submit-orders
Accepts one or more POS orders from an external system. The endpoint opens a cashier session when needed, posts the orders, creates POS Invoices, and then closes the session. Requests with more than ten orders are queued, return a job id, and must be polled via the general job status endpoint to retrieve the final result. Rate limit: one submit orders request per minute; exceeding it returns HTTP 429 to protect the cashier session workflow. Each order's grand_total must equal the sum of item and modifier amounts plus total taxes minus any additional_discount_amount so the invoice values reconcile.

Request

Authorization
API Key
Add parameter in header
X-Access-Token
Example:
X-Access-Token: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Returns the created document ids when processed synchronously. Requests with more than ten orders return only a job id; call the general job status endpoint to poll and retrieve the eventual response payload.
Body

🟠401
🟠403
🟠429
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request POST '/api/method/public/pos-ordering/submit-orders' \
--header 'X-Access-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "period_start": "2025-03-20T09:00:00",
    "period_end": "2025-03-20T10:00:00",
    "restaurant_branch": "BR-001",
    "staff_member": "SM-0001",
    "orders": [
        {
            "name": "EXT-001",
            "order_type": "Dine In",
            "restaurant_brand": "BRAND-01",
            "is_return": 0,
            "posting_datetime": "2025-03-20T09:10:00",
            "items": [
                {
                    "name": "ITEM-001",
                    "menu_product": "MP-0001",
                    "qty": 2,
                    "amount": 120,
                    "modifiers": [
                        {
                            "name": "ITEM-001-MOD-001",
                            "menu_product": "MP-EXTRA",
                            "qty": 1,
                            "amount": 10
                        }
                    ]
                }
            ],
            "taxes_and_charges": [
                {
                    "account_head": "VAT - 14%",
                    "amount": 18
                }
            ],
            "payments": [
                {
                    "mode_of_payment": "Cash",
                    "amount": 148,
                    "reference_no": "TX-123"
                }
            ],
            "additional_discount_amount": 0,
            "grand_total": 148
        }
    ]
}'
Response Response Example
200 - Example 1
{
    "message": {
        "job_id": "string",
        "status": "string"
    }
}
Previous
List currently online branches
Next
Get External Job status
Built with