Skip to main content

CMS → Ordering App → HMS/POS Integration

CMS → Ordering App → HMS/POS Integration Specification

Note: All images shown in this document are provided for reference and illustration purposes only. They represent sample UI concepts and do not indicate the final or actual design/UI. The actual UI may differ based on the finalized design and implementation requirements.

1. Combo Menu

This section is the reference for how a Combo is built in CMS Setup (Self-Ordering System Setup), how it appears to the guest in the Ordering App, and how it is billed in HMS › POS › Table Order.

The Combo is an Ordering App concept only. It exists purely to help the guest select several related items together at a bundled price. It has no equivalent object in HMS. Once an order is placed, every item inside a combo is billed in HMS as its own fully independent order line, at the combo-adjusted price in grouping format.

Example used throughout this section:

Combo 1 is built from two selectable groups. The guest picks one item from each group: 

Combo Sub-Group

Selectable Items

(standalone price)

Combo Price

(when chosen inside Combo 1)

Chicken Momo (pick 1)
  • Jhol Momo           - ¥120
  • Fry Momo             - ¥140
  • Steam Momo        - ¥130
  • Jhol Momo selected → ¥70
Soft Drink (pick 1)
  • Coca-Cola
  • Fanta
  • Mountain Dew
  • Mountain Dew selected → ¥80

Result: guest pays ¥150 for Combo 1 (¥70 + ¥80), instead of the standalone total the two items would otherwise cost.

1.1 CMS Setup - Combo 
Field Name

Data Type

Required

Validation & Input Constraints

id String (slug)

Yes

Unique per outlet

comboName String

Yes

1–30 chars

effectiveFrom Date

No

Date from which the combo is available

effectiveTo Date

No

Date until which the combo is available

startTime Time

No

Daily start time

endTime Time

No

Daily end time

applicableDays Array ( checkbox )

Yes

Already defined 22 Sep 2026 — combo availability window.
isActive Boolean

Yes

Whether the combo is available for sale
1.2 Combo Sub-Group
Field Name Data Type Required Description
id String / Auto Yes Unique sub-group ID
title String Yes Group name
decription Text Yes -
selectionType Enum Yes Single Select / Multi Select
minSelect Integer Yes Minimum number of items guest must select
maxSelect Integer Yes Maximum number of items guest can select
required Boolean Yes Whether selection is mandatory
1.3 Combo Group Item
Field Name Data Type Required Description
itemId Reference Yes Existing Menu Item selected from Menu Setup
itemName Reference / Read-only - Automatically displayed from Menu Setup
standalonePrice Integer (JPY) / Read-only - Automatically displayed from Menu Setup
comboPrice Integer (JPY) Yes Price charged when the item is selected in this combo
isDefault Boolean No Sets the item as the default selection

1.3.1 Combo Strcuture

So the important relationship is:

image.png

The ¥120 remains the normal standalone price. The combo configuration only tells the system that when Jhol Momo is selected inside Combo 1, its price is ¥70.

image.png

Ordering app behaviour (guest-facing):

  1. The guest opens a combo (e.g. Combo 1) and sees its groups, such as "Chicken momo" and "Soft drink".
  2. Each group asks the guest to choose 1 item. The options are Jhol, Fry, or Steam momo, and Coca-Cola, Fanta, or Mountain Dew.
  3. Each option shows its combo price (¥70 for momo, ¥80 for drinks), not its standalone price.
  4. The guest can't continue until every required group has a selection.
  5. The running total updates as the guest picks (for example ¥70 + ¥80 = ¥150).
  6. Tapping "Add to order" adds the combo to the cart as one grouped line.
  7. The cart shows the chosen items under the combo, with the combo price charged for each.
  8. If the same item is ordered outside the combo, it's charged its standalone price (Jhol Momo ¥120, Mountain Dew ¥70).
  9. The guest can edit or remove the combo from the cart before placing the order.
  10. On placing the order, the guest sees the final total and a confirmation.


1.4 HMS › POS › Table Order behavior

Billing rule
HMS never receives, stores, or displays a “Combo 1” line. When the order is sent to HMS, the combo is shown in grouping format with the individual items price. Each item is then billed separately as a normal Table Order item using its combo price.

id HMS Table Order Line Item Price
1 Chicken Jhol Momo

¥70

2 Mountain Dew

¥80

When an order is placed through Mobile Order POS, the ordered items appear on the HMS >> POS >> Ordering Page.

In the Ordering Menu List, items that belong to the same combo are displayed in a Combo Grouping Format, allowing staff to clearly identify which items were ordered as part of the same combo.

image.png

1.5 Attendant Handling for Self-Ordering Orders

In the Self-Ordering App, guests do not select an attendant when placing an order. However, in HMS >> POS >> Ordering, the Attendant field is mandatory.

To handle this difference, HMS should include a dedicated default attendant for Self-Ordering App orders. This attendant should be created through seed data with a system-defined ID.

When an order is received from the Self-Ordering App, this default attendant will be automatically assigned to the order.

This ensures that orders received from the Self-Ordering App satisfy the mandatory Attendant requirement in HMS >> POS without requiring the guest to select an attendant.