@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api POS API
@base https://unify.apideck.com
@version 10.24.14
@auth ApiKey Authorization in header
@common_fields {x-apideck-consumer-id: str, x-apideck-app-id: str, raw: bool=false, x-apideck-service-id: str}
@endpoints 46
@hint download_for_search
@toc pos(46)

@endpoint GET /pos/orders
@optional {cursor: str, limit: int=20, location_id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/orders
@required {merchant_id: str, location_id: str}
@optional {id: str, idempotency_key: str, order_number: str, order_date: str(date), closed_date: str(date), reference_id: str, status: str(open/draft/delivered/delayed/voided/completed/hidden), payment_status: str(open/paid/refunded/credited/partially_paid/partially_refunded/unknown), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), title: str, note: str, customer_id: str, employee_id: str, order_type_id: str, table: str, seat: str, total_amount: int, total_tip: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, refunded: bool, customers: [map{id: str, first_name: str, middle_name: str, last_name: str, phone_numbers: [map], emails: [map]}], fulfillments: [map{id: str, status: str, type: str, pickup_details: map, shipment_details: map}], line_items: [map{id: str, name: str, item: any, total_tax: int, total_discount: int, total_amount: int, quantity: num, unit_price: num, applied_taxes: [any], applied_discounts: [any], modifiers: [any]}], payments: [map{id: str, amount: int, currency: str}], service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], refunds: [map{id: str, location_id: str, amount: int, currency: str, reason: str, status: str, tender_id: str, transaction_id: str}], taxes: [any], discounts: [map{id: str, product_id: str, name: str, type!: str, amount: int, currency: str, scope: str}], tenders: [map{id: str, name: str, type: str, note: str, amount: num, percentage: num, currency: str, total_amount: int, total_tip: int, total_processing_fee: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, buyer_tendered_cash_amount: int, change_back_cash_amount: int, card: map, card_status: str, card_entry_method: str, payment_id: str, location_id: str, transaction_id: str}], source: str(in-store/online/opt/api/kiosk/caller-id/google/invoice), voided: bool, voided_at: str(date-time), custom_mappings: map, version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/orders/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, idempotency_key: str, order_number: str, order_date: str(date)?, closed_date: str(date)?, reference_id: str?, status: str, payment_status: str, currency: str?, title: str, note: str, merchant_id: str, customer_id: str, employee_id: str, location_id: str, order_type_id: str, table: str, seat: str, total_amount: int?, total_tip: int?, total_tax: int?, total_discount: int?, total_refund: int?, total_service_charge: int?, refunded: bool, customers: [map], fulfillments: [map], line_items: [map], payments: [map], service_charges: [map], refunds: [map], taxes: [any], discounts: [map], tenders: [map], source: str?, voided: bool, voided_at: str(date-time), custom_mappings: map?, version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/orders/{id}
@required {id: str, merchant_id: str, location_id: str}
@optional {id: str, idempotency_key: str, order_number: str, order_date: str(date), closed_date: str(date), reference_id: str, status: str(open/draft/delivered/delayed/voided/completed/hidden), payment_status: str(open/paid/refunded/credited/partially_paid/partially_refunded/unknown), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), title: str, note: str, customer_id: str, employee_id: str, order_type_id: str, table: str, seat: str, total_amount: int, total_tip: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, refunded: bool, customers: [map{id: str, first_name: str, middle_name: str, last_name: str, phone_numbers: [map], emails: [map]}], fulfillments: [map{id: str, status: str, type: str, pickup_details: map, shipment_details: map}], line_items: [map{id: str, name: str, item: any, total_tax: int, total_discount: int, total_amount: int, quantity: num, unit_price: num, applied_taxes: [any], applied_discounts: [any], modifiers: [any]}], payments: [map{id: str, amount: int, currency: str}], service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], refunds: [map{id: str, location_id: str, amount: int, currency: str, reason: str, status: str, tender_id: str, transaction_id: str}], taxes: [any], discounts: [map{id: str, product_id: str, name: str, type!: str, amount: int, currency: str, scope: str}], tenders: [map{id: str, name: str, type: str, note: str, amount: num, percentage: num, currency: str, total_amount: int, total_tip: int, total_processing_fee: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, buyer_tendered_cash_amount: int, change_back_cash_amount: int, card: map, card_status: str, card_entry_method: str, payment_id: str, location_id: str, transaction_id: str}], source: str(in-store/online/opt/api/kiosk/caller-id/google/invoice), voided: bool, voided_at: str(date-time), custom_mappings: map, version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/orders/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/orders/{id}/pay
@required {id: str, merchant_id: str, location_id: str}
@optional {fields: str, id: str, idempotency_key: str, order_number: str, order_date: str(date), closed_date: str(date), reference_id: str, status: str(open/draft/delivered/delayed/voided/completed/hidden), payment_status: str(open/paid/refunded/credited/partially_paid/partially_refunded/unknown), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), title: str, note: str, customer_id: str, employee_id: str, order_type_id: str, table: str, seat: str, total_amount: int, total_tip: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, refunded: bool, customers: [map{id: str, first_name: str, middle_name: str, last_name: str, phone_numbers: [map], emails: [map]}], fulfillments: [map{id: str, status: str, type: str, pickup_details: map, shipment_details: map}], line_items: [map{id: str, name: str, item: any, total_tax: int, total_discount: int, total_amount: int, quantity: num, unit_price: num, applied_taxes: [any], applied_discounts: [any], modifiers: [any]}], payments: [map{id: str, amount: int, currency: str}], service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], refunds: [map{id: str, location_id: str, amount: int, currency: str, reason: str, status: str, tender_id: str, transaction_id: str}], taxes: [any], discounts: [map{id: str, product_id: str, name: str, type!: str, amount: int, currency: str, scope: str}], tenders: [map{id: str, name: str, type: str, note: str, amount: num, percentage: num, currency: str, total_amount: int, total_tip: int, total_processing_fee: int, total_tax: int, total_discount: int, total_refund: int, total_service_charge: int, buyer_tendered_cash_amount: int, change_back_cash_amount: int, card: map, card_status: str, card_entry_method: str, payment_id: str, location_id: str, transaction_id: str}], source: str(in-store/online/opt/api/kiosk/caller-id/google/invoice), voided: bool, voided_at: str(date-time), custom_mappings: map, version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/payments
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/payments
@required {source_id: str, order_id: str, customer_id: str, tender_id: str, amount: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH)}
@optional {id: str, merchant_id: str, employee_id: str, location_id: str, device_id: str, external_payment_id: str, idempotency_key: str, tip: num, tax: num, total: num, app_fee: num, change_back_cash_amount: num, approved: num, refunded: num, processing_fees: [any], source: str(card/bank_account/wallet/bnpl/cash/external/other), status: str(approved/pending/completed/canceled/failed/other), cash: map{amount: any, charge_back_amount: any}, card_details: map{card: map}, bank_account: map{bank_name: str, transfer_type: str, account_ownership_type: str, fingerprint: str, country: str, statement_description: str, ach_details: map}, wallet: map{status: str}, external_details: map{type!: str, source!: str, source_id: str, source_fee_amount: num}, service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/payments/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, source_id: str, order_id: str, merchant_id: str, customer_id: str, employee_id: str, location_id: str, device_id: str, tender_id: str, external_payment_id: str, idempotency_key: str, amount: num, currency: str?, tip: num, tax: num, total: num, app_fee: num, change_back_cash_amount: num, approved: num, refunded: num, processing_fees: [any], source: str, status: str, cash: map{amount: any, charge_back_amount: any}, card_details: map{card: map?{id: str, bin: str?, card_brand: str?, card_type: str?, prepaid_type: str?, cardholder_name: str?, customer_id: str?, merchant_id: str, exp_month: int?, exp_year: int?, fingerprint: str?, last_4: str?, enabled: bool?, billing_address: map, reference_id: str?, version: str?}}, bank_account: map{bank_name: str, transfer_type: str, account_ownership_type: str, fingerprint: str, country: str?, statement_description: str, ach_details: map{routing_number: str, account_number_suffix: str, account_type: str}}, wallet: map{status: str}, external_details: map{type: str, source: str, source_id: str, source_fee_amount: num}, service_charges: [map], custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/payments/{id}
@required {id: str, source_id: str, order_id: str, customer_id: str, tender_id: str, amount: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH)}
@optional {id: str, merchant_id: str, employee_id: str, location_id: str, device_id: str, external_payment_id: str, idempotency_key: str, tip: num, tax: num, total: num, app_fee: num, change_back_cash_amount: num, approved: num, refunded: num, processing_fees: [any], source: str(card/bank_account/wallet/bnpl/cash/external/other), status: str(approved/pending/completed/canceled/failed/other), cash: map{amount: any, charge_back_amount: any}, card_details: map{card: map}, bank_account: map{bank_name: str, transfer_type: str, account_ownership_type: str, fingerprint: str, country: str, statement_description: str, ach_details: map}, wallet: map{status: str}, external_details: map{type!: str, source!: str, source_id: str, source_fee_amount: num}, service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/payments/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/merchants
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/merchants
@optional {id: str, name: str, address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, owner_id: str, main_location_id: str, status: str(active/inactive/other), service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], language: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/merchants/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, owner_id: str, main_location_id: str?, status: str?, service_charges: [map], language: str?, currency: str?, custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/merchants/{id}
@required {id: str}
@optional {id: str, name: str, address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, owner_id: str, main_location_id: str, status: str(active/inactive/other), service_charges: [map{id: str, name: str, amount: num, percentage: num, currency: str, active: bool, type: str}], language: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/merchants/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/locations
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/locations
@optional {id: str, name: str, business_name: str, address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, status: str(active/inactive/other), merchant_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/locations/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str?, business_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, status: str?, merchant_id: str, currency: str?, custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/locations/{id}
@required {id: str}
@optional {id: str, name: str, business_name: str, address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, status: str(active/inactive/other), merchant_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/locations/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/items
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/items
@required {name: str}
@optional {id: str, idempotency_key: str, description: str, abbreviation: str, product_type: str(regular/other), price_amount: num, pricing_type: str(fixed/variable/per_unit/other), price_currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), cost: num, tax_ids: [str], is_revenue: bool, use_default_tax_rates: bool, absent_at_location_ids: [str], present_at_all_locations: bool, available_for_pickup: bool, available_online: bool, sku: str, code: str, categories: [any], options: [any], variations: [any], modifier_groups: [any], available: bool, hidden: bool, version: str, custom_mappings: map, deleted: bool, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/items/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, idempotency_key: str, name: str, description: str, abbreviation: str, product_type: str, price_amount: num, pricing_type: str, price_currency: str?, cost: num, tax_ids: [str], is_revenue: bool, use_default_tax_rates: bool, absent_at_location_ids: [str], present_at_all_locations: bool, available_for_pickup: bool, available_online: bool, sku: str, code: str, categories: [any], options: [any], variations: [any], modifier_groups: [any], available: bool?, hidden: bool?, version: str?, custom_mappings: map?, deleted: bool?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/items/{id}
@required {id: str, name: str}
@optional {id: str, idempotency_key: str, description: str, abbreviation: str, product_type: str(regular/other), price_amount: num, pricing_type: str(fixed/variable/per_unit/other), price_currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), cost: num, tax_ids: [str], is_revenue: bool, use_default_tax_rates: bool, absent_at_location_ids: [str], present_at_all_locations: bool, available_for_pickup: bool, available_online: bool, sku: str, code: str, categories: [any], options: [any], variations: [any], modifier_groups: [any], available: bool, hidden: bool, version: str, custom_mappings: map, deleted: bool, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/items/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/modifiers
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/modifiers
@required {name: str, modifier_group_id: str}
@optional {id: str, idempotency_key: str, alternate_name: str, price_amount: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), available: bool, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/modifiers/{id}
@required {id: str}
@optional {filter: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, idempotency_key: str, name: str, alternate_name: str, price_amount: num, currency: str?, modifier_group_id: str, available: bool?, custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/modifiers/{id}
@required {id: str, name: str, modifier_group_id: str}
@optional {id: str, idempotency_key: str, alternate_name: str, price_amount: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), available: bool, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/modifiers/{id}
@required {id: str}
@optional {filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/modifier-groups
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/modifier-groups
@optional {id: str, name: str, alternate_name: str, minimum_required: int, maximum_allowed: int, selection_type: str(single/multiple), present_at_all_locations: bool, modifiers: [any], deleted: bool, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/modifier-groups/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str, alternate_name: str, minimum_required: int, maximum_allowed: int, selection_type: str, present_at_all_locations: bool, modifiers: [any], deleted: bool?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/modifier-groups/{id}
@required {id: str}
@optional {id: str, name: str, alternate_name: str, minimum_required: int, maximum_allowed: int, selection_type: str(single/multiple), present_at_all_locations: bool, modifiers: [any], deleted: bool, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/modifier-groups/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/order-types
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/order-types
@optional {id: str, name: str, default: bool, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/order-types/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str, default: bool, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/order-types/{id}
@required {id: str}
@optional {id: str, name: str, default: bool, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/order-types/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/tenders
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /pos/tenders
@optional {id: str, key: str, label: str, active: bool, hidden: bool, editable: bool, opens_cash_drawer: bool=true, allows_tipping: bool=true, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /pos/tenders/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, key: str?, label: str?, active: bool?, hidden: bool?, editable: bool?, opens_cash_drawer: bool, allows_tipping: bool, custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /pos/tenders/{id}
@required {id: str}
@optional {id: str, key: str, label: str, active: bool, hidden: bool, editable: bool, opens_cash_drawer: bool=true, allows_tipping: bool=true, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /pos/tenders/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@end
