Mobile POS App Update Sale

PATCH

Update Sale Order

Modify an existing pending sale order. Recalculates items, payments, discounts, and service charges.

PATCH /app/sales/{id}

Request Body

JSON

    

Request Parameters

Parameter Type Required Validation Description
customer_id Integer Optional integer, nullable, exists ID of the customer (must be active status)
waiter_id Integer Optional integer, nullable, exists ID of the waiter/staff who served the order (must be active status)
date String (Date) Optional date, nullable, format:Y-m-d The specific sale date
time String (Time) Optional string, nullable, format:H:i:s The specific sale time
token_no String Optional string, nullable Queue token or buzzer reference number
take_away_type String Optional string, nullable Detailed take-away sub-category/type
order_type String Optional string, nullable Type of order (e.g. Dine In, Take Away)
total_quantity Numeric Optional numeric, nullable Calculated sum of all items and modifiers quantity
total_amount Numeric Optional numeric, nullable Gross total sales price before discounts/VAT
discount_percent Numeric Optional numeric, nullable Flat percentage discount to apply
discount_amount Numeric Optional numeric, nullable, min:0, lte:total_amount Flat currency discount amount (cannot exceed total amount)
vat_percent Numeric Optional numeric, nullable VAT/Tax percentage to apply
vat_amount Numeric Optional numeric, nullable Calculated VAT/Tax currency amount
used_points Numeric Optional numeric, nullable, min:0 Amount of loyalty points redeemed
point_discount_amount Numeric Optional numeric, nullable, min:0, lte:total_amount Discount currency amount derived from redeemed loyalty points
note String Optional string, nullable Additional customer notes or comments
items Array Required array, required Updated array of items to purchase (replaces existing items completely)
↳ items.*.product_id Integer Required integer, required, exists ID of the active product to purchase
↳ items.*.product_variant_id Integer Optional integer, nullable, exists ID of the product variant (Required if product supports variants)
↳ items.*.quantity Numeric Required numeric, required, min:0.01 Quantity of this product to buy
↳ items.*.parcel_quantity Numeric Optional numeric, nullable, min:0, lte:quantity Quantity of this product packed for takeaway/parcel
↳ items.*.unit_price Numeric Required numeric, required, min:0.01 Unit cost for a single item of this product
↳ items.*.note String Optional string, nullable Kitchen or prep instructions for this item
↳ items.*.addons Array Optional array, nullable List of active addons applied to this specific product
↳ items.*.addons.*.addon_id Integer Required integer, required, exists ID of the active addon (must belong to this product's configured addons)
↳ items.*.addons.*.quantity Numeric Required numeric, required, min:0.01 Addon quantity to apply
↳ items.*.addons.*.unit_price Numeric Required numeric, required, min:0.01 Unit cost for a single item of this addon
↳ items.*.addons.*.note String Optional string, nullable Optional modifier/addon preparation instruction
↳ items.*.flavors Array Optional array, nullable List of active flavors applied to this product
↳ items.*.flavors.*.flavor_id Integer Required integer, required, exists ID of the active flavor (must belong to this product's configured flavors)
↳ items.*.flavors.*.quantity Numeric Required numeric, required, min:0.01 Flavor quantity to apply
payments Array Optional array, nullable List of payments made for the sale (If pay-first setting is enabled, full amount payment is required)
↳ payments.*.fund_id Integer Required integer, required_with:payments, exists ID of the active payment fund (Cash Drawer, Card, etc.)
↳ payments.*.amount Numeric Required numeric, required_with:payments, min:0.01 The amount of money paid into this fund
↳ payments.*.payment_reference String Optional string, nullable Transaction ID, reference notes or card details
service_charges Array Optional array, nullable Custom service fees or charges to apply to the invoice
↳ service_charges.*.name String Required string, required_with:service_charges Name/label of the service charge (e.g. Delivery Fee)
↳ service_charges.*.amount Numeric Required numeric, required_with:service_charges, min:0.01 Fee amount to charge
↳ service_charges.*.note String Optional string, nullable Brief explanation or context for this custom fee

Response

200 OK
Status Code
HTTP status code (200)
Message
Sale successfully updated
Data
Complete sale resource details