Hungry Hub Pricing Rules
Acceptance of Kids at Restaurant Level
Some restaurants accept kids at the restaurant @ level, while others do not. You can retrieve data on which restaurants accept kids by using this API. API Endpoint:
{{base_url}}/api/vendor/v1/restaurants/997/find_available_people.json
Example Response:
{
"data": {
"attributes": {
"accept_kids": true
}
}
}
If accept_kids is false:
- The child(s) options should be hidden.

- The child parameters should be set to zero
0. Ifaccept_kidsistrue: - The child(s) options should be shown.

Kid's Price in a Package Level
There are also kid's prices at the package level. Some packages use kid's prices, while others do not. You can retrieve data on which package accepts a kid’s price by using this API. API Endpoint:
{{base_url}}/api/vendor/v1/restaurants/997/find_available_packages.json?adult=2&kids=0&date=2023-04-29&start_time=17:00
Example Response:
{
"data": [
{
"type_code": "ayce",
"attributes": {
"use_kids_price": true,
"kids_price_v2": [
{
"price_value": "Free"
},
{
"price_value": "฿90"
},
{
"price_value": "฿100"
}
],
},
}
],
}
Handling use_kids_price field
Based on the use_kids_price field value returned in the response, the following actions should be taken:
If use_kids_price is false:
- The adult price should be used.
If
use_kids_priceistrue: - The highest price from the
kids_price_v2array should be used.
All You Can Eat (AYCE) Package Pricing
For All You Can Eat (AYCE) packages, the following pricing formula should be used:
| Description | Formula |
|---|---|
| Total adult price | adult * menu[0].price * menu[0].qty |
| Total child price | child * menu[0].childprice * menu[0].qty |
| Total price | total_adult_price + total_child_price |
Note: qty is the number of items ordered (for AYCE, it will always be 1), and price and childprice are the prices of the menu item respectively.
Example AYCE data parameter (with indentation):
{
"date": "2023-05-13",
"time": "18:30",
"adult": 5,
"child": 2,
"ccy": "HK$",
"paynow": 0,
"totalprice": 6550,
"totalpricehk": 1503,
"menus": [
{
"id": "4043",
"name": "(Friday-Sunday) Indian Food Unlimited",
"qty": 1,
"type": "ayce",
"price": 990,
"pricehk": 227,
"childprice": 800,
"childpricehk": 184,
"links": [
"uploads/hh_package/package_menu/image/73034/Copy_of_Copy_of_Red_Sushi_Recipe_Pinterest_Graphic.png",
"uploads/hh_package/package_menu/image/72855/0001.jpg",
"uploads/hh_package/package_menu/image/90441/AYCE_Rang_Mahal_850_-_950.-_page-0001.jpg",
"uploads/hh_package/package_menu/image/90442/AYCE_Rang_Mahal_850_-_950.-_page-0002.jpg"
]
}
]
}
Party Pack (PP) Package Pricing
For Party Pack (PP) packages, the total price is simply the sum of the price of each menu item multiplied by the quantity ordered. Since there is no distinction between adult and kid pricing at the package level, there is no need to handle different pricing scenarios based on the **use_kids_price** field.
| Description | Formula |
|---|---|
| Total price | sum( |
| menu[0].price * menu[0].qty, | |
| menu[1].price * menu[1].qty | |
| ) |
Note: qty is the number of items ordered and price is the price of the menu item respectively.
Example PP data parameter (with indentation)
{
"date": "2023-05-13",
"time": "18:30",
"adult": 5,
"child": 2,
"ccy": "HK$",
"paynow": 0,
"totalprice": 9893,
"totalpricehk": 2271,
"menus": [
{
"id": "12666",
"name": "Rang Mahal x Mexicano (Friday-Sunday)",
"qty": 4,
"type": "pp",
"price": 599,
"pricehk": 138,
"childprice": 0,
"childpricehk": 0,
"links": [
"uploads/hh_package/package_menu/image/68160/AW_Hungry_hub-_Temporarily_open_11th_floor-01-01.jpg",
"uploads/hh_package/package_menu/image/67867/0001.jpg",
"uploads/hh_package/package_menu/image/67868/0002.jpg",
"uploads/hh_package/package_menu/image/67869/0003.jpg",
"uploads/hh_package/package_menu/image/67870/0004.jpg"
]
},
{
"id": "12724",
"name": "3000 F&B Credit + Free Room Night",
"qty": 3,
"type": "pp",
"price": 2499,
"pricehk": 573,
"childprice": 0,
"childpricehk": 0,
"links": [
"uploads/hh_package/package_menu/image/73865/rembrandt_staycation.png"
]
}
]
}