{"swagger": "2.0", "info": {"title": "Lavu API", "description": "# LAVU API Documentation\n\nWelcome to the Lavu API Documentation!\n\nThis documentation is under completion and soon we'll be ready.\n\nIf you're seeing this document in such early stage, that means\nwe love you so much to come together so far!\n\nYou can access the documentation in 2 formats:\n\n* [Swagger](/docs/swagger/)  _[[`JSON`](/docs/swagger.json) | [`YAML`](http://127.0.0.1:8000/docs/swagger.yaml)]_\n* [ReDoc](/docs/redoc/)\n\n\n### Authentication\n\nLavuAPI is completely protected and requires authentication to access any of \nthe endpoints, including the documentation.\n\nThere are 2 types of authentication supported:\n\n* OAuth 2\n* Session based login\n\n\n#### OAuth 2 Dance\n\nTo work with LavuAPI.Customer, the user should authorize the OAuth application\nexplicitly.\n\nLavu API OAuth 2 endpoints that you'd need to authorize an application\nare as follow:\n\n* [`/oauth/authorize/`](/oauth/authorize/)\n* [`/oauth/token/`](/oauth/token/)\n* [`/oauth/revoke-token/`](/oauth/revoke-token/)\n\nOnce you've been authorized and exchanged the `access_token` you may \nget the User data by [`/customer/profile/`](/api/v1/customer/profile/) endpoint that \nreturns authorized user data:\n\n```json\n{\n  \"id\": 0,\n  \"username\": \"myUserName\",\n  \"email\": \"user@example.com\",\n  \"dataname\": \"string\",\n  \"restaurant\": 0\n}\n```\n\n#### Login via Session (browserable API)\n\nYou can access the API via the browserable API interface as well \nwhich will give a better visualization when working with it.\n\nIt supports query, pagination, filtering, ordering and almost all the features\nprovided by the API.\n\nFirst you need to [`login`](/accounts/login/), once you've logged\nin successfully you can navigate through the API.\n\n#### OAuth Scopes\n\nEach endpoint has a unique scope to access and consume it.\nYou can find each required scope for any endpoint by looking at \ntheir documentation on either Swagger, ReDoc or browserable API.\n\n### Customers API\n\nAll the data regarding customer that user authorize the access to are\nunder [`/api/v1/customer/`](/api/v1/customer/)\n\n", "termsOfService": "https://www.lavu.com/terms-of-service", "contact": {"email": "support@lavu.com"}, "license": {"name": "All Right Reserved."}, "version": "v1"}, "host": "api.lavu.com", "schemes": ["http"], "basePath": "/api", "consumes": ["application/json"], "produces": ["application/json"], "securityDefinitions": {"Basic": {"type": "basic"}}, "security": [{"Basic": []}], "paths": {"/token/": {"post": {"operationId": "token_create", "summary": "Obtain JWT Access/Refresh Token for JWT Authentication.", "description": "Know more about JWT: https://jwt.io/introduction/", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/TokenObtainPairSerializer"}}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/JWTToken"}}}, "tags": ["token"]}, "parameters": []}, "/token/refresh/": {"post": {"operationId": "token_refresh_create", "summary": "Refresh the JWT Token when it's about to expire or has been expired already.", "description": "You'll receive a JWT token that is expiration time has been extended can be used\nfor subsequent authenticated API calls.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/JWTRefreshToken"}}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/JWTRefreshTokenResponse"}}}, "tags": ["token"]}, "parameters": []}, "/token/verify/": {"post": {"operationId": "token_verify_create", "summary": "Verifies the Access token to be valid for making authenticated API calls.", "description": "If the JWT token is invalid, you may use [refresh token endpoint](/api/token/refresh/)\nto exchange the refresh token received by [token](/api/token/) for a\nvalid and extended JWT access token.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/JWTVerifyToken"}}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/JWTVerifyTokenResponse"}}}, "tags": ["token"]}, "parameters": []}, "/v1/customer/location/": {"get": {"operationId": "v1_customer_location_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/LocationSerializer"}}}, "tags": ["v1"]}, "parameters": []}, "/v1/customer/menus/": {"get": {"operationId": "v1_customer_menus_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "search", "in": "query", "description": "A search term.", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/MenuSerializer"}}}}}}, "tags": ["v1"]}, "parameters": []}, "/v1/customer/menus/{id}/": {"get": {"operationId": "v1_customer_menus_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/MenuSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this menu.", "required": true, "type": "integer"}]}, "/v1/customer/orders/": {"get": {"operationId": "v1_customer_orders_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "search", "in": "query", "description": "A search term.", "required": false, "type": "string"}, {"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}, {"name": "order_id", "in": "query", "description": "order_id exact filter.", "required": false, "type": "string"}, {"name": "id", "in": "query", "description": "ID filter, will return the exact Order by their Primary Key / ID.", "required": false, "type": "number"}, {"name": "last_modified__gt", "in": "query", "description": "Last modified datetime greater than (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__gte", "in": "query", "description": "Last modified datetime greater than or equal (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__lt", "in": "query", "description": "Last modified datetime less than (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__lte", "in": "query", "description": "Last modified datetime less than or equal (timezone in UTC)", "required": false, "type": "string"}, {"name": "opened", "in": "query", "description": "Order Opened datetime equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__gt", "in": "query", "description": "Order Opened datetime greater than (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__gte", "in": "query", "description": "Order opened datetime greater than or equal to (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__lt", "in": "query", "description": "Order Opened datetime less than (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__lte", "in": "query", "description": "Order Opened datetime less than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed", "in": "query", "description": "Order Closed datetime equal to (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__gt", "in": "query", "description": "Order Closed datetime greater than (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__gte", "in": "query", "description": "Order Closed datetime greater than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__lt", "in": "query", "description": "Order Closed datetime less than (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__lte", "in": "query", "description": "Order Closed datetime less than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderSerializer"}}}}}}, "tags": ["v1"]}, "parameters": []}, "/v1/customer/orders/{id}/": {"get": {"operationId": "v1_customer_orders_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Order.", "required": true, "type": "integer"}]}, "/v1/customer/orders/{order_pk}/checks/": {"get": {"operationId": "v1_customer_orders_checks_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderChecksSerializer"}}}}}}, "tags": ["v1"]}, "parameters": [{"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/checks/{check_pk}/payments/": {"get": {"operationId": "v1_customer_orders_checks_payments_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderCheckPaymentsSerializer"}}}}}}, "tags": ["v1"]}, "parameters": [{"name": "check_pk", "in": "path", "required": true, "type": "string"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/checks/{check_pk}/payments/{id}/": {"get": {"operationId": "v1_customer_orders_checks_payments_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderCheckPaymentsSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "check_pk", "in": "path", "required": true, "type": "string"}, {"name": "id", "in": "path", "description": "A unique integer value identifying this cc transaction.", "required": true, "type": "integer"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/checks/{id}/": {"get": {"operationId": "v1_customer_orders_checks_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderChecksSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Order.", "required": true, "type": "integer"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/items/": {"get": {"operationId": "v1_customer_orders_items_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "search", "in": "query", "description": "A search term.", "required": false, "type": "string"}, {"name": "order_id", "in": "query", "description": "", "required": false, "type": "string"}, {"name": "id", "in": "query", "description": "", "required": false, "type": "number"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderItemSerializer"}}}}}}, "tags": ["v1"]}, "parameters": [{"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/items/{id}/": {"get": {"operationId": "v1_customer_orders_items_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderItemSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Order Content.", "required": true, "type": "integer"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/items/{item_pk}/modifiers-used/": {"get": {"operationId": "v1_customer_orders_items_modifiers-used_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "search", "in": "query", "description": "A search term.", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderModifierUsedSerializer"}}}}}}, "tags": ["v1"]}, "parameters": [{"name": "item_pk", "in": "path", "required": true, "type": "string"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/orders/{order_pk}/items/{item_pk}/modifiers-used/{id}/": {"get": {"operationId": "v1_customer_orders_items_modifiers-used_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderModifierUsedSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Modifier Used.", "required": true, "type": "integer"}, {"name": "item_pk", "in": "path", "required": true, "type": "string"}, {"name": "order_pk", "in": "path", "required": true, "type": "string"}]}, "/v1/customer/payment-types/": {"get": {"operationId": "v1_customer_payment-types_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/PaymentTypeSerializer"}}}}}}, "tags": ["v1"]}, "parameters": []}, "/v1/customer/payment-types/{id}/": {"get": {"operationId": "v1_customer_payment-types_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/PaymentTypeSerializer"}}}, "tags": ["v1"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Payment Type.", "required": true, "type": "integer"}]}, "/v1/customer/profile/": {"get": {"operationId": "v1_customer_profile_read", "summary": "Customer User Profile.", "description": "This endpoint will return information of the currently authenticated user\nthat is using the API.\n\nOn OAuth, it requires `customer_profile` scope.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/UserProfileSerializer"}}}, "tags": ["v1"]}, "parameters": []}, "/v2/create-payment-record/": {"post": {"operationId": "v2_create-payment-record_create", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/CreatePaymentRecordSerializer"}}], "responses": {"201": {"description": "", "schema": {"$ref": "#/definitions/CreatePaymentRecordSerializer"}}}, "tags": ["v2"]}, "parameters": []}, "/v2/customer/close-order/": {"post": {"operationId": "v2_customer_close-order_create", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"201": {"description": ""}}, "tags": ["v2"]}, "parameters": []}, "/v2/customer/create-order/": {"post": {"operationId": "v2_customer_create-order_create", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/LavuApiOrderSerializer"}}], "responses": {"201": {"description": "", "schema": {"$ref": "#/definitions/LavuApiOrderSerializer"}}}, "tags": ["v2"]}, "parameters": []}, "/v2/customer/orders/": {"get": {"operationId": "v2_customer_orders_list", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "search", "in": "query", "description": "A search term.", "required": false, "type": "string"}, {"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}, {"name": "order_id", "in": "query", "description": "order_id exact filter.", "required": false, "type": "string"}, {"name": "id", "in": "query", "description": "ID filter, will return the exact Order by their Primary Key / ID.", "required": false, "type": "number"}, {"name": "last_modified__gt", "in": "query", "description": "Last modified datetime greater than (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__gte", "in": "query", "description": "Last modified datetime greater than or equal (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__lt", "in": "query", "description": "Last modified datetime less than (timezone in UTC)", "required": false, "type": "string"}, {"name": "last_modified__lte", "in": "query", "description": "Last modified datetime less than or equal (timezone in UTC)", "required": false, "type": "string"}, {"name": "opened", "in": "query", "description": "Order Opened datetime equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__gt", "in": "query", "description": "Order Opened datetime greater than (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__gte", "in": "query", "description": "Order opened datetime greater than or equal to (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__lt", "in": "query", "description": "Order Opened datetime less than (terminal's timezone)", "required": false, "type": "string"}, {"name": "opened__lte", "in": "query", "description": "Order Opened datetime less than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed", "in": "query", "description": "Order Closed datetime equal to (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__gt", "in": "query", "description": "Order Closed datetime greater than (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__gte", "in": "query", "description": "Order Closed datetime greater than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__lt", "in": "query", "description": "Order Closed datetime less than (terminal's timezone)", "required": false, "type": "string"}, {"name": "closed__lte", "in": "query", "description": "Order Closed datetime less than or equal (terminal's timezone)", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}, {"name": "offset", "in": "query", "description": "The initial index from which to return the results.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/OrderSerializer"}}}}}}, "tags": ["v2"]}, "parameters": []}, "/v2/customer/orders/{id}/": {"get": {"operationId": "v2_customer_orders_read", "description": "Wrapped class to override the actions for multi database support.", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/OrderSerializer"}}}, "tags": ["v2"]}, "parameters": [{"name": "id", "in": "path", "description": "A unique integer value identifying this Order.", "required": true, "type": "integer"}]}, "/v2/external-payment/{payment_id}/create-payment/": {"post": {"operationId": "v2_external-payment_create-payment_create", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/CreatePaymentRecordSerializer"}}], "responses": {"201": {"description": "", "schema": {"$ref": "#/definitions/CreatePaymentRecordSerializer"}}}, "tags": ["v2"]}, "parameters": [{"name": "payment_id", "in": "path", "required": true, "type": "string"}]}, "/v2/payment-intent/{intent_id}/": {"post": {"operationId": "v2_payment-intent_create", "description": "Wrapped class to override the actions for multi database support.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/IndividualPaymentIntentSerializer"}}], "responses": {"201": {"description": "", "schema": {"$ref": "#/definitions/IndividualPaymentIntentSerializer"}}}, "tags": ["v2"]}, "parameters": [{"name": "intent_id", "in": "path", "required": true, "type": "string"}]}}, "definitions": {"TokenObtainPairSerializer": {"required": ["username", "password"], "type": "object", "properties": {"username": {"title": "Username", "type": "string", "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}}}, "JWTToken": {"required": ["access", "refresh"], "type": "object", "properties": {"access": {"title": "Access", "description": "Access token to be used for subsequent authenticated API calls.", "type": "string", "minLength": 1}, "refresh": {"title": "Refresh", "description": "Refresh token to be used for refreshing access token when/before it expires.", "type": "string", "minLength": 1}}}, "JWTRefreshToken": {"required": ["refresh"], "type": "object", "properties": {"refresh": {"title": "Refresh", "description": "Refresh token to exchange for a refreshed token.", "type": "string", "minLength": 1}}}, "JWTRefreshTokenResponse": {"required": ["access"], "type": "object", "properties": {"access": {"title": "Access", "description": "Refreshed Access token to be used for subsequent authenticated API calls.", "type": "string", "minLength": 1}}}, "JWTVerifyToken": {"required": ["token"], "type": "object", "properties": {"token": {"title": "Token", "description": "Token to verify it's valid.", "type": "string", "minLength": 1}}}, "JWTVerifyTokenResponse": {"type": "object", "properties": {}}, "LocationSerializer": {"required": ["zip", "phone", "monitary_symbol", "timezone"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 100}, "address": {"title": "Address", "type": "string", "maxLength": 100}, "city": {"title": "City", "type": "string", "maxLength": 100}, "state": {"title": "State", "type": "string", "maxLength": 25}, "zip": {"title": "Zip", "type": "string", "maxLength": 100, "minLength": 1}, "phone": {"title": "Phone", "type": "string", "maxLength": 255, "minLength": 1}, "website": {"title": "Website", "type": "string", "maxLength": 100}, "tax_rate": {"title": "Tax rate", "type": "number"}, "monitary_symbol": {"title": "Monitary symbol", "type": "string", "maxLength": 25, "minLength": 1}, "secondary_monitary_symbol": {"title": "Secondary monitary symbol", "type": "string", "maxLength": 25}, "timezone": {"title": "Timezone", "type": "string", "maxLength": 255, "minLength": 1}}}, "MenuSerializer": {"required": ["name", "created_by", "modifications"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Title", "type": "string", "maxLength": 100, "minLength": 1}, "created_by": {"title": "Created by", "type": "string", "maxLength": 100, "minLength": 1}, "modifications": {"title": "Modifications", "type": "string", "minLength": 1}, "groups": {"title": "Groups", "description": "Link to Groups associated with this Menu.", "type": "string", "format": "uri", "readOnly": true}}}, "OrderLocation": {"title": "Location", "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 100}}}, "OrderItemMenuItemCategoryGroup": {"title": "Group", "required": ["name"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}, "OrderItemMenuItemCategorySuperGroup": {"title": "Super group", "required": ["name"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}, "OrderItemMenuItemCategory": {"title": "Category", "required": ["name", "group", "super_group"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "group": {"$ref": "#/definitions/OrderItemMenuItemCategoryGroup"}, "super_group": {"$ref": "#/definitions/OrderItemMenuItemCategorySuperGroup"}}}, "OrderItemMenuItem": {"title": "Menu item", "required": ["name", "category"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "tax_profile": {"title": "Tax profile", "type": "string", "readOnly": true}, "category": {"$ref": "#/definitions/OrderItemMenuItemCategory"}}}, "OrderItemModifier": {"title": "Modifier", "type": "object", "properties": {"id": {"title": "Id", "type": "integer", "x-nullable": true}, "name": {"title": "Name", "type": "string", "minLength": 1, "x-nullable": true}, "modifier_list": {"title": "Modifier list", "type": "object", "readOnly": true}}}, "OrderModifierUsed": {"title": "Modifiers used", "description": "\n        Returns modifiers used for the the OrderContent.\n\n        Since such data are not connected via a right database relationship\n        they're being loaded via app level prefetch from database and then\n        moved into list of ModifierUsed objects as:\n\n        ```\n        modifiers_used = [\n            ModifierUsed,\n            ModifierUsed,\n            ...\n        ]\n        ```\n\n        and then passed into the serializers context.\n\n        Because they're all pre-fetched via the parent serializers\n        there will no extra database hits.\n        ", "required": ["modifier", "quantity"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "modifier": {"$ref": "#/definitions/OrderItemModifier"}, "quantity": {"title": "Quantity", "type": "string", "maxLength": 255, "minLength": 1}, "cost": {"title": "Cost", "type": "string", "format": "decimal"}}}, "Discount": {"title": "Discount", "required": ["id"], "type": "object", "properties": {"id": {"title": "Id", "type": "string", "minLength": 1}, "rate": {"title": "Rate", "type": "string", "format": "decimal"}, "type": {"title": "Type", "type": "string", "readOnly": true, "minLength": 1}, "amount": {"title": "Amount", "type": "string", "format": "decimal", "readOnly": true}}}, "OrderItem": {"title": "Items", "description": "\n        Returns Order's Items/OrderContent.\n\n        ModifierUsed objects of the Order have been pre-prefetched\n        via `api.v1.customer.views.OrderViewSet` view class to speed up the\n        performance of modifiers used lookup.\n\n        ModifierUsed objects are looked up via OrderItemSerializer field\n        and to passed to OrderModifierUsedSerializer via OrderItemSerializer\n        through serializers context.\n        ", "required": ["quantity", "notes"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "quantity": {"title": "Quantity", "type": "string", "format": "decimal"}, "price": {"title": "Price", "type": "string", "format": "decimal"}, "price_with_modifiers": {"title": "Price with modifiers", "type": "string", "format": "decimal", "readOnly": true}, "subtotal": {"title": "Subtotal", "description": "Subtotal (Price + Modifiers Price - Discount)", "type": "string", "format": "decimal", "readOnly": true}, "menu_item": {"$ref": "#/definitions/OrderItemMenuItem"}, "modifiers_used": {"$ref": "#/definitions/OrderModifierUsed"}, "discount": {"$ref": "#/definitions/Discount"}, "is_voided": {"title": "Is voided", "type": "boolean"}, "notes": {"title": "Notes", "type": "string", "minLength": 1}}}, "OrderCheckItems": {"required": ["id", "quantity", "total_item_price_with_mods", "item_discount", "check_discount", "total_with_tax"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "quantity": {"title": "Quantity", "type": "string", "minLength": 1}, "total_item_price_with_mods": {"title": "Total item price with mods", "description": "Total price of item with modifiers, without tax, and without discounts applied.", "type": "string", "format": "decimal"}, "item_discount": {"title": "Item discount", "description": "Total amount of item-level discount applied to item without check-level discount.", "type": "string", "format": "decimal"}, "check_discount": {"title": "Check discount", "description": "Total amount of check-level discount applied to item without item-level discount.", "type": "string", "format": "decimal"}, "total_with_tax": {"title": "Total with tax", "description": "Total amount of item including discounts and tax.", "type": "string", "format": "decimal"}}}, "OrderCheckPaymentStatus": {"title": "Status", "type": "object", "properties": {"is_voided": {"title": "Is voided", "type": "boolean", "default": false}, "reason": {"title": "Reason", "type": "string", "default": "", "minLength": 1, "x-nullable": true}}}, "OrderCheckPayments": {"required": ["id", "action", "received", "paid", "change", "card_tip", "status"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "action": {"title": "Action", "type": "string", "minLength": 1}, "received": {"title": "Received", "description": "Total received before change given back to customer.", "type": "string", "format": "decimal"}, "paid": {"title": "Paid", "description": "Amount applied from payment to check. Same as received - change.", "type": "string", "format": "decimal"}, "change": {"title": "Change", "description": "Amount returned to customer", "type": "string", "format": "decimal"}, "card_tip": {"title": "Card tip", "description": "CC Tip amount specified by customer on CC receipt.", "type": "string", "format": "decimal"}, "type": {"title": "Type", "type": "string", "minLength": 1, "x-nullable": true}, "card_last_4": {"title": "Card last 4", "type": "string", "minLength": 1, "x-nullable": true}, "card_type": {"title": "Card type", "type": "string", "minLength": 1, "x-nullable": true}, "status": {"$ref": "#/definitions/OrderCheckPaymentStatus"}, "created": {"title": "Created", "type": "string", "minLength": 1, "x-nullable": true}}}, "OrderChecks": {"title": "Checks", "description": "\n        Returns Order's checks.\n\n        `checks` method has been implemented on Order model and to\n        prevent extra calls to database due to the way checks method\n        retrieves Order checks, performance wise it would help a lot to\n        pre-fetch the necessary data such as:\n\n        * Order's Item/OrderContent\n        * Order's Split Check Details\n        * Order's Transactions\n\n        All these attributes have been set on the Order instance via the\n        queryset optimization done on the `api.v1.customer.views.OrderViewSet`\n        where all the foreign keys and reverse relationships of the Order\n        model has been implemented.\n        ", "required": ["id", "check_id", "subtotal", "tax", "total", "items", "balance", "discount", "payments", "gratuity"], "type": "object", "properties": {"id": {"title": "Id", "description": "Check Primary Key to use for lookup.", "type": "integer"}, "check_id": {"title": "Check id", "description": "Check Number on the order.", "type": "integer"}, "subtotal": {"title": "Subtotal", "type": "string", "format": "decimal"}, "tax": {"title": "Tax", "type": "string", "format": "decimal"}, "total": {"title": "Total", "type": "string", "format": "decimal"}, "items": {"type": "array", "items": {"$ref": "#/definitions/OrderCheckItems"}}, "balance": {"title": "Balance", "type": "string", "format": "decimal"}, "discount": {"$ref": "#/definitions/Discount"}, "payments": {"type": "array", "items": {"$ref": "#/definitions/OrderCheckPayments"}}, "gratuity": {"title": "Gratuity", "description": "Gratuity added prior to presenting the check to the customer", "type": "string", "format": "decimal"}}}, "OrderEmployeeRole": {"required": ["name"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}, "OrderEmployee": {"title": "Employee", "required": ["roles"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true}, "roles": {"type": "array", "items": {"$ref": "#/definitions/OrderEmployeeRole"}}}}, "OrderStatus": {"title": "Status", "required": ["is_voided", "void_reason"], "type": "object", "properties": {"is_voided": {"title": "Is voided", "type": "boolean"}, "void_reason": {"title": "Void reason", "type": "string", "minLength": 1}}}, "OrderSerializer": {"required": ["cash_tip", "opened", "closed", "number_of_guests"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "cash_tip": {"title": "Cash tip", "description": "Cash tip left by customer on the table, regardless of how many checks.", "type": "string", "format": "decimal"}, "order_id": {"title": "Order id", "type": "string", "readOnly": true, "minLength": 1}, "ioid": {"title": "Ioid", "description": "Internal Order Identifier is a more rigorous identifier than the order_id and is most often used internally.", "type": "string", "readOnly": true, "minLength": 1}, "location": {"$ref": "#/definitions/OrderLocation"}, "terminal": {"title": "Terminal", "type": "string", "readOnly": true, "x-nullable": true}, "opened": {"title": "Opened", "type": "string", "maxLength": 30, "minLength": 1}, "closed": {"title": "Closed", "type": "string", "maxLength": 30, "minLength": 1}, "number_of_guests": {"title": "Number of guests", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tablename": {"title": "Tablename", "type": "string", "maxLength": 255, "minLength": 1}, "items": {"$ref": "#/definitions/OrderItem"}, "checks": {"$ref": "#/definitions/OrderChecks"}, "employee": {"$ref": "#/definitions/OrderEmployee"}, "last_modified": {"title": "Last modified", "type": "string", "format": "date-time", "readOnly": true}, "status": {"$ref": "#/definitions/OrderStatus"}, "merges": {"description": "Order ids listing other orders that have merged into this order.", "type": "array", "items": {"type": "string", "minLength": 1}, "readOnly": true}}}, "OrderChecksSerializer": {"required": ["id", "check_id", "subtotal", "tax", "total", "items", "balance", "discount", "payments", "gratuity"], "type": "object", "properties": {"id": {"title": "Id", "description": "Check Primary Key to use for lookup.", "type": "integer"}, "check_id": {"title": "Check id", "description": "Check Number on the order.", "type": "integer"}, "subtotal": {"title": "Subtotal", "type": "string", "format": "decimal"}, "tax": {"title": "Tax", "type": "string", "format": "decimal"}, "total": {"title": "Total", "type": "string", "format": "decimal"}, "items": {"type": "array", "items": {"$ref": "#/definitions/OrderCheckItems"}}, "balance": {"title": "Balance", "type": "string", "format": "decimal"}, "discount": {"$ref": "#/definitions/Discount"}, "payments": {"type": "array", "items": {"$ref": "#/definitions/OrderCheckPayments"}}, "gratuity": {"title": "Gratuity", "description": "Gratuity added prior to presenting the check to the customer", "type": "string", "format": "decimal"}}}, "OrderCheckPaymentsSerializer": {"required": ["id", "action", "received", "paid", "change", "card_tip", "status"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "action": {"title": "Action", "type": "string", "minLength": 1}, "received": {"title": "Received", "description": "Total received before change given back to customer.", "type": "string", "format": "decimal"}, "paid": {"title": "Paid", "description": "Amount applied from payment to check. Same as received - change.", "type": "string", "format": "decimal"}, "change": {"title": "Change", "description": "Amount returned to customer", "type": "string", "format": "decimal"}, "card_tip": {"title": "Card tip", "description": "CC Tip amount specified by customer on CC receipt.", "type": "string", "format": "decimal"}, "type": {"title": "Type", "type": "string", "minLength": 1, "x-nullable": true}, "card_last_4": {"title": "Card last 4", "type": "string", "minLength": 1, "x-nullable": true}, "card_type": {"title": "Card type", "type": "string", "minLength": 1, "x-nullable": true}, "status": {"$ref": "#/definitions/OrderCheckPaymentStatus"}, "created": {"title": "Created", "type": "string", "minLength": 1, "x-nullable": true}}}, "OrderItemSerializer": {"required": ["quantity", "notes"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "quantity": {"title": "Quantity", "type": "string", "format": "decimal"}, "price": {"title": "Price", "type": "string", "format": "decimal"}, "price_with_modifiers": {"title": "Price with modifiers", "type": "string", "format": "decimal", "readOnly": true}, "subtotal": {"title": "Subtotal", "description": "Subtotal (Price + Modifiers Price - Discount)", "type": "string", "format": "decimal", "readOnly": true}, "menu_item": {"$ref": "#/definitions/OrderItemMenuItem"}, "modifiers_used": {"$ref": "#/definitions/OrderModifierUsed"}, "discount": {"$ref": "#/definitions/Discount"}, "is_voided": {"title": "Is voided", "type": "boolean"}, "notes": {"title": "Notes", "type": "string", "minLength": 1}}}, "OrderModifierUsedSerializer": {"required": ["modifier", "quantity"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "modifier": {"$ref": "#/definitions/OrderItemModifier"}, "quantity": {"title": "Quantity", "type": "string", "maxLength": 255, "minLength": 1}, "cost": {"title": "Cost", "type": "string", "format": "decimal"}}}, "PaymentTypeSerializer": {"required": ["name", "display_order"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "display_order": {"title": "Display order", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "access_level": {"title": "Access level", "type": "integer", "enum": ["Access Level 1", "Access Level 2", "Access Level 3", "Access Level 4"]}, "is_hidden": {"title": "Is hidden", "type": "boolean"}}}, "UserProfileSerializer": {"required": ["username", "email", "dataname", "restaurant"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "username": {"title": "Username", "description": "User's username.", "type": "string", "maxLength": 255, "minLength": 1}, "email": {"title": "Email", "description": "User's email address.", "type": "string", "format": "email", "maxLength": 254, "minLength": 1}, "dataname": {"title": "Dataname", "type": "string", "maxLength": 255, "minLength": 1}, "restaurant": {"title": "Restaurant", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}}}, "CreatePaymentRecordSerializer": {"required": ["order_id", "loc_id", "check_id", "amount", "pay_type", "payment_time"], "type": "object", "properties": {"order_id": {"title": "Order id", "type": "string", "maxLength": 255, "minLength": 1}, "loc_id": {"title": "Loc id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "check_id": {"title": "Check id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "amount": {"title": "Amount", "type": "string", "format": "decimal"}, "tip_amount": {"title": "Tip amount", "type": "string", "format": "decimal"}, "pay_type": {"title": "Pay type", "type": "string", "maxLength": 255, "minLength": 1}, "card_type": {"title": "Card type", "type": "string", "maxLength": 255, "minLength": 1}, "ref_data": {"title": "Ref data", "type": "string", "maxLength": 255, "minLength": 1}, "server_name": {"title": "Server name", "type": "string", "maxLength": 255, "minLength": 1}, "server_id": {"title": "Server id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "payment_time": {"title": "Payment time", "type": "string", "maxLength": 255, "minLength": 1}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "last_mod_ts": {"title": "Last mod ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "total_collected": {"title": "Total collected", "type": "string", "format": "decimal"}, "action": {"title": "Action", "type": "string", "maxLength": 255, "minLength": 1}, "pay_type_id": {"title": "Pay type id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "internal_id": {"title": "Internal id", "type": "string", "maxLength": 64}, "more_info": {"title": "More info", "type": "string", "maxLength": 255, "minLength": 1}, "transaction_id": {"title": "Transaction id", "type": "string", "maxLength": 255, "minLength": 1}, "change": {"title": "Change", "type": "string", "maxLength": 255, "minLength": 1}, "process_data": {"title": "Process data", "type": "string", "maxLength": 255, "minLength": 1}}}, "LavuApiCustomer": {"title": "Customer", "type": "object", "properties": {"id": {"title": "Id", "type": "integer", "readOnly": true}, "f_name": {"title": "F name", "type": "string", "maxLength": 255}, "l_name": {"title": "L name", "type": "string", "maxLength": 255}, "email": {"title": "Email", "type": "string", "maxLength": 255}, "phone": {"title": "Phone", "type": "string", "maxLength": 255}, "street": {"title": "Street", "type": "string", "maxLength": 255}, "city": {"title": "City", "type": "string", "maxLength": 255}, "state": {"title": "State", "type": "string", "maxLength": 255}, "zip": {"title": "Zip", "type": "string", "maxLength": 255}, "address2": {"title": "Address2", "type": "string", "maxLength": 255}}}, "LavuApiModifier": {"required": ["mod_id", "qty", "type"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "icid": {"title": "Icid", "type": "string", "maxLength": 64}, "title": {"title": "Title", "type": "string", "maxLength": 255}, "mod_id": {"title": "Mod id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "unit_cost": {"title": "Unit cost", "type": "string", "format": "decimal"}, "qty": {"title": "Qty", "type": "string", "maxLength": 255, "minLength": 1}, "cost": {"title": "Cost", "type": "string"}, "list_id": {"title": "List id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "type": {"title": "Type", "type": "string", "maxLength": 255, "minLength": 1}}}, "LavuApiOrderContent": {"required": ["quantity", "item_id"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "modifiers": {"type": "array", "items": {"$ref": "#/definitions/LavuApiModifier"}}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "icid": {"title": "Icid", "type": "string", "maxLength": 64}, "item_name": {"title": "Item name", "type": "string", "maxLength": 255}, "quantity": {"title": "Quantity", "type": "string", "format": "decimal"}, "price": {"title": "Price", "type": "string", "format": "decimal"}, "item_id": {"title": "Item id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "loc_id": {"title": "Loc id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "subtotal": {"title": "Subtotal", "type": "string", "maxLength": 255}, "print_flag": {"title": "Print flag", "type": "boolean"}, "printer": {"title": "Printer", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "category_id": {"title": "Category id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "modifier_list_id": {"title": "Modifier list id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "forced_modifier_group_id": {"title": "Forced modifier group id", "type": "string", "maxLength": 25}, "super_group_id": {"title": "Super group id", "type": "string", "maxLength": 11}, "notes": {"title": "Notes", "type": "string"}, "device_time": {"title": "Device time", "type": "string", "maxLength": 255, "minLength": 1}, "options": {"title": "Options", "type": "string"}, "special": {"title": "Special", "type": "string"}, "modify_price": {"title": "Modify price", "type": "string", "format": "decimal"}, "forced_modifiers_price": {"title": "Forced modifiers price", "type": "string", "format": "decimal"}, "subtotal_with_mods": {"title": "Subtotal with mods", "type": "string", "format": "decimal"}, "apply_taxrate": {"title": "Apply taxrate", "type": "string", "maxLength": 255}, "tax_amount": {"title": "Tax amount", "type": "string", "format": "decimal"}, "tax1": {"title": "Tax1", "type": "string", "format": "decimal"}, "tax_name1": {"title": "Tax name1", "type": "string", "maxLength": 255}, "tax_rate1": {"title": "Tax rate1", "type": "string", "format": "decimal"}, "tax_subtotal1": {"title": "Tax subtotal1", "type": "string", "format": "decimal"}, "total_with_tax": {"title": "Total with tax", "type": "string", "format": "decimal"}, "check": {"title": "Check", "type": "string", "maxLength": 255, "minLength": 1}, "seat": {"title": "Seat", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "custom_taxrate": {"title": "Custom taxrate", "type": "string", "maxLength": 10}, "course": {"title": "Course", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "print_order": {"title": "Print order", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "open_item": {"title": "Open item", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "allow_deposit": {"title": "Allow deposit", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "deposit_info": {"title": "Deposit info", "type": "string"}, "discount_amount": {"title": "Discount amount", "type": "string", "format": "decimal"}, "discount_value": {"title": "Discount value", "type": "string", "maxLength": 255}, "discount_type": {"title": "Discount type", "type": "string", "maxLength": 255}, "after_discount": {"title": "After discount", "type": "string", "maxLength": 255}, "itax_rate": {"title": "Itax rate", "type": "string", "format": "decimal"}, "itax": {"title": "Itax", "type": "string", "format": "decimal"}, "tax_rate2": {"title": "Tax rate2", "type": "string", "format": "decimal"}, "tax2": {"title": "Tax2", "type": "string", "format": "decimal"}, "tax_rate3": {"title": "Tax rate3", "type": "string", "format": "decimal"}, "tax3": {"title": "Tax3", "type": "string", "format": "decimal"}, "tax_subtotal2": {"title": "Tax subtotal2", "type": "string", "format": "decimal"}, "tax_subtotal3": {"title": "Tax subtotal3", "type": "string", "format": "decimal"}, "after_gratuity": {"title": "After gratuity", "type": "string", "format": "decimal"}, "is_voided": {"title": "Is voided", "type": "boolean"}, "discount_id": {"title": "Discount id", "type": "string", "maxLength": 255}, "server_time": {"title": "Server time", "type": "string", "maxLength": 255}, "idiscount_id": {"title": "Idiscount id", "description": "Discount Type Id applied to the order item.", "type": "string", "maxLength": 255}, "idiscount_sh": {"title": "Idiscount sh", "description": "Display value of discount in app and otherwise.", "type": "string", "maxLength": 255}, "idiscount_value": {"title": "Idiscount value", "description": "The percentage value (0.0 to 1.0) or flat amount applied such as 2.50.", "type": "string", "maxLength": 255}, "idiscount_type": {"title": "Idiscount type", "description": "'p' for percent or d for decimal amount.", "type": "string", "enum": ["p", "d"]}, "idiscount_amount": {"title": "Idiscount amount", "description": "The final calculated value of order item discount.", "type": "string", "maxLength": 255}, "split_factor": {"title": "Split factor", "type": "string", "maxLength": 255}, "hidden_data1": {"title": "Hidden data1", "type": "string", "maxLength": 255}, "hidden_data2": {"title": "Hidden data2", "type": "string"}, "hidden_data3": {"title": "Hidden data3", "type": "string", "maxLength": 255}, "hidden_data4": {"title": "Hidden data4", "type": "string", "maxLength": 255}, "tax_inclusion": {"title": "Tax inclusion", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tax_name2": {"title": "Tax name2", "type": "string", "maxLength": 255}, "tax_name3": {"title": "Tax name3", "type": "string", "maxLength": 255}, "sent": {"title": "Sent", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tax_exempt": {"title": "Tax exempt", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "exemption_id": {"title": "Exemption id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "exemption_name": {"title": "Exemption name", "type": "string", "maxLength": 255}, "itax_name": {"title": "Itax name", "type": "string", "maxLength": 255}, "checked_out": {"title": "Checked out", "type": "string", "maxLength": 11}, "hidden_data5": {"title": "Hidden data5", "type": "string", "maxLength": 255}, "hidden_data6": {"title": "Hidden data6", "type": "string", "maxLength": 255}, "price_override": {"title": "Price override", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "original_price": {"title": "Original price", "type": "string", "maxLength": 255}, "override_id": {"title": "Override id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "auto_saved": {"title": "Auto saved", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "idiscount_info": {"title": "Idiscount info", "type": "string", "maxLength": 255}, "tax_rate4": {"title": "Tax rate4", "type": "string", "format": "decimal"}, "tax4": {"title": "Tax4", "type": "string", "format": "decimal"}, "tax_subtotal4": {"title": "Tax subtotal4", "type": "string", "format": "decimal"}, "tax_name4": {"title": "Tax name4", "type": "string", "maxLength": 100}, "tax_rate5": {"title": "Tax rate5", "type": "string", "format": "decimal"}, "tax5": {"title": "Tax5", "type": "string", "format": "decimal"}, "tax_subtotal5": {"title": "Tax subtotal5", "type": "string", "format": "decimal"}, "tax_name5": {"title": "Tax name5", "type": "string", "maxLength": 100}, "tax_freeze": {"title": "Tax freeze", "type": "string", "maxLength": 11}, "last_mod_ts": {"title": "Last mod ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "last_change_ts": {"title": "Last change ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "product_code": {"title": "Product code", "type": "string", "maxLength": 255}, "tax_code": {"title": "Tax code", "type": "string", "maxLength": 255}, "split_details": {"title": "Split details", "type": "string"}, "hold_timer_value": {"title": "Hold timer value", "type": "string", "maxLength": 50}, "hold_value_duration": {"title": "Hold value duration", "type": "string", "maxLength": 50}, "owned_by": {"title": "Owned by", "type": "string", "maxLength": 255}, "combo_id": {"title": "Combo id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "is_combo": {"title": "Is combo", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "combo_identifier": {"title": "Combo identifier", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "initial_qty": {"title": "Initial qty", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "waste_qty": {"title": "Waste qty", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "currency_type": {"title": "Currency type", "type": "string", "enum": ["", "0", "1"]}, "combo_tax_profile_id": {"title": "Combo tax profile id", "type": "string", "maxLength": 10}, "togo_status": {"title": "Togo status", "type": "string", "maxLength": 1}, "ordertype_id": {"title": "Ordertype id", "type": "string", "maxLength": 255}, "cash_discount": {"title": "Cash discount", "type": "string", "maxLength": 32}, "ordertag": {"title": "Ordertag", "type": "integer", "x-nullable": true}}}, "LavuApiSplitCheckDetails": {"title": "Split check details", "required": ["rounding_exception"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "check": {"title": "Check", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "loc_id": {"title": "Loc id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "subtotal": {"title": "Subtotal", "type": "string", "maxLength": 255}, "alt_paid": {"title": "Alt paid", "type": "string", "maxLength": 30}, "tax": {"title": "Tax", "type": "string", "format": "decimal"}, "check_total": {"title": "Check total", "type": "string", "format": "decimal"}, "email": {"title": "Email", "type": "string", "maxLength": 255}, "tax_info": {"title": "Tax info", "type": "string"}, "surcharge_amount": {"title": "Surcharge amount", "type": "string", "maxLength": 30}, "amount_due": {"title": "Amount due", "type": "string", "maxLength": 30}, "rounding_exception": {"title": "Rounding exception", "type": "string", "maxLength": 10, "minLength": 1}}}, "LavuApiCcTransaction": {"title": "Cc transactions", "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "pay_type": {"title": "Pay type", "type": "string", "maxLength": 255}, "pay_type_id": {"title": "Pay type id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "check": {"title": "Check", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "loc_id": {"title": "Loc id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "datetime": {"title": "Datetime", "type": "string", "maxLength": 30, "minLength": 1}, "amount": {"title": "Amount", "type": "string", "format": "decimal"}, "total_collected": {"title": "Total collected", "type": "string", "format": "decimal"}, "action": {"title": "Action", "type": "string", "maxLength": 255, "minLength": 1}, "internal_id": {"title": "Internal id", "type": "string", "maxLength": 64}, "last_mod_ts": {"title": "Last mod ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tip_amount": {"title": "Tip amount", "type": "string", "format": "decimal"}}}, "LavuApiOrderCustomCharges": {"required": ["label", "amount"], "type": "object", "properties": {"order_custom_charges_id": {"title": "Order custom charges id", "type": "integer", "readOnly": true}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "label": {"title": "Label", "type": "string", "maxLength": 255, "minLength": 1}, "charge_type": {"title": "Charge type", "type": "string", "enum": ["a", "p"]}, "charge_amount": {"title": "Charge amount", "type": "string", "format": "decimal"}, "amount": {"title": "Amount", "type": "string", "format": "decimal"}, "deleted": {"title": "Deleted", "type": "boolean"}, "created_at": {"title": "Created at", "type": "string", "maxLength": 30, "minLength": 1}, "updated_at": {"title": "Updated at", "type": "string", "maxLength": 30, "minLength": 1}}}, "LavuApiOrderSerializer": {"required": ["customer", "items", "location_id", "tablename", "tabname", "order_status"], "type": "object", "properties": {"customer": {"$ref": "#/definitions/LavuApiCustomer"}, "items": {"type": "array", "items": {"$ref": "#/definitions/LavuApiOrderContent"}}, "split_check_details": {"$ref": "#/definitions/LavuApiSplitCheckDetails"}, "cc_transactions": {"$ref": "#/definitions/LavuApiCcTransaction"}, "order_custom_charges": {"type": "array", "items": {"$ref": "#/definitions/LavuApiOrderCustomCharges"}}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 64}, "opened": {"title": "Opened", "type": "string", "maxLength": 30}, "closed": {"title": "Closed", "type": "string", "maxLength": 30}, "location": {"title": "Location", "type": "string", "maxLength": 100}, "location_id": {"title": "Location id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "no_of_checks": {"title": "No of checks", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "special_instructions": {"title": "Special instructions", "type": "string", "maxLength": 300}, "server": {"title": "Server", "type": "string", "maxLength": 50}, "subtotal": {"title": "Subtotal", "type": "string", "format": "decimal"}, "total": {"title": "Total", "type": "string", "format": "decimal"}, "tax": {"title": "Tax", "type": "string", "format": "decimal"}, "cash_paid": {"title": "Cash paid", "type": "string", "format": "decimal"}, "card_paid": {"title": "Card paid", "type": "string", "format": "decimal"}, "alt_paid": {"title": "Alt paid", "type": "string", "format": "decimal"}, "cash_tip": {"title": "Cash tip", "type": "string", "format": "decimal"}, "card_gratuity": {"title": "Card gratuity", "type": "string", "format": "decimal"}, "other_tip": {"title": "Other tip", "type": "string", "format": "decimal"}, "togo_delivery_fees": {"title": "Togo delivery fees", "type": "string", "maxLength": 100, "minLength": 1}, "tablename": {"title": "Tablename", "type": "string", "maxLength": 255, "minLength": 1}, "tabname": {"title": "Tabname", "type": "string", "maxLength": 255, "minLength": 1}, "send_status": {"title": "Send status", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "auto_send_status": {"title": "Auto send status", "type": "string", "maxLength": 255, "minLength": 1}, "order_status": {"title": "Order status", "type": "string", "maxLength": 20, "minLength": 1}, "server_id": {"title": "Server id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "last_mod_device": {"title": "Last mod device", "type": "string", "maxLength": 255}, "last_mod_ts": {"title": "Last mod ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "pushed_ts": {"title": "Pushed ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "original_id": {"title": "Original id", "type": "string"}, "taxrate": {"title": "Taxrate", "type": "string", "maxLength": 10}, "discount": {"title": "Discount", "type": "string", "format": "decimal", "x-nullable": true}, "discount_sh": {"title": "Discount sh", "type": "string", "maxLength": 255}, "gratuity": {"title": "Gratuity", "type": "string", "format": "decimal", "x-nullable": true}, "gratuity_percent": {"title": "Gratuity percent", "type": "string", "maxLength": 10}, "gift_certificate": {"title": "Gift certificate", "type": "string", "maxLength": 30}, "change_amount": {"title": "Change amount", "type": "string", "maxLength": 30}, "reopen_refund": {"title": "Reopen refund", "type": "string", "maxLength": 10}, "void": {"title": "Void", "type": "integer", "maximum": 32767, "minimum": -32768}, "cashier": {"title": "Cashier", "type": "string", "maxLength": 50}, "cashier_id": {"title": "Cashier id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "auth_by": {"title": "Auth by", "type": "string", "maxLength": 50}, "auth_by_id": {"title": "Auth by id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "guests": {"title": "Guests", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "email": {"title": "Email", "type": "string", "maxLength": 255}, "permission": {"title": "Permission", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "check_has_printed": {"title": "Check has printed", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "card_desc": {"title": "Card desc", "type": "string", "maxLength": 100}, "transaction_id": {"title": "Transaction id", "type": "string", "maxLength": 255}, "multiple_tax_rates": {"title": "Multiple tax rates", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tab": {"title": "Tab", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "deposit_status": {"title": "Deposit status", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "register": {"title": "Register", "type": "string", "maxLength": 255}, "refunded": {"title": "Refunded", "type": "string", "format": "decimal", "x-nullable": true}, "refund_notes": {"title": "Refund notes", "type": "string"}, "refunded_cc": {"title": "Refunded cc", "type": "string", "format": "decimal", "x-nullable": true}, "refund_notes_cc": {"title": "Refund notes cc", "type": "string"}, "refunded_by": {"title": "Refunded by", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "refunded_by_cc": {"title": "Refunded by cc", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "discount_value": {"title": "Discount value", "type": "string", "maxLength": 255}, "reopened_datetime": {"title": "Reopened datetime", "type": "string", "maxLength": 255}, "discount_type": {"title": "Discount type", "type": "string", "maxLength": 255}, "deposit_amount": {"title": "Deposit amount", "type": "string", "maxLength": 255}, "subtotal_without_deposit": {"title": "Subtotal without deposit", "type": "string", "maxLength": 255}, "togo_status": {"title": "Togo status", "type": "string", "maxLength": 255}, "togo_phone": {"title": "Togo phone", "type": "string", "maxLength": 255}, "togo_time": {"title": "Togo time", "type": "string", "maxLength": 255}, "cash_applied": {"title": "Cash applied", "type": "string", "format": "decimal", "x-nullable": true}, "reopen_datetime": {"title": "Reopen datetime", "type": "string", "maxLength": 255}, "rounding_amount": {"title": "Rounding amount", "type": "string", "maxLength": 255}, "auto_gratuity_is_taxed": {"title": "Auto gratuity is taxed", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "discount_id": {"title": "Discount id", "type": "string", "maxLength": 255}, "refunded_gc": {"title": "Refunded gc", "type": "string", "maxLength": 255}, "register_name": {"title": "Register name", "type": "string", "maxLength": 255}, "opening_device": {"title": "Opening device", "type": "string", "maxLength": 255}, "closing_device": {"title": "Closing device", "type": "string", "maxLength": 255}, "alt_refunded": {"title": "Alt refunded", "type": "string", "maxLength": 255}, "last_course_sent": {"title": "Last course sent", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "tax_exempt": {"title": "Tax exempt", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "reclosed_datetime": {"title": "Reclosed datetime", "type": "string", "maxLength": 255}, "reopening_device": {"title": "Reopening device", "type": "string", "maxLength": 255}, "reclosing_device": {"title": "Reclosing device", "type": "string", "maxLength": 255}, "exemption_id": {"title": "Exemption id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "exemption_name": {"title": "Exemption name", "type": "string", "maxLength": 255}, "recloser": {"title": "Recloser", "type": "string", "maxLength": 255}, "recloser_id": {"title": "Recloser id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "void_reason": {"title": "Void reason", "type": "string", "maxLength": 255}, "alt_tablename": {"title": "Alt tablename", "type": "string", "maxLength": 255}, "checked_out": {"title": "Checked out", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "idiscount_amount": {"title": "Idiscount amount", "type": "string", "format": "decimal", "x-nullable": true}, "past_names": {"title": "Past names", "type": "string", "maxLength": 255}, "itax": {"title": "Itax", "type": "string", "format": "decimal", "x-nullable": true}, "togo_name": {"title": "Togo name", "type": "string", "maxLength": 255}, "merges": {"title": "Merges", "type": "string"}, "active_device": {"title": "Active device", "type": "string", "maxLength": 50}, "last_modified": {"title": "Last modified", "type": "string", "maxLength": 255}, "discount_info": {"title": "Discount info", "type": "string", "maxLength": 255}, "last_mod_register_name": {"title": "Last mod register name", "type": "string", "maxLength": 255}, "force_closed": {"title": "Force closed", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "ag_cash": {"title": "Ag cash", "type": "string", "maxLength": 25}, "ag_card": {"title": "Ag card", "type": "string", "maxLength": 25}, "ag_other": {"title": "Ag other", "type": "string", "maxLength": 25}, "meal_period_typeid": {"title": "Meal period typeid", "type": "string", "maxLength": 11}, "togo_type": {"title": "Togo type", "type": "string", "maxLength": 50}, "serial_no": {"title": "Serial no", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "sync_tag": {"title": "Sync tag", "type": "string", "maxLength": 8}, "owned_by_uuid": {"title": "Owned by uuid", "type": "string", "maxLength": 50}, "sync_tag_ack": {"title": "Sync tag ack", "type": "string", "maxLength": 100}, "signature": {"title": "Signature", "type": "string", "maxLength": 2000}, "key_version": {"title": "Key version", "type": "string", "maxLength": 5}, "zreport_status": {"title": "Zreport status", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "pickup_number": {"title": "Pickup number", "type": "string", "maxLength": 20}, "currency_type": {"title": "Currency type", "type": "string", "enum": ["", "0", "1"], "x-nullable": true}, "delivery_address": {"title": "Delivery address", "type": "string", "maxLength": 500}, "kitchen_status": {"title": "Kitchen status", "type": "string", "maxLength": 20}, "invoice_number": {"title": "Invoice number", "type": "string", "maxLength": 50}, "secondary_currency_code": {"title": "Secondary currency code", "type": "string", "maxLength": 50}, "secondary_currency_code_id": {"title": "Secondary currency code id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "secondary_monitary_symbol": {"title": "Secondary monitary symbol", "type": "string", "maxLength": 10}, "exchange_rate_id": {"title": "Exchange rate id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "exchange_rate_value": {"title": "Exchange rate value", "type": "string", "maxLength": 10}, "secondary_currency_receipt_label": {"title": "Secondary currency receipt label", "type": "string", "maxLength": 255}}}, "IndividualPaymentIntentSerializer": {"required": ["intent_id", "payment_id", "order_id", "location_id", "check_number", "ioid", "type", "status", "start_time_ts", "end_time_ts", "created_time", "updated_time"], "type": "object", "properties": {"intent_id": {"title": "Intent id", "type": "string", "maxLength": 255, "minLength": 1}, "payment_id": {"title": "Payment id", "type": "string", "maxLength": 255, "minLength": 1}, "order_id": {"title": "Order id", "type": "string", "maxLength": 255, "minLength": 1}, "location_id": {"title": "Location id", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "check_number": {"title": "Check number", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "ioid": {"title": "Ioid", "type": "string", "maxLength": 255, "minLength": 1}, "type": {"title": "Type", "type": "string", "enum": ["pos", "external"]}, "status": {"title": "Status", "type": "string", "maxLength": 50, "minLength": 1}, "start_time_ts": {"title": "Start time ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "end_time_ts": {"title": "End time ts", "type": "integer", "maximum": 2147483647, "minimum": -2147483648}, "created_time": {"title": "Created time", "type": "string", "maxLength": 255, "minLength": 1}, "updated_time": {"title": "Updated time", "type": "string", "maxLength": 255, "minLength": 1}}}}}