openapi: 3.0.3 info: title: Lavu (POSLavu) Inventory Tables API description: POST-based data API for the Lavu restaurant point-of-sale platform. A single request endpoint accepts form-encoded credentials (dataname, key, token) plus a `table` selector and returns XML `` elements for the requested table. The documented tables expose menu structure (menu_groups, menu_categories, menu_items), floor layout (tables), and transactions (orders, order_contents, order_payments) along with inventory data (ingredients, ingredient_usage). Records can be written by adding `cmd=insert` and an XML `contents` payload. Documentation is published at admin.poslavu.com and credentials are retrieved from the API tab of the POSLavu Control Panel. version: '1.0' contact: name: Kin Lane email: kin@apievangelist.com x-generated-from: documentation x-source-url: https://admin.poslavu.com/cp/areas/api_doc.html x-last-validated: '2026-06-02' servers: - url: https://admin.poslavu.com/cp/reqserv description: Read endpoint (query tables) - url: https://admin.poslavu.com/v2/reqserv description: Insert endpoint (write records) tags: - name: Tables description: Restaurant floor table layout. paths: /: post: operationId: queryTable summary: Lavu Query a POSLavu Table description: Retrieve rows from a POSLavu data table. Provide the `dataname`, `key`, and `token` credentials from the API tab of the POSLavu Control Panel, select the `table`, and optionally filter with `column`/`value` (exact match) or `column`/`value_min`/`value_max` (range), and paginate with `limit` (offset,count). Responses are returned as XML `` elements. tags: - Tables requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QueryRequest' examples: QueryTableRequestExample: summary: Default queryTable request x-microcks-default: true value: dataname: MyRestaurant key: a1b2c3d4e5f6 token: f6e5d4c3b2a1 table: orders column: closed value_min: '2011-01-01 00:00:00' value_max: '2011-02-01 00:00:00' limit: 0,20 responses: '200': description: XML document containing zero or more `` elements. content: application/xml: schema: $ref: '#/components/schemas/RowList' examples: QueryTable200Example: summary: Default queryTable 200 response x-microcks-default: true value: row: - id: '1' order_id: '1' location: Dev West Side location_id: '9' opened: '2010-10-06 12:01:20' closed: '2011-01-26 17:16:31' subtotal: '40.50' taxrate: '0.06875' tax: '2.78' total: '43.28' server: Ancori Lifigi server_id: '5' tablename: Booth 7 send_status: '1' discount: '0.00' discount_sh: '' gratuity: '0.00' gratuity_percent: '0.2250' card_gratuity: '0.00' cash_paid: '46.64' card_paid: '0.00' gift_certificate: '0.00' change_amount: '3.36' reopen_refund: '0.00' void: '1' cashier: Ancori Lifigi cashier_id: '5' auth_by: '' auth_by_id: '0' guests: '1' email: '' permission: '0' check_has_printed: '1' no_of_checks: '2' card_desc: '' transaction_id: '' multiple_tax_rates: '0' tab: '0' original_id: '0' deposit_status: '0' register: '' refunded: '0' refund_notes: '' refunded_cc: '' refund_notes_cc: '' refunded_by: '0' refunded_by_cc: '0' cash_tip: '' discount_value: '' reopened_datetime: '' discount_type: '' deposit_amount: '' subtotal_without_deposit: '' togo_status: '' togo_phone: '' togo_time: '' cash_applied: '43.28' rounding_amount: '' security: - posLavuCredentials: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: RowList: type: object description: A list of table rows returned by a query. properties: row: type: array description: The returned rows. Each row's fields depend on the queried table. items: type: object additionalProperties: true QueryRequest: type: object description: Form-encoded fields for a table query request. required: - dataname - key - token - table properties: dataname: type: string description: Account data name from the API tab of the POSLavu Control Panel. example: MyRestaurant key: type: string description: API key from the API tab of the POSLavu Control Panel. example: a1b2c3d4e5f6 token: type: string description: API token from the API tab of the POSLavu Control Panel. example: f6e5d4c3b2a1 table: type: string description: The data table to query. enum: - menu_groups - menu_categories - menu_items - tables - orders - order_contents - order_payments - ingredients - ingredient_usage example: orders column: type: string description: Column name to filter on. example: closed value: type: string description: Exact value to match for the filter column. example: '1' value_min: type: string description: Inclusive lower bound for a range filter on the filter column. example: '2011-01-01 00:00:00' value_max: type: string description: Inclusive upper bound for a range filter on the filter column. example: '2011-02-01 00:00:00' limit: type: string description: Pagination control in `offset,count` format (e.g. `0,20`). example: 0,20 securitySchemes: posLavuCredentials: type: apiKey in: query name: token description: POSLavu requests are authenticated with three form-encoded credentials (`dataname`, `key`, `token`) issued in the API tab of the POSLavu Control Panel. OpenAPI cannot express a multi-field credential as a single scheme; the `token` field is declared here as the representative credential and all three are required on every request.