UNPKG

kiolyn-api-specs

Version:
1,527 lines (1,526 loc) 399 kB
openapi: 3.0.0 info: title: Kiolyn POS API description: Kiolyn POS API contact: name: Chinh Nguyen url: 'https://willbe.vn' email: chinh@willbe.vn license: name: Copyright 2018 of ChaChaPOS INc. url: 'https://kiolyn.com/copyright' version: v2 servers: - url: 'https://api-staging.kiolyn.com' description: Staging API Server - url: 'https://api-production.kiolyn.com' description: Production API Server tags: - name: meta description: API info related API. - name: user description: User authentication API. - name: password description: 'Password related (reset password, request new password, etc.) API.' - name: store description: Store related functions. - name: merchant description: Merchant related functions - name: employee description: Employee related functions - name: customer description: Customer related functions - name: giftcard description: Gift card related functions - name: area description: Area related functions - name: category description: Category related functions - name: item description: Item related functions - name: modifier description: Modifier related functions - name: station description: Station related functions - name: ccdevice description: CC Device related functions - name: printer description: Printer related functions - name: screen description: Screen related functions - name: kiosk description: Kiosk related functions - name: settings description: Settings related functions - name: image description: Image related functions - name: maps description: Maps related functions - name: shopItem description: Shop item related functions - name: shopOrder description: Shop order related functions - name: promoCode description: Promo code related functions - name: kitchenDisplay description: Kitchen display related functions - name: promotion description: Promotion related functions - name: delivery description: Delivery related functions - name: menuTemplate description: Menu template related functions - name: kitchenReceiptTemplate description: Kitchen receipt template related functions - name: order description: Order template related functions - name: statusBoard description: status board related functions - name: audio description: audio related functions - name: auth description: Auth related functions - name: report description: Report related functions - name: onlineOrder description: Online Order related functions - name: superAdmin description: Super Admin Account Related functions - name: admin description: Admin Account Related functions - name: appSettings description: App Settings Related functions components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: ErrorResponse: type: object properties: code: type: number type: type: string message: type: string ResultResponse: type: object properties: result: type: boolean description: true if the result is positive and false otherwise message: type: string description: the detail message of the result OnlineOrderResponse: allOf: - $ref: '#/components/schemas/ResultResponse' - type: object properties: postmates_delivery_time: type: number description: >- the time by minutes that Postmates couriers need to delivery goods for customer. postmates_response: $ref: '#/components/schemas/ModelRef' QuerySummary: type: object required: - count properties: count: type: number description: Total of available records tip: type: number description: Total of tip total: type: number description: The total of all value of the records if any BaseModel: type: object required: - id - name - type discriminator: propertyName: type properties: id: type: string format: timestamp description: Object ID in timestamp format to 10 milliseconds type: type: string name: type: string description: name of the object. name2: type: string description: >- extra name of the object (normally for naming in different language). merchantid: type: string description: The ID of the merchant that this model belong to storeid: type: string description: The ID of the store that this model belong to updated_at: type: string description: The timestamp of last updated time updated_by: type: string description: The ID of user who made the last updated ModelRef: type: object required: - id properties: id: type: string format: timestamp description: Object ID in timestamp format to 10 milliseconds Permissions: type: object properties: weblogin: type: boolean description: True if this user can login to web admin max_discount: type: number description: The maximum discount that this user is able to use max_discount_amount: type: number description: The maximum discount amount that this user is able to use all_transactions: type: boolean description: True if this user is able to edit all transactions manage_all_tables: type: boolean description: True if this user is able to manage all tables employee: type: boolean description: True if this user is able to manage employee list view_customer: type: boolean description: True if this user is able to manage customer list giftcard: type: boolean description: True if this user is able to manage gift card list area: type: boolean description: True if this user is able to manage area list online_ordering: type: boolean description: True if this user is able to view edit online ordering permission waitlist: type: boolean description: True if this user is able to manage waitlist gallery: type: boolean description: True if this user is able to manage gallery screen: type: boolean description: True if this user is able to enable and disable manage TV signage tip_report: type: boolean description: True if this user is able to edit tip tax: type: boolean description: True if this user is able to manage settings website: type: boolean description: True if this user is able to manage website reservation: type: boolean description: True if this user is able to manage reservation edit_modifiers: type: boolean description: True if this user is able to edit modifiers view_report: type: boolean description: True if this user is able view reports device: type: boolean description: True if this user is able to manage device list printtpl: type: boolean description: True if this user is able to manage print templates menu: type: boolean description: >- True if this user is able to manage menu (categories, items, modifiers) refund_void_unpaid_settle: type: boolean description: >- True if this user is able refund, void, unpaid and settle using POS app delete_edit_sent_items: type: boolean description: True if this user is able to delete or edit sent items using POS app price_adjustment: type: boolean description: True if this user is able to adjust item price using POS app. change_order_tax: type: boolean description: True if this user is able to change tax using POS app. report: type: boolean show_save_price: type: boolean description: True if this user is able to see save price button on POS app. open_item: type: boolean description: True if this user is able to open new item on POS app. cash_report_edit: type: boolean description: True if this user is able to edit cash report using POS app. tip_calculator: type: boolean description: True if this user is able to open tip calculator using POS app. customer: type: boolean order: type: boolean description: True if this user is able to create order using POS app. activate_gift_card: type: boolean description: True if this user is able to activate gift card using POS app. must_clockin: type: boolean description: True if this user is must clockin before using POS app. view_shop: type: boolean description: True if this user is able to order shop item. send_offline_mode: type: boolean description: True if this user is able to send offline mode to pax device. promotion: type: boolean description: True if this user is able to manage promotion. promocode: type: boolean description: True if this user is able to manage promocode. allow_close_batch: type: boolean description: True if allow employee close batch. close_all_orders: type: boolean description: True if allow employee close all orders. change_order_employee: type: boolean delete_item_on_menu: type: boolean description: True if allow employee delete items on Menu. Employee: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: country: type: string state: type: string zip: type: string status: type: string description: 'Status of this employee, possible values are active and inactive' email: type: string description: Use as web admin login account password: type: string description: Use as web admin login account permissions: $ref: '#/components/schemas/Permissions' address: type: string city: type: string passkey: type: string description: Use as POS app identification fobkey: type: string start: type: string description: The date that employee start working payrate: type: string overtime_payrate: type: string cash_tip_percentage: type: number description: The percentage used for tip calculating dob: type: string mobilephone: type: string delivery_driver: type: boolean description: True is this employee is also a delivery driver jobtitle: type: string location: type: string co_owner: type: boolean Merchant: allOf: - $ref: '#/components/schemas/BaseModel' - type: object required: - email - password - biz_first_name - biz_last_name - partnerid properties: partnerid: type: string biz_legal_country: type: string owner_country: type: string status: type: string store_name: type: string email: type: string password: type: string biz_first_name: type: string biz_last_name: type: string biz_phone: type: string biz_city: type: string stores: type: array items: $ref: '#/components/schemas/Store' groups: type: array items: $ref: '#/components/schemas/GcGroup' Image: type: object required: - mime - file - size properties: mime: type: string size: type: integer file: type: string GcGroup: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: stores: type: array description: list of stores this group belongs to. items: type: string giftcards: type: array items: $ref: '#/components/schemas/Giftcard' Store: allOf: - $ref: '#/components/schemas/BaseModel' - type: object required: - partnerid properties: partnerid: type: string description: the partner's id that this store belongs to. status: type: string description: 'status of a store, can be either active and inactive.' biz_legal_country: type: string owner_country: type: string store_name: type: string description: store's brand name. biz_first_name: type: string description: store's contact first name. biz_last_name: type: string description: store's contact last name. biz_phone: type: string description: store's contact phone. biz_city: type: string description: store's city. biz_email: type: string description: store's contact email. biz_country: type: string description: store's country. biz_zip: type: string description: store's zip. biz_address: type: string description: store's address. logo: $ref: '#/components/schemas/Image' expiration_date: type: string incorp: type: string isActive: type: boolean vaultKey: type: string creditCardId: type: integer cardInfo: type: object properties: cardNoFirst6: type: string cardNoLast4: type: string cardExpMM: type: string cardExpYY: type: string cardType: type: string achId: type: integer bankInfo: type: object properties: ddaLast4: type: string abaLast4: type: string achName: type: string accountType: type: string isPaymentActive: type: boolean current_version: type: string description: The current main PC version latest_version: type: string description: The latest main PC version that is available owner_security_number: type: string account_number: type: string timezone: type: string owner_dob: type: string terminal_id: type: string emails: type: array items: type: string Customer: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: address: type: string city: type: string country: type: string email: type: string note: type: string state: type: string zip: type: string mobilephone: type: string company: type: string customer_no: type: number reward_points: type: number deposit_amount: type: number GiftcardLog: type: object description: Log the history of operation of a giftcard properties: by: type: string description: User ID that perform the action by_name: type: string description: User name that perform the action at: type: string description: Station ID that perform the action at_name: type: string description: Station name that perform the action type: type: string description: >- The type of actions that was perform, possible value are add and subtract amount: type: number description: The amount of this action log balance: type: number description: The balance amount after this action log Giftcard: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: status: type: string description: 'Status of this giftcard, possible value are active/inactive' balance: type: number description: The current balance amount card_number: type: string description: The unique number of this card logs: type: array items: $ref: '#/components/schemas/GiftcardLog' gc_group: type: string description: Gift card group Area: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: area_type: type: string description: Area Type layout: type: array items: $ref: '#/components/schemas/Table' delivery_auto_increment: type: boolean description: True if this area is for delivery customer_info: type: boolean description: True if this area should prompt for customer info order: type: number description: The order in which this area will be displayed in POS app apply_tax: type: boolean description: >- True if this created order for this area should have tax by default item_price_type: type: string description: Item price type quick_pay: type: boolean description: True if apply quick pay quick_payment_type: type: string description: quick payment type pay_with_save_send: type: boolean description: True if order belongs to this area should pay when send/save auto_claim: type: boolean description: True if auto claim show_time_lapsed: type: boolean description: True if show time lapsed print_check_with_save_send: type: boolean description: >- True if order belongs to this area should print check when send/save no_of_guest: type: boolean description: True if this area should prompt for number of guest service_fee_prompt: type: boolean description: True if this area should prompt for service fee inputs delivery_fee_prompt: type: boolean description: True if this area should prompt for delivery fee inputs misc_prompt: type: boolean description: True if this area should prompt for misc prompt condiments: type: boolean description: True if this area should prompt for condiments plastic_utensils: type: boolean description: True if this area should prompt for plastic utensils pickup_delivery_prompt: type: boolean description: True if this area should prompt for pickup/delivery time inputs time_delay: type: number description: Pickup/delivery time inputs togo_auto_increment: type: boolean description: True if this area is for TOGO check_copies: type: string receipt_settings: type: array items: $ref: '#/components/schemas/ReceiptSettings' kitchen_receipts: type: array items: type: string payment_types: type: array items: type: string auto_assign: type: boolean assigned_employee: type: string payment_type_for_order_pay: type: string printer_group_items: type: array items: type: object properties: printer_id: type: string items: type: array items: type: number pay_first_send_later: type: boolean ReceiptSettings: type: object description: Receipt settings for an Area. properties: payment_type: type: string description: payment type's id. auto: type: boolean description: auto print ReceiptSettings merchant_copy: type: boolean description: print merchant copy customer_copy: type: boolean description: print customer copy check_copy: type: boolean description: check copy Table: type: object description: >- Contain information about a single table including its position and size. properties: ppl: type: number description: Number of people that can sit this table type: type: string description: 'Shape of this table, possible values are rectangle/ellipse' left: type: number description: Left position top: type: number description: Top position width: type: number description: Table width height: type: number description: Table height angle: type: number description: Rotation angle Category: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: hidden: type: boolean description: >- True if this category should not be displayed in POS app for ordering show_on_web_order: type: boolean description: True if this category should be displayed in web order category_types: type: array items: type: string description: The types of category to be grouped in POS app category_buckets: type: array items: type: string description: The bucket of category printers: type: array items: $ref: '#/components/schemas/PrinterReceipt' kitchen_displays: type: array items: $ref: '#/components/schemas/KitchenDisplay' color: type: string description: The display color on menu of POS app order: type: string description: The display order inside a category group open_item: type: boolean description: True if this category can open new item when ordering on PC/iPad description: type: string description: Category description schedules: $ref: '#/components/schemas/CategorySchedules' gift_card: type: boolean description: True if user can create gift cards for this category gift_certificate: type: boolean description: True if user can create gift certificates for this category display_order: type: number description: The display order of this category in online ordering. max_display_count: type: number CategorySchedules: type: object properties: always_available: type: boolean description: True if this category is always available to order unavailable_message: type: string description: The message show in web order when category is not available. available_hours: description: list of from/to available hours in weeks. type: array items: $ref: '#/components/schemas/CategoryScheduleHour' CategoryScheduleHour: type: object properties: day_of_week: type: number description: date of week in number. is_available: type: boolean description: 'true if it this is a available day, false otherwise.' from_1: type: string description: first period start time. to_1: type: string description: first period end time. from_2: type: string description: second period start time. to_2: type: string description: second period end time. CategorySummary: type: object properties: id: type: string description: the Category's ID name: type: string description: the Category's Name item_count: type: number description: the number of Items belongs to this Category Item: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: hidden: type: boolean description: >- True if this item is unavaible in store and should not be displayed in POS app for ordering modifiers: type: array items: $ref: '#/components/schemas/ModelRef' notes: type: array items: $ref: '#/components/schemas/ModelRef' printers: type: array items: $ref: '#/components/schemas/ModelRef' color: type: string description: The display color on menu of POS app imported_id: type: string name2: type: string description: The second name of item with special language oldmodifiers: type: array items: $ref: '#/components/schemas/ModelRef' price: type: number description: The price of item barcode: type: number description: The item barcode non_taxable: type: boolean description: True if this item is non-taxable category: type: string description: The category ID that this item belong to category_name: type: string description: The category name that this item belong to selected: type: boolean description: >- True if this item is selected for modifier (use in editting modifier) image: $ref: '#/components/schemas/Image' quantity: type: number online: type: number display_order: type: number kitchen_displays: type: array items: $ref: '#/components/schemas/ModelRef' Modifier: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: multiple: type: boolean description: True if this modifier can select multiple options global: type: boolean description: True if this modifier can be applied to all items prefix: type: string description: >- The prefix of modifier that will be added next to option modifier name online_ordering: type: boolean description: True if this modifier will be shown in online ordering options: type: array items: $ref: '#/components/schemas/ModifierOption' items: type: array description: The items that this modifier is used items: $ref: '#/components/schemas/ModelRef' olditems: type: array description: Old references of items items: $ref: '#/components/schemas/ModelRef' color: type: string modifier_display: type: string ModifierOption: allOf: - $ref: '#/components/schemas/ModelRef' - type: object properties: name: type: string description: the name of this option. name2: type: string description: the extra name (normally in different language) of this option. display_order: type: number price: type: number description: the price of this option. percent: type: number sub_modifier_id: type: string description: the ID of sub-modifier. color: type: string description: the color of this option. required_level: type: string description: required level for sub modifier. is_modifier_color: type: boolean display_on: type: string Station: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: enabled: type: boolean description: True if this station is one of devices to run POS. location: type: string description: This is location that station belong to ccdevice: type: string description: This device will be used on station station_type: type: string description: The type of station can be PC or iPad printer: type: string description: This is printer default of station oo_printer: type: string ip_address: type: string station_id: type: string description: iPad station id mac_address: type: string mac_address_2: type: string mac_address_3: type: string main: type: boolean description: True if this station is Main. on_screen_signature: type: boolean description: >- If it's true, allow customer signature when make a payment by card. on_screen_tip_prompt: type: boolean main_print: type: boolean BillingStation: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: stationType: type: string description: The type of station can be PC or iPad main: type: boolean description: True if this station is Main. quantity: type: number storeName: type: string fee: type: number flatFee: type: number rate: type: number total: type: number CCDevice: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: enabled: type: boolean description: True if this device still be connected. location: type: string description: This is location that device belong to ccdevice_type: type: string description: This is cc device type. ip_address: type: string mac_address: type: string serial_number: type: string show_tip_guide_on_pax_device: type: boolean Admin: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: email: type: string first_name: type: string last_name: type: string password: type: string passkey: type: string access_all_stores: type: boolean permissions: $ref: '#/components/schemas/AdminPermissions' AdminPermissions: type: object properties: access_partners: type: boolean access_reports: type: boolean all_stations: type: boolean app_setting: type: boolean billings: type: boolean error_log_list: type: boolean invoices: type: boolean partners: type: boolean reports: type: boolean shop_items: type: boolean shop_orders: type: boolean stores: type: boolean store_info: type: boolean holidays: type: boolean SuperAdmin: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: email: type: string password: type: string AppSettings: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: masterPickupRate: type: number masterDeliveryRate: type: number masterPickupFlatFee: type: number masterDeliveryFlatFee: type: number master_pin: type: number support_emails: type: array description: list of support email items: $ref: '#/components/schemas/SuperAdminSupportEmail' goemerchant: $ref: '#/components/schemas/GoEConfig' doordash: $ref: '#/components/schemas/DoorDashConfig' holidays: type: array items: type: object properties: name: type: string date: type: string country: type: string SuperAdminSupportEmail: type: object description: Super admin Support Emails properties: email: type: string GoEConfig: type: object description: Go E-Merchant Config properties: merchantKey: type: string achProcessorId: type: string motoProcessorId: type: string categoryText: type: string DoorDashConfig: type: object description: Door Dash Config properties: apiKey: type: string apiKeyStaging: type: string webhookApiKey: type: string Settings: allOf: - $ref: '#/components/schemas/BaseModel' - type: object properties: published: type: boolean description: true if this Store can be listed under WebOrder's stores page. is_show_auth: type: boolean accept_online_order: type: boolean description: >- true if this Store is accepting online order, false if the online store is for preview only. accept_dinein: type: boolean description: true if this Store is allowing dinein for online. accept_delivery: type: boolean description: true if this Store is allowing delivery for online orders. delay_delivery_time: type: number description: >- the time delay that we do auto Move and Send before delivery time. accept_pickup: type: boolean description: true if this Store is allowing pickup for online orders. delay_pickup_time: type: number description: the time delay that we do auto Move and Send before pickup time. delay_dinein_time: description: the auto move/send time in minutes for delay dinein time. type: number accept_online_payment: type: boolean description: true if this Store is allowing online payment. auto_move_send: type: boolean description: true if online Order should be automatically moved and sent. auto_move_send_right_way: type: boolean payment_settings: $ref: '#/components/schemas/PaymentSettings' auto_close_batch_settings: $ref: '#/components/schemas/AutoCloseBatchSettings' email_close_batch_settings: $ref: '#/components/schemas/EmailCloseBatchSettings' web_order_confirm_message: type: string description: the message to be displayed after online order is submitted. web_order_notification_emails: type: string description: the list of emails to received new order notification. ffd_images: type: array description: list of images to be display on WebOrder's front facing screen. items: $ref: '#/components/schemas/Image' ffd_show_item_name_2: type: boolean description: show name 2 ffd_messages_line1: type: string description: >- 1st line to be diplayed on front facing screen after finishing an Order. ffd_messages_line2: type: string description: >- 2nd line to be diplayed on front facing screen after finishing an Order. ffd_messages_line3: type: string description: >- 3rd line to be diplayed on front facing screen after finishing an Order. ffd_idle_timeout: type: number thanks_messages_line1: type: string description: >- 1st line to be diplayed on confirm tip screen after adjuting tip. thanks_messages_line2: type: string description: >- 2nd line to be diplayed on confirm tip screen after adjuting tip. thanks_messages_line3: type: string description: >- 3rd line to be diplayed on confirm tip screen after adjuting tip. thanks_messages_line4: type: string description: >- 4th line to be diplayed on confirm tip screen after adjuting tip. thanks_messages_line5: type: string description: >- 5th line to be diplayed on confirm tip screen after adjuting tip. fixed_delivery_fee: type: number description: fixed delivery fee to be applied to online orders. payment_types: type: array description: list of custom payment types. items: $ref: '#/components/schemas/PaymentType' default_payment_types: type: array description: list of default payment types. items: $ref: '#/components/schemas/PaymentType' deliverect_sub_payment_types: type: array description: list of deliverect sub payment types. items: $ref: '#/components/schemas/PaymentType' delivery_settings: $ref: '#/components/schemas/OnlineOrderDeliverySettings' web_order_tip_settings: $ref: '#/components/schemas/OnlineOrderTipSettings' web_order_footnotes_settings: $ref: '#/components/schemas/OnlineOrderFootnotesSettings' web_order_landing_page_settings: $ref: '#/components/schemas/OnlineOrderInfoPageSettings' web_order_biz_hour_settings: $ref: '#/components/schemas/OrderingBizHourSettings' web_order_holiday_settings: $ref: '#/components/schemas/OrderingHolidaySettings' web_order_locale_settings: description: locale settings for online store. $ref: '#/components/schemas/OrderingLocale' web_order_custom_fee_settings: $ref: '#/components/schemas/OnlineOrderCustomFeeSettings' web_order_table_ordering_settings: $ref: '#/components/schemas/OnlineOrderTableOrderingSettings' web_order_view: type: boolean description: the way web order is displayed. kiosk_landing_page_settings: $ref: '#/components/schemas/KioskLandingPageSettings' kiosk_discount_settings: type: array description: kiosk discount settings items: $ref: '#/components/schemas/KioskDiscountSettings' kiosk_tip_settings: $ref: '#/components/schemas/KioskTipSettings' online_order_catering_settings: $ref: '#/components/schemas/OnlineOrderCateringSettings' status_board_settings: $ref: '#/components/schemas/StatusBoardSettings' show_name_2: type: boolean description: show item name 2. web_order_show_category_types: type: boolean description: 'true to enable displaying of category types, false otherwise.' web_order_show_special_note: description: >- true to show special note and special note amount, false otherwise. type: boolean web_order_sync_handle_order: description: true to live sync the handle online order process. type: boolean web_order_version: description: the version of the web order. type: string pause_online_ordering: description: >- type of online order pause period. Value is stored as a number based on the enum defined on the client. type: number pause_online_ordering_before: description: The time is determine to able submit online order type: string sms_order_received: description: 'true to send sms when order received, false otherwise.' type: boolean sms_order_prepared: description: 'true send sms when order prepared, false otherwise.' type: boolean refund_code: type: object properties: code: type: string owner_list: type: array items: type: object properties: name: type: string information: type: string onscreen_signature: type: object properties: tip_1: type: number tip_2: type: number tip_3: type: number no_tip_button: type: boolean tip_for_gg: type: array items: type: number nicha_auto_trim: type: boolean nicha_frequency: type: string nicha_payment_settings: type: array items: type: object properties: name: type: string type: type: string minimum_cc_charge: type: number surcharge_amt: type: number surcharge_percent: type: number surcharge_name: type: number prompt_surcharge: type: boolean always_prompt_surcharge: type: boolean online_channels: type: array description: online channels (include Deliverect) items: $ref: '#/components/schemas/OnlineOrderingChannel' deliverect_price_type: type: string description: the price type for Deliverect. deliverect_sync_name_type: type: string description: the name type need to be sync for Deliverect. is_ffd_show_email_and_text: type: boolean description: Show/Hide the email field and the text field taxes: type: array items: $ref: '#/components/schemas/SettingTax' discounts: type: array items: $ref: '#/components/schemas/SettingDiscount' apply_cash_discount: type: boolean cash_discount_percentage: type: number void_order_reasons: type: array items: $ref: '#/components/schemas/SettingReason' void_transaction_reasons: type: array items: $ref: '#/components/schemas/SettingReason' min_cc_charge: type: number surcharge_amt: type: number surcharge_percent: type: number prompt_surcharge: type: boolean always_prompt_surcharge: type: boolean show_debit: type: boolean card_sub_payment_types: type: array items: $ref: '#/components/schemas/PaymentType' debit_sub_payment_types: type: array items: $ref: '#/components/schemas/PaymentType' cash_sub_payment_types: type: array