API List
API Documentation
Environment
· Staging : https://api.hhstaging.dev.com/api/aoa/v1
LIST API
1. Authentication Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-25662)
2. Restaurant Long-list Page
| Definition | Endpoint | Method |
|---|---|---|
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16542) | /cities.json | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16562) | /restaurants/search.json?page[size]=10&page[number]=1 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16582) | /restaurants/search.json?page[size]=10&page[number]=1&city_id=1 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16602) | /restaurants/search.json?page[size]=10&page[number]=1&name_like=Cafe | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16622) | /restaurants/search.json?page[size]=10&page[number]=2&service_type=dine_in | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16642) | /restaurants/search.json?page[size]=10&page[number]=1&service_type=delivery | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16662) | /restaurants/search.json?page[size]=10&page[number]=1&tag_ids=15,35 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16682) | /restaurants/search.json?page[size]=10&page[number]=1&price[operator]=between&price[x]=1000&price[y]=15000 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16702) | /restaurants/search.json?page[size]=10&page[number]=1&package_type=ayce,pp | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16722) | /restaurants/search.json?page[size]=10&page[number]=1&tag_ids=191,37 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16742) | /locations.json?page[size]=100&page[number]=1&sort=name_asc | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16782) | /locations.json?page[size]=100&page[number]=1&sort=name_asc&city_id=1 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16802) | /cuisines.json?page[size]=100&page[number]=1&sort=name_asc | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16822) | /cuisines.json?page[size]=100&page[number]=1&sort=name_asc&city_id=1 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16842) | /package_types.json?city_id=1 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16862) | /reservations/{reservation_id}.json | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16882) | /reservations/uuid/history.json | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16902) | /reservations/555026.json | GET |
2**. Restaurant Detail Page**
| Definition | Endpoint | Method |
|---|---|---|
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16922) | /restaurants/{restaurant_id}.json | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16942) | /restaurants/{restaurant_id}?&include_pictures=true | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16962) | /restaurant_packages.json?corporate_event_id=&include_restaurant=false&restaurant_id=837 | GET |
| Private (https://app.clickup.com/9003122396/docs/8ca1fpw-15622/8ca1fpw-16982) | /reviews.json?restaurant_id=837&sort=newest&page[number]=1&page[size]=10 | GET |
Get Cities With Restaurant Active
Get Cities
Request parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | array of string | Mandatory | ||
| id | int | Mandatory | 1 | |
| type | string | Mandatory | cities | |
| attributes | object | Mandatory | {"name": "Bangkok", "home_description": null, "icon": { "url": "https://hhstaging.hungryhub.com/uploads/city/icon/1/Bangkok.png" } | |
| name | string | Mandatory | Bangkok | |
| home_description | Tagline city | string | Mandatory | No 1 Dinning apps for special occasion |
Example Request GET - {{ _.base_url }}/cities.json
Example Response
{
"data": [
{
"id": "1",
"type": "cities",
"attributes": {
"name": "Bangkok",
"home_description": null,
"icon": {
"url": "https://hhstaging.hungryhub.com/uploads/city/icon/1/Bangkok.png"
}
}
},
{
"id": "2",
"type": "cities",
"attributes": {
"name": "Chiang Mai",
"home_description": null,
"icon": {
"url": "https://hhstaging.hungryhub.com/uploads/city/icon/2/Chiangmai.png"
}
}
}
],
"success": true,
"message": null
}
Get Restaurants List
Get Restaurant List
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", "size": "2" } | |
| sort | string | M | “new” | |
| city_id | int | M | 1 | |
| include_packages | boolean | M | false | |
| include_pictures | boolean | M | false | |
| preview_mode | boolean | M | false |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | List of restaurant | Array Object | M | Data : [{}] |
| id | Inside data object is restaurant details | int | M | 1 |
| type | Inside data object is restaurant details | string | M | restaurants |
| attributes | Inside data object is restaurant details | object | M | https://gist.github.com/nesyaafreeda/6a227822a70b42f3bfaf50fb10160e79 |
| relationships | Restaurant relationships | object | M | "relationships": { "pictures": { "data": [] }, "restaurant_packages": { "data": [] }, "last_reviews": { "data": [] }, "blogger_reviews": { "data": [] } } |
| pictures | All restaurant picture data is here | object | M | "pictures": { "data": [ { "id": "40837", "type":"restaurants-pictures" }, ] }, |
| restaurant_packages | All restaurant packages data | object | M | "restaurant_packages": { "data": [ { "id": "3576", "type": "restaurant-packages"}] } |
| last_reviews | Restaurant last views data | object | M | "last_reviews": { "data": [] } |
| blogger_reviews | Restaurant blogger review data | object | M | "blogger_reviews": { "data": [] } |
| links | All restaurant links | Object, string | M | "links": { "self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "prev": null, "next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2", "last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2" } |
| meta_data | object | M | "meta_data": { "price_ranges": {}, "total_restaurants": 2 (int)} | |
| ads | Restaurant ads data | object | M | "ads": { "data": [] } |
Example Request
{{ base_api }}/restaurants/search.json?page[size]=10&page[number]=1
Example Response
{
"data": [
{
"id": "1555",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.805902",
"lng": "100.524286",
"largest_table": 10,
"branch_id": 78,
"min_party_size": 2,
"name": "Orca Baker & Butcher Gateway Bangsue",
"names": {
"th": "Orca Baker & Butcher Lasalle's Avenue",
"en": "Orca Baker & Butcher Gateway Bangsue"
},
"slug": "orca-baker-butcher-gateway-bangsue",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 10,
"map_location": "http://www.google.com/maps?q=13.805902,100.524286",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Italian",
"primary_cuisine": {
"id": 8,
"name": "Italian"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/orca-baker-butcher-gateway-bangsue?locale=th",
"last_booking_was_made": "Tue, 15 Nov 2022 03:47:43 +0000",
"total_covers": 96,
"time_slots": {},
"reservation_system_only": false,
"phone": "023010210",
"phone_for_delivery": "023010210"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39832",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3576",
"type": "restaurant-packages"
},
{
"id": "3578",
"type": "restaurant-packages"
}
]
}
}
},
{
"id": "1554",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.741448",
"lng": "100.511455",
"largest_table": 10,
"branch_id": 76,
"min_party_size": 2,
"name": "Ryoshi Sushi I'm Chinatown",
"names": {
"th": "เรียวชิ ซูชิ เกตเวย์ ไชน่าทาวน์",
"en": "Ryoshi Sushi I'm Chinatown"
},
"slug": "ryoshi-sushi-i-m-chinatown",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 1,
"map_location": "http://www.google.com/maps?q=13.741448,100.511455",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Japanese",
"primary_cuisine": {
"id": 11,
"name": "Japanese"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/ryoshi-sushi-i-m-chinatown?locale=th",
"last_booking_was_made": "Mon, 06 Jul 2020 08:18:26 +0000",
"total_covers": 19,
"time_slots": {},
"reservation_system_only": false,
"phone": "020666742",
"phone_for_delivery": "020666742"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39797",
"type": "restaurants-pictures"
},
{
"id": "39798",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3571",
"type": "restaurant-packages"
},
{
"id": "3573",
"type": "restaurant-packages"
}
]
}
}
}
],
"links": {
"self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"prev": null,
"next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2",
"last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2"
},
"success": true,
"message": null,
"meta_data": {
"price_ranges": {},
"total_restaurants": 2
},
"ads": {
"data": []
}
}
Get Restaurants By City (Bangkok)
Get Restaurant By city (bangkok)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| city_id | int | M | "city_id": "2", | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter (the response same as restaurant list) Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | List of restaurant | Array Object | M | Data : [{}] |
| id | Inside data object is restaurant details | int | M | 1 |
| type | Inside data object is restaurant details | string | M | restaurants |
| attributes | Inside data object is restaurant details | object | M | https://gist.github.com/nesyaafreeda/6a227822a70b42f3bfaf50fb10160e79 |
| relationships | Restaurant relationships | object | M | "relationships": { "pictures": { "data": [] }, "restaurant_packages": { "data": [] }, "last_reviews": { "data": [] }, "blogger_reviews": { "data": [] } } |
| pictures | All restaurant picture data is here | object | M | "pictures": { "data": [ { "id": "40837", "type":"restaurants-pictures" }, ] }, |
| restaurant_packages | All restaurant packages data | object | M | "restaurant_packages": { "data": [ { "id": "3576", "type": "restaurant-packages"}] } |
| last_reviews | Restaurant last views data | object | M | "last_reviews": { "data": [] } |
| blogger_reviews | Restaurant blogger review data | object | M | "blogger_reviews": { "data": [] } |
| links | All restaurant links | Object, string | M | "links": { "self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "prev": null, "next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2", "last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2" } |
| meta_data | object | M | "meta_data": { "price_ranges": {}, "total_restaurants": 2 (int)} | |
| ads | Restaurant ads data | object | M | "ads": { "data": [] } |
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": "{{ minor_version }}",
"sort": "new",
"city_id": "1",
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response (the response same as restaurant list)
{
"data": [
{
"id": "1555",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.805902",
"lng": "100.524286",
"largest_table": 10,
"branch_id": 78,
"min_party_size": 2,
"name": "Orca Baker & Butcher Gateway Bangsue",
"names": {
"th": "Orca Baker & Butcher Lasalle's Avenue",
"en": "Orca Baker & Butcher Gateway Bangsue"
},
"slug": "orca-baker-butcher-gateway-bangsue",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 10,
"map_location": "http://www.google.com/maps?q=13.805902,100.524286",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Italian",
"primary_cuisine": {
"id": 8,
"name": "Italian"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/orca-baker-butcher-gateway-bangsue?locale=th",
"last_booking_was_made": "Tue, 15 Nov 2022 03:47:43 +0000",
"total_covers": 96,
"time_slots": {},
"reservation_system_only": false,
"phone": "023010210",
"phone_for_delivery": "023010210"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39832",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3576",
"type": "restaurant-packages"
},
{
"id": "3578",
"type": "restaurant-packages"
}
]
}
}
},
{
"id": "1554",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.741448",
"lng": "100.511455",
"largest_table": 10,
"branch_id": 76,
"min_party_size": 2,
"name": "Ryoshi Sushi I'm Chinatown",
"names": {
"th": "เรียวชิ ซูชิ เกตเวย์ ไชน่าทาวน์",
"en": "Ryoshi Sushi I'm Chinatown"
},
"slug": "ryoshi-sushi-i-m-chinatown",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 1,
"map_location": "http://www.google.com/maps?q=13.741448,100.511455",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Japanese",
"primary_cuisine": {
"id": 11,
"name": "Japanese"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/ryoshi-sushi-i-m-chinatown?locale=th",
"last_booking_was_made": "Mon, 06 Jul 2020 08:18:26 +0000",
"total_covers": 19,
"time_slots": {},
"reservation_system_only": false,
"phone": "020666742",
"phone_for_delivery": "020666742"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39797",
"type": "restaurants-pictures"
},
{
"id": "39798",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3571",
"type": "restaurant-packages"
},
{
"id": "3573",
"type": "restaurant-packages"
}
]
}
}
}
],
"links": {
"self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"prev": null,
"next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2",
"last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2"
},
"success": true,
"message": null,
"meta_data": {
"price_ranges": {},
"total_restaurants": 2
},
"ads": {
"data": []
}
}
Search Restaurants By Name
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| name_like | string | M | "name_like": "Cafe", | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | List of restaurant | Array Object | M | Data : [{}] |
| id | Inside data object is restaurant details | int | M | 1 |
| type | Inside data object is restaurant details | string | M | restaurants |
| attributes | Inside data object is restaurant details | object | M | https://gist.github.com/nesyaafreeda/6a227822a70b42f3bfaf50fb10160e79 |
| relationships | Restaurant relationships | object | M | "relationships": { "pictures": { "data": [] }, "restaurant_packages": { "data": [] }, "last_reviews": { "data": [] }, "blogger_reviews": { "data": [] } } |
| pictures | All restaurant picture data is here | object | M | "pictures": { "data": [ { "id": "40837", "type":"restaurants-pictures" }, ] }, |
| restaurant_packages | All restaurant packages data | object | M | "restaurant_packages": { "data": [ { "id": "3576", "type": "restaurant-packages"}] } |
| last_reviews | Restaurant last views data | object | M | "last_reviews": { "data": [] } |
| blogger_reviews | Restaurant blogger review data | object | M | "blogger_reviews": { "data": [] } |
| links | All restaurant links | Object, string | M | "links": { "self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2", "prev": null, "next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2", "last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2" } |
| meta_data | object | M | "meta_data": { "price_ranges": {}, "total_restaurants": 2 (int)} | |
| ads | Restaurant ads data | object | M | "ads": { "data": [] } |
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"name_like": "Cafe",
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response JSON
{
"data": [
{
"id": "1555",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.805902",
"lng": "100.524286",
"largest_table": 10,
"branch_id": 78,
"min_party_size": 2,
"name": "Orca Baker & Butcher Gateway Bangsue",
"names": {
"th": "Orca Baker & Butcher Lasalle's Avenue",
"en": "Orca Baker & Butcher Gateway Bangsue"
},
"slug": "orca-baker-butcher-gateway-bangsue",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 10,
"map_location": "http://www.google.com/maps?q=13.805902,100.524286",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Italian",
"primary_cuisine": {
"id": 8,
"name": "Italian"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/orca-baker-butcher-gateway-bangsue?locale=th",
"last_booking_was_made": "Tue, 15 Nov 2022 03:47:43 +0000",
"total_covers": 96,
"time_slots": {},
"reservation_system_only": false,
"phone": "023010210",
"phone_for_delivery": "023010210"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39832",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3576",
"type": "restaurant-packages"
},
{
"id": "3578",
"type": "restaurant-packages"
}
]
}
}
},
{
"id": "1554",
"type": "restaurants",
"attributes": {
"lowest_ayce_price": "990฿",
"lowest_pp_price": null,
"lowest_xp_price": null,
"lowest_hs_price": null,
"lowest_bfp_price": null,
"lowest_sm_price": null,
"lowest_hah_price": null,
"price_per_person": {
"amount": "990.0",
"currency": "THB",
"symbol": "฿",
"format": "990฿"
},
"price_and_pricing_type": {
"amount": 990,
"currency": "THB",
"symbol": "฿",
"format": "990฿",
"pricing_type": "per_person"
},
"is_deleted": false,
"lat": "13.741448",
"lng": "100.511455",
"largest_table": 10,
"branch_id": 76,
"min_party_size": 2,
"name": "Ryoshi Sushi I'm Chinatown",
"names": {
"th": "เรียวชิ ซูชิ เกตเวย์ ไชน่าทาวน์",
"en": "Ryoshi Sushi I'm Chinatown"
},
"slug": "ryoshi-sushi-i-m-chinatown",
"favorited": false,
"allow_booking": true,
"availability": "in stock",
"reviews_score": 5.0,
"reviews_count": 1,
"map_location": "http://www.google.com/maps?q=13.741448,100.511455",
"promoted_by_hh": true,
"enable_big_group_feature": true,
"location": "Lasalle",
"primary_location": {
"id": 315,
"name": "Lasalle"
},
"cuisine": "Japanese",
"primary_cuisine": {
"id": 11,
"name": "Japanese"
},
"image_cover_url": {
"thumb": "",
"large": "",
"square": ""
},
"canonical_link": "https://hungryhub-build-staging.netlify.app/restaurants/ryoshi-sushi-i-m-chinatown?locale=th",
"last_booking_was_made": "Mon, 06 Jul 2020 08:18:26 +0000",
"total_covers": 19,
"time_slots": {},
"reservation_system_only": false,
"phone": "020666742",
"phone_for_delivery": "020666742"
},
"relationships": {
"pictures": {
"data": [
{
"id": "39797",
"type": "restaurants-pictures"
},
{
"id": "39798",
"type": "restaurants-pictures"
}
]
},
"restaurant_packages": {
"data": [
{
"id": "3571",
"type": "restaurant-packages"
},
{
"id": "3573",
"type": "restaurant-packages"
}
]
}
}
}
],
"links": {
"self": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"first": "/api/v5/restaurants/search.json?page%5Bnumber%5D=1&page%5Bsize%5D=2",
"prev": null,
"next": "/api/v5/restaurants/search.json?page%5Bnumber%5D=2&page%5Bsize%5D=2",
"last": "/api/v5/restaurants/search.json?page%5Bnumber%5D=149&page%5Bsize%5D=2"
},
"success": true,
"message": null,
"meta_data": {
"price_ranges": {},
"total_restaurants": 2
},
"ads": {
"data": []
}
}
Filter Restaurants By Service Type (Dine In)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| service_type | string | M | "service_type": "delivery" OR "service_type": "dine_in", | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter(the response same as restaurant list)
| Field Name | Description | Data type | M/O | Sample Value |
|---|
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"service_type": "delivery", -> change this to "service_type": "dine_in" if you search dine in restaurant
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response
(the response same as restaurant list)
Filter Restaurants By Service Type (Delivery)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| service_type | string | M | "service_type": "delivery" OR "service_type": "dine_in", | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter(the response same as restaurant list)
| Field Name | Description | Data type | M/O | Sample Value |
|---|
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"service_type": "delivery", -> change this to "service_type": "dine_in" if you search dine in restaurant
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response
(the response same as restaurant list)
Filter Restaurants By Cuisines (Cuisine IDs)
Filter Restaurants By Cuisines (Cuisine IDs)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| tag_ids | Array integer | M | "tag_ids": [191,37], | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter(the response same as restaurant list)
| Field Name | Description | Data type | M/O | Sample Value |
|---|
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"tag_ids": [191,37],
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response
(the response same as restaurant list)
Filter Restaurants By Price Range (1000 - 15000)
Filter Restaurants By Price Range (1000 - 15000)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| price | object | M | "price":{ "Operator":"between", "x": 1000, "y": 15000 } | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter(the response same as restaurant list)
| Field Name | Description | Data type | M/O | Sample Value |
|---|
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"price":{
"operator": "between",
"x": 1000,
"y": 15000
},
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response
(the response same as restaurant list)
Filter Restaurants By Package Type (All You Can Eat & Party Pack)
Get package type
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| city_id | int | Optional | 1 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | array of string | Mandatory | ||
| id | int | Mandatory | 1 | |
| type | package | string | Mandatory | package_type |
| attributes | object | Mandatory | ||
| title | Tittle city | string | Mandatory | All You Can Eat |
| description | description | string | Mandatory | |
| package_type_code | string | Mandatory | ayce | |
| cover_img | Cover image url | object | Mandatory | |
| url | string | Mandatory |
Example Request: -
Example Response
{
"data": [
{
"id": "1",
"type": "package_type",
"attributes": {
"title": "All You Can Eat",
"description": "สั่งได้ไม่อั้น ทานได้เต็มที่ ที่ร้านโปรดของคุณ!",
"cover_img": {
"url": "/uploads/package_type/cover_img/1/Frame_39852.png"
},
"color_code": "FBEE4D",
"package_type_code": "ayce",
"alt_text": null
}
},
{
"id": "2",
"type": "package_type",
"attributes": {
"title": "Party Pack",
"description": "ชุดอาหารสุดคุ้ม เลือกเมนูได้ตามที่ต้องการ แถมคุมงบได้ง่ายขึ้น!",
"cover_img": {
"url": "/uploads/package_type/cover_img/2/Group_40052.png"
},
"color_code": "00D3C2",
"package_type_code": "pp",
"alt_text": null
}
}
],
"success": true,
"message": null
}
Get Locations By City (Bangkok)
Get All Locations
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page[number] | Limit page | integer | mandatory | 1 |
| page[size] | pagination | integer | mandatory | 100 |
| sort | Sort by | string | mandatory | name_asc |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | array of string | mandatory | ||
| id | string | mandatory | 264 | |
| type | string | mandatory | locations | |
| attributes | string | mandatory | ||
| name | Name in thai | string | mandatory | "สะพานควาย", |
| name_en | Name in english | string | mandatory | Saphan Khwai |
| total_restaurants | integer | mandatory | 312 |
Example Request
{{ _.base_url }}/api/v5/locations.json?page[size]=100&page[number]=1&sort=name_asc
Example Response
{
"data": [
{
"id": "324",
"type": "locations",
"attributes": {
"name": "กัลปพฤกษ์",
"name_en": "Kalapapruek",
"total_restaurants": 312
}
},
{
"id": "386",
"type": "locations",
"attributes": {
"name": "กาญจนาภิเษก",
"name_en": "kanchanaphisek",
"total_restaurants": 312
}
},
{
"id": "420",
"type": "locations",
"attributes": {
"name": "กิ่งแก้ว",
"name_en": "King Keaw",
"total_restaurants": 312
}
},
],
"links": {
"self": "/api/v5/locations.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=1&page%5Bsize%5D=100&sort=name_asc",
"first": "/api/v5/locations.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=1&page%5Bsize%5D=100&sort=name_asc",
"prev": null,
"next": "/api/v5/locations.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=2&page%5Bsize%5D=100&sort=name_asc",
"last": "/api//v5/locations.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=2&page%5Bsize%5D=100&sort=name_asc"
},
"success": true,
"message": null
}
Get Locations By City (Bangkok)
Get All Cuisines
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page[number] | Limit page | integer | mandatory | 1 |
| page[size] | pagination | integer | mandatory | 100 |
| sort | Sort by | string | mandatory | name_asc |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | array of string | mandatory | ||
| id | string | mandatory | 454 | |
| type | Type response | string | mandatory | cuisines |
| attributes | string | mandatory | ||
| name | Name in thai | string | mandatory | ก๋วยเตี๋ยว |
| name_en | Name in english | string | mandatory | Noodle |
| total_restaurants | Total restaurants | integer | mandatory | 312 |
| cover | Image cover | object | ||
| url | string | |||
| thumb_url | string |
Example Request
{{ _.base_url }}/api/v5/cuisines.json?page[size]=100&page[number]=1&sort=name_asc
Example Response
{
"data": [
{
"id": "454",
"type": "cuisines",
"attributes": {
"name": "Staycation",
"name_en": "Staycation",
"total_restaurants": 312,
"cover": {
"url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/454/bromo.jpeg",
"thumb_url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/454/bromo.jpeg"
}
}
},
{
"id": "762",
"type": "cuisines",
"attributes": {
"name": "Testing",
"name_en": "Testing",
"total_restaurants": 312,
"cover": {
"url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/762/825.jpg",
"thumb_url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/762/825.jpg"
}
}
},
{
"id": "14",
"type": "cuisines",
"attributes": {
"name": "ก๋วยเตี๋ยว",
"name_en": "Noodle",
"total_restaurants": 312,
"cover": {
"url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/14/cuisine-noodle.jpeg",
"thumb_url": "https://hhstaging.hungryhub.com/uploads/restaurant_tag/cover/14/cuisine-noodle.jpeg"
}
}
},
],
"links": {
"self": "/api/v5/cuisines.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=1&page%5Bsize%5D=100&sort=name_asc",
"first": "/api/v5/cuisines.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=1&page%5Bsize%5D=100&sort=name_asc",
"prev": null,
"next": null,
"last": "/api/v5/cuisines.json?page%5Bnumber%5D=1&page%5Bsize%5D=100&page%5Bnumber%5D=1&page%5Bsize%5D=100&sort=name_asc"
},
"success": true,
"message": null
}
Filter Restaurants By Locations (Location IDs)
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| page | object | M | "page": { "number": "1", (page number) "size": "2" (size per page) } | |
| minor_version | int | M | "minor_version": 3, | |
| sort | Sort by | string | M | "sort": "new", |
| tag_ids | Array integer | M | "tag_ids": [191,37], | |
| include_packages | boolean | M | "include_packages": false, | |
| include_pictures | boolean | M | "include_pictures": false, | |
| preview_mode | boolean | M | "preview_mode": false |
Response parameter(the response same as restaurant list)
| Field Name | Description | Data type | M/O | Sample Value |
|---|
Example Request JSON
{
"page": {
"number": "1",
"size": "2"
},
"minor_version": 3,
"sort": "new",
"tag_ids": [191,37],
"include_packages": false,
"include_pictures": false,
"preview_mode": false
}
Example Response
(the response same as restaurant list)
Get Locations By City (Bangkok)
Get Package Types
Get Package types
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| city_id | int | mandatory | 1 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Array of obj | mandatory | ||
| id | string | mandatory | 1 | |
| attributes | obj | mandatory | ||
| id | string | mandatory | 1 | |
| tittle | Tittle package | string | mandatory | All You Can Ea |
| description | Description package | string | mandatory | Unlimited dining at your favorite restaurants! |
| cover_img | Image package | string | obj | https://hhstaging.hungryhub.com/uploads/package_type/cover_img/1/preview-gallery-Frame_3981__1_.png |
| color_code | Code color | string | mandatory | https://hhstaging.hungryhub.com/uploads/package_type/cover_img/1/preview-gallery-Frame_3981__1_.png |
| package_type_code | Package type | string | mandatory | ayce |
| alt_text | string | mandatory | "text in en |
Example Request
{{ _.base_url }}/api/v5/package_types.json?city_id=1
Example Response
{
"data": [
{
"id": "1",
"type": "package_type",
"attributes": {
"id": 1,
"title": "All You Can Eat",
"description": "Unlimited dining at your favorite restaurants!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/1/preview-gallery-Frame_3981__1_.png"
},
"color_code": "FBEE4D",
"package_type_code": "ayce",
"alt_text": "text in en"
}
},
{
"id": "2",
"type": "package_type",
"attributes": {
"id": 2,
"title": "Party Pack",
"description": "Pick and choose from a large menu at a controlled price!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/2/PP.png"
},
"color_code": "00D3C2",
"package_type_code": "pp",
"alt_text": "Coba"
}
},
{
"id": "3",
"type": "package_type",
"attributes": {
"id": 3,
"title": "Xperience",
"description": "Pair dining deals with your favorite experiences!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/3/XP.png"
},
"color_code": "8FDCE4",
"package_type_code": "xp",
"alt_text": null
}
},
{
"id": "4",
"type": "package_type",
"attributes": {
"id": 4,
"title": "Hungry Lunch",
"description": "Pair dining deals with your favorite experiences!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/4/default-restaurant-logo.png"
},
"color_code": "6ABFFF",
"package_type_code": "hs",
"alt_text": null
}
},
{
"id": "5",
"type": "package_type",
"attributes": {
"id": 5,
"title": "Buffet Plus",
"description": "Special buffets with exclusive perks!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/5/BY.png"
},
"color_code": "FFAA4B",
"package_type_code": "bfp",
"alt_text": null
}
},
{
"id": "7",
"type": "package_type",
"attributes": {
"id": 7,
"title": "Hungry@Home",
"description": "Exclusive deals ready for delivery and self pick-up!",
"cover_img": {
"url": "https://hhstaging.hungryhub.com/uploads/package_type/cover_img/7/HH__1_.png"
},
"color_code": "BC64FF",
"package_type_code": "hah",
"alt_text": null
}
}
]
}
Get Detail Booking Based On UUID
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| booking_id | integer | Mandatory | 539495 | |
| payload | token | obj | Mandatory | "M2Y4N2ZiYjljLTgxYTUtMTFlZC1hMWViLTAyNDJhYzEyMDAwMg==" |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Mandatory | |||
| id | Booking id | int | Mandatory | 539495 |
| type | string | Mandatory | reservation | |
| attributes | obj | Mandatory | ||
| restaurant_id | restaurant_id | string | Mandatory | 816 |
| date | Booking date | string | Mandatory | |
| name | User name | string | Mandatory | monyta |
| special_request | Any special request to restaurant | string | Mandatory | spicy |
| adult | Customer adult | int | Mandatory | 1 |
| kids | Customer kids | int | Mandatory | 1 |
| qrcode | Qrcode booking | base64 | Mandatory | data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0AQAAAADjreInAAACE0lEQVR4nO3cQW7CMBBAURsq0R3cINwkvVnIzcpNyA3Krkilbjy2aztEFRIJxeh70ybhaVhZ48kMC3PT+lio2xYej8fj8Xg8Ho/H4/F4PP5Kb3S2Xuy9cLFRp/zpZvr4eDy+aB/Lup9KNhR3cZCHy/j0MFN8PB5fsm+T7KLfPbTeqb3e+oc+Q3mbMT4ej38i3+omSzfuHR+Px5fsY/7xP/HxeHwhvnFNbfK/1D92qv694csh7zPGx+Pxpfr4fuU1/UgnBZFzfLqdKT4ejy/U67yx/kvuSf207vOP1aDtfvr4eDz+CXzns4xlOK50vv/DfzQviDze98fj8Xf3Rmv3/nbbX6xi/lGn6YbdVxr6P/B4/KivZXc4uf5TWz/N+j/sjVAQmSc+Ho8v09v9ofXljiT/2Pfbha1/fKcFkTni4/H4Qn2/d9g/druozFGvzNmlGzH/kE80viAyeXw8Hl+0d6eTaph/HNQxDNS5VZF/4PH41I/N34b8Yy0DdX65A83k8fF4fNE+n7+V5eZfjnptTvH9LfUPPB5/6dP5WxXLpclAv52/pf6Bx+P/9r5cauS4Yl/oyu7B/Asej7/Kh4JqJwMxvsOsoX8dj8eP+GYw3eIPNFV/flna/o/8he708fF4fKn+Yv429K+7/MN3iNB/isfjB35s/jb83Mc63LjMUB7m++PxeDwej8fj8Xg8Ho/H40fXD9X1YqrKyLVOAAAAAElFTkSuQmCC |
| phone | Customer phone | string | Mandatory | 0812343 |
| Customer email | string | Mandatory | test@gmail.com | |
| service_type | Service type | string | Mandatory | dine_in |
| service_type_humanize | string | Mandatory | Dine_in | |
| distance_to_restaurant | Delivery only | int | Mandatory | 2 |
| encrypted_id | Encrypted booking id | string | Mandatory | 6gmO1 |
| qr_code_for_payment | qrcode | string | Mandatory | null |
| charge_price | Charge price | int | Mandatory | 2980 |
| total_price | Total price | int | Mandatory | 3000 |
| charge_amount_type | Type charge | string | Mandatory | relative |
| charge_percent | Percent charge | int | Mandatory | 100 |
| charge_type | Charge type | string | Mandatory | on_charge |
| delivery_fee_in_baht | Delivery fee | string | Mandatory | 0 |
| delivery_fee_per_km_in_baht | Delivery fee in km | string | Mandatory | 10 |
| skip_start_time | boolean | Mandatory | false | |
| true_wallet_url | Url true wallet | string | Mandatory | |
| shopee_pay_url | Url shopee pay | string | Mandatory | |
| corporate_event_id | Mandatory | |||
| reservation_encrypted_id | Encrypt booking id | string | Mandatory | 6gmO1 |
| partner_user_id | partner user id | string | Mandatory | M2Y4N2ZiYjljLTgxYTUtMTFlZC1hMWViLTAyNDJhYzEyMDAwMg== |
Example Request
curl --request GET \
--url https://hhstaging.hungryhub.com/api/v5/reservations/555026.json \
--header 'Content-Type: application/json' \
--header 'X-HH-Language: en-US' \
--data '{
"token": "M2Y4N2ZiYjljLTgxYTUtMTFlZC1hMWViLTAyNDJhYzEyMDAwMg=="
}'
Example Response
{
"data": {
"id": "539495",
"type": "reservations",
"attributes": {
"restaurant_id": 816,
"date": "2021-03-05",
"name": monyta,
"special_request": "กระเพราเนื้อไม่ใส่น้ำมันนะครับ ผัดน้ำเปล่าเลยครับ ( แกงเขียวหวานไก่ (พร้อมข้าวสวยหอมมะลิ) X1,ข้าวกะเพราเนื้อวากิว + ไข่ออนเซ็น X1,สลัดซีซ่าร์ X1,ซุปเห็ดทรัฟเฟิล 1 ถ้วย + ขนมปังกระเทียม X1,สเต๊กปลาแซลมอน เสิร์ฟพร้อมซอสเทอริยากิ X1,กุ้งแม่น้ำย่าง 4 ตัว + น้ำจิ้มซีฟู้ด X1,ช็อคโกแลตลาวา เสิร์ฟพร้อมซอสราสเบอร์รี่ X1)",
"adult": 1,
"kids": 0,
"qrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0AQAAAADjreInAAACE0lEQVR4nO3cQW7CMBBAURsq0R3cINwkvVnIzcpNyA3Krkilbjy2aztEFRIJxeh70ybhaVhZ48kMC3PT+lio2xYej8fj8Xg8Ho/H4/F4PP5Kb3S2Xuy9cLFRp/zpZvr4eDy+aB/Lup9KNhR3cZCHy/j0MFN8PB5fsm+T7KLfPbTeqb3e+oc+Q3mbMT4ej38i3+omSzfuHR+Px5fsY/7xP/HxeHwhvnFNbfK/1D92qv694csh7zPGx+Pxpfr4fuU1/UgnBZFzfLqdKT4ejy/U67yx/kvuSf207vOP1aDtfvr4eDz+CXzns4xlOK50vv/DfzQviDze98fj8Xf3Rmv3/nbbX6xi/lGn6YbdVxr6P/B4/KivZXc4uf5TWz/N+j/sjVAQmSc+Ho8v09v9ofXljiT/2Pfbha1/fKcFkTni4/H4Qn2/d9g/druozFGvzNmlGzH/kE80viAyeXw8Hl+0d6eTaph/HNQxDNS5VZF/4PH41I/N34b8Yy0DdX65A83k8fF4fNE+n7+V5eZfjnptTvH9LfUPPB5/6dP5WxXLpclAv52/pf6Bx+P/9r5cauS4Yl/oyu7B/Asej7/Kh4JqJwMxvsOsoX8dj8eP+GYw3eIPNFV/flna/o/8he708fF4fKn+Yv429K+7/MN3iNB/isfjB35s/jb83Mc63LjMUB7m++PxeDwej8fj8Xg8Ho/H40fXD9X1YqrKyLVOAAAAAElFTkSuQmCC",
"phone": "+66857732771",
"email": "hihihi@gmail.com",
"service_type": "dine_in",
"service_type_humanize": "Dine In",
"delivery_address_humanize": null,
"distance_to_restaurant": null,
"encrypted_id": "6gmO1",
"qr_code_for_payment": null,
"charge_price": 2980,
"total_price": 1000,
"charge_amount_type": "relative",
"charge_percent": 100,
"charge_type": "on_charge",
"delivery_fee_in_baht": "0",
"delivery_fee_per_km_in_baht": "20",
"skip_start_time": false,
"true_wallet_url": "",
"shopee_pay_url": "",
"corporate_event_id": null,
"reservation_encrypted_id": "6gmO1",
"partner_user_id": null
}
},
"success": true
}
Get Booking Histories
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| token | Token from auth | string | Mandatory | M2Y4N2ZiYjljLTgxYTUtMTFlZC1hMWViLTAyNDJhYzEyMDAwMg== |
| sort | Sorting | string | Optional | created_at_desc |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Array of obj | |||
| id | Booking id | string | 555026 | |
| type | reservation | string | reservation | |
| attributes | object | |||
| id | Booking id | int | 555026 | |
| restaurant_id | Restaurant id | string | 443 | |
| created_at | Booking creation date | s | 2022-11-15T20:00:00+07:00 | |
| date | Booking date | string | 2022-11-18 | |
| name | Booking name | string | testing | |
| special_request | Special request | string | ||
| adult | Customer adult | int | 2 | |
| kids | Customer kids | int | 0 | |
| phone | Customer phone | string | 66628212472 | |
| Customer email | string | test@gmail.com | ||
| service_type | Service type | string | dine_in | |
| service_type_humanize | string | Dine_in | ||
| distance_to_restaurant | For delivery distance | string | 2 | |
| encrypted_id | Encrypted booking | string | y3J8P | |
| qr_code_for_payment | Qr code paymenr | base64 | ||
| charge_price | price | int | 1780 | |
| total_price | Total price | int | 1780 | |
| charge_amount_type | Charge type | string | relative | |
| charge_percent | Charge percent | int | 100 | |
| charge_type | Charge type | |||
| delivery_fee_in_baht | Delivery fee | string | 0 | |
| delivery_fee_per_km_in_baht | Delivery fee per km | string | 10 | |
| skip_start_time | boolean | false | ||
| true_wallet_url | Url true wallet | string | ||
| shopee_pay_url | Url shopee pay | string | ||
| corporate_event_id | Even id | string | ||
| reservation_encrypted_id | string | y3J8P | ||
| partner_user_id | Uuid from partner when auth | string | 3f87fbb9c-81a5-11ed-a1eb-0242ac120002 | |
| delivery_fee | object | |||
| amount | int | 10 | ||
| format | string | ฿10 | ||
| currency | string | THB | ||
| image_cover_url | object | |||
| thumb | string | https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg | ||
| large | string | https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg | ||
| square | string | https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg | ||
| original_delivery_fee | object | |||
| amount | int | 10 | ||
| format | string | ฿10 | ||
| currency | string | THB | ||
| start_time | Start time booking | string | 18:15 | |
| status | Status booking | string | arrived | |
| status_as_symbol | string | Arrived | ||
| share_url | Shere url | string | https://hhstaging.hungryhub.com/share-to-friends.html?reservation_id=y3J8P | |
| modify_url | string | https://hhstaging.hungryhub.com/reservations/my-reservation/y3J8P.html | ||
| estimation_delivered_at | For delivery service | string | 19:00 | |
| driver_tracking_link | For delivery service | string | ||
| review_url | Reviewers url | string | https://hhstaging.hungryhub.com/bookings/y3J8P/reviews/new.htm | |
| packages | List package | Array of obj | ||
| name | Package name | string | Mojjo All You Can Eat with Free Flow Mocktail | |
| amount | Amount package | string | 890 | |
| net_price | Net price | string | ฿890 | |
| quantity | qty | string | 2 | |
| id | Package id | string | 1149 | |
| is_add_on | Add on package | boolean | false | |
| pricing_type | Type pricing | string | per_person | |
| sections | section | |||
| kids_price_rate | Kids rate | int | 50 | |
| kids_price_v2 | Kids v2 | Array of obj | [ { "price_policy":"Height not over 80 cm", "price_value":"Free" }, { "price_policy":"Height between 81-100 cm", "price_value":"฿99" }, { "price_policy":"Height between 101-130 cm", "price_value":"฿445" } | |
| use_kids_price | Use kids price | boolean | true | |
| rules | Rules restaurant | Array of obj | [ { "price_description":"", "price":"฿900", "min_seat":2, "max_seat":"Infinity", "per_pack":null, "duration":90 } ] | |
| skip_time_selection | string | |||
| is_accept_many_quantity | Accept many qty | boolean | false | |
| custom_net_price | string | |||
| delivery_status | For delivery service | string | ||
| driver | Driver name | object | ||
| price_amount | amount | string | 1780.0 | |
| price_currency | currency | string | THB | |
| type | Type package | string | All You Can Eat | |
| pricing_type | Package type | string | per_person | |
| type_short | Package type short | string | ayce | |
| restaurant_name | Restaurant name | string | Mojjo Rooftop Lounge & Bar | |
| restaurant_name_en | Restaurant name english | string | Mojjo Rooftop Lounge & Bar | |
| my_rating | User rating | int | 0 | |
| hungry_points | Hungry points | int | 20 | |
| has_prepayment | Selection for payment | boolean | false | |
| used_voucher | Used voucher | array | ||
| payment_type | Payment type | string | ||
| reedem_points | points | string | ||
| dining_occasion | int | |||
| map_location | Maps restaurant | string | mandatory | http://www.google.com/maps?q=13.729206,100.569088 |
| metadata | Pagination for history | object | mandatory | |
| scaffold_url | Url history booking | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=__pagy_page__ |
| first_url | First url | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1 |
| prev_url | Preview url | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page= |
| page_url | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1 | |
| next_url | Next url | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page= |
| last_url | Last url | string | mandatory | https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1 |
| count | Count history | int | mandatory | 1 |
| page | page | int | mandatory | 1 |
| items | Total items | int | mandatory | 1 |
| vars | object | mandatory | ||
| page | int | mandatory | 1 | |
| items | Total items | int | mandatory | 20 |
| outsize | int | mandatory | 0 | |
| size | Format pagination | array | [ 1, 4, 4, 1 ] | |
| page_param | params | string | page | |
| params | object | |||
| anchor | string | |||
| link_extra | string | |||
| i18n_key | string | pagy.item_name | ||
| cycle | boolean | |||
| metadata | array | [ "scaffold_url", "first_url", "prev_url", "page_url", "next_url", "last_url", "count", "page", "items", "vars", "pages", "last", "from", "to", "prev", "next", "series" ] | ||
| steps | boolean | false | ||
| overflow | string | "empty_page" | ||
| count | int | 1 | ||
| pages | int | 1 | ||
| last | int | 1 | ||
| from | int | 1 | ||
| to | int | 1 | ||
| prev | int | |||
| next | int | |||
| series | array | [ "1" ] |
Example Request
curl --request GET \
--url https://hhstaging.hungryhub.com/api/v5/reservations/history.json \
--header 'Content-Type: application/json' \
--header 'X-HH-Language: en-US' \
--data '{
"token": "M2Y4N2ZiYjljLTgxYTUtMTFlZC1hMWViLTAyNDJhYzEyMDAwMg=="
}'
Example Response
{
"data": [
{
"id": "555026",
"type": "reservation",
"attributes": {
"id": 555026,
"restaurant_id": 643,
"date": "2022-11-18",
"name": "Monyta",
"special_request": "",
"adult": 2,
"kids": 0,
"phone": "+66628212472",
"email": "monyta@hungryhub.com",
"service_type": "dine_in",
"service_type_humanize": "Dine In",
"delivery_address_humanize": null,
"distance_to_restaurant": "0.0",
"encrypted_id": "y3J8P",
"qr_code_for_payment": null,
"charge_price": 1780,
"total_price": 1780,
"charge_amount_type": "relative",
"charge_percent": 100,
"charge_type": "on_charge",
"delivery_fee_in_baht": "0",
"delivery_fee_per_km_in_baht": "10",
"skip_start_time": false,
"true_wallet_url": "",
"shopee_pay_url": "",
"corporate_event_id": null,
"reservation_encrypted_id": "y3J8P",
"aoa_user_id": "3f87fbb9c-81a5-11ed-a1eb-0242ac120002",
"delivery_fee": {
"amount": 0,
"format": "฿0",
"currency": "THB"
},
"image_cover_url": {
"thumb": "https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg",
"large": "https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg",
"square": "https://images.hungryhub.com/uploads/restaurants/3958/photos/99187/RackMultipart20230621-211-1r7uiyi.jpg"
},
"original_delivery_fee": {
"amount": 0,
"format": "฿0",
"currency": "THB"
},
"start_time": "18:15",
"status": "Arrived",
"status_as_symbol": "arrived",
"share_url": "https://hhstaging.hungryhub.com/share-to-friends.html?reservation_id=y3J8P",
"modify_url": "https://hhstaging.hungryhub.com/reservations/my-reservation/y3J8P.html",
"estimation_delivered_at": "",
"driver_tracking_link": "",
"review_url": "https://hhstaging.hungryhub.com/bookings/y3J8P/reviews/new.html",
"packages": [
{
"name": "Mojjo All You Can Eat with Free Flow Mocktail",
"amount": "890.0",
"net_price": "฿890",
"quantity": 1,
"id": 1149,
"is_add_on": false,
"pricing_type": "per_person",
"sections": [],
"kids_price_rate": 50,
"kids_price_v2": [
{
"price_policy": "Height not over 80 cm",
"price_value": "Free"
},
{
"price_policy": "Height between 81-100 cm",
"price_value": "฿99"
},
{
"price_policy": "Height between 101-130 cm",
"price_value": "฿445"
}
],
"use_kids_price": true,
"rules": [
{
"price_description": "",
"price": "฿900",
"min_seat": 2,
"max_seat": "Infinity",
"per_pack": 1,
"duration": 90
}
],
"skip_time_selection": false,
"is_accept_many_quantity": false,
"custom_net_price": ""
}
],
"delivery_status": "",
"driver": {},
"price_amount": "1780.0",
"price_currency": "THB",
"type": "All You Can Eat",
"pricing_type": "per_person",
"type_short": "ayce",
"restaurant_name": "Mojjo Rooftop Lounge & Bar",
"restaurant_name_en": "Mojjo Rooftop Lounge & Bar",
"my_rating": 0,
"hungry_points": 25,
"has_prepayment": false,
"used_vouchers": [],
"payment_type": null,
"redeemed_points": 0,
"dining_occasion": "",
"map_location": "http://www.google.com/maps?q=13.729206,100.569088"
}
}
],
"metadata": {
"scaffold_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=__pagy_page__",
"first_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1",
"prev_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=",
"page_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1",
"next_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=",
"last_url": "https://hhstaging.hungryhub.com/api/v5/reservations/history.json?page=1",
"count": 1,
"page": 1,
"items": 1,
"vars": {
"page": 1,
"items": 20,
"outset": 0,
"size": [
1,
4,
4,
1
],
"page_param": "page",
"params": {},
"anchor": "",
"link_extra": "",
"i18n_key": "pagy.item_name",
"cycle": false,
"metadata": [
"scaffold_url",
"first_url",
"prev_url",
"page_url",
"next_url",
"last_url",
"count",
"page",
"items",
"vars",
"pages",
"last",
"from",
"to",
"prev",
"next",
"series"
],
"steps": false,
"overflow": "empty_page",
"count": 1
},
"pages": 1,
"last": 1,
"from": 1,
"to": 1,
"prev": null,
"next": null,
"series": [
"1"
]
}
}
Get Reservation Detail
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| booking_id | booking id | integer | mandatory | 555026 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Array of string | mandatory | ||
| id | Booking id | mandatory | 555026 | |
| type | mandatory | reservation | ||
| attributes | mandatory | |||
| id | Booking id | int | mandatory | |
| Restaurant id | restaurant_id | string | mandatory | 643 |
| date | Date booking | string | mandatory | |
| name | Name user | string | mandatory | monyta |
| special_request | mandatory | |||
| adult | Customer adult | int | mandatory | 2 |
| kids | Customer kids | int | mandatory | 0 |
| phone | Customer phone | string | mandatory | 08122912399 |
| Customer email | string | mandatory | test@gmail.com | |
| service_type | Service type | string | mandatory | dine_in |
| service_type_humanize | mandatory | Dine_in | ||
| distance_to_restaurant | For delivery | string | mandatory | 2 |
| encrypted_id | Encrypt user | string | mandatory | y3J8P |
| charge_price | price | int | mandatory | 1780 |
| total_pice | Total price | int | mandatory | 1780 |
| charge_amount_type | Charge type | string | mandatory | relative |
| charge_percent | int | mandatory | 100 | |
| delivery_fee_in_baht | string | mandatory | 0 | |
| delivery_fee_per_km_in_baht | string | mandatory | 10 | |
| reservation_encrypted_id | Encrypt booking id | string | mandatory | y3J8P |
| partner_user_id | Uuid from partner | string | mandatory | 3f87fbb9c-81a5-11ed-a1eb-0242ac120002 |
| delivery_fee | obj | mandatory | ||
| amount | Amount delivery | int | mandatory | 100 |
| format | Format amount | string | mandatory | ฿0 |
| curency | curency | string | mandatory | THB |
| start_time | Booking date | string | mandatory | 18:15 |
| status | Booking status | string | mandatory | Arrived |
| status_as_symbol | Status symbol | string | mandatory | arrived |
| share_url | Share package | string | mandatory | https://hhstaging.hungryhub.com/share-to-friends.html?reservation_id=y3J8P |
| modify_url | string | mandatory | https://hhstaging.hungryhub.com/reservations/my-reservation/y3J8P.html" | |
| review_url | Review url | string | mandatory | https://hhstaging.hungryhub.com/bookings/y3J8P/reviews/new.html |
| packages | Array of obj | mandatory | ||
| name | Name package | string | mandatory | Mojjo All You Can Eat with Free Flow Mocktail |
| amount | amount | string | mandatory | 100 |
| net_price | Net price | string | mandatory | ฿100 |
| quantity | quantity | int | mandatory | 1 |
| id | Package id | int | mandatory | 1149 |
| is_add_on | boolean | mandatory | false | |
| pricing_type | Type of pricing | srting | mandatory | per_person |
| kids_price_rate | int | mandatory | 50 | |
| kids_price_v2 | Tiering price kids | Array of obj | mandatory | |
| price_policy | string | mandatory | Height not over 80 cm | |
| price_value | string | mandatory | free | |
| use_kids_price | Accept kids price | boolean | mandatory | true |
| rules | Array of obj | mandatory | ||
| price_description | string | mandatory | ||
| price | price | string | mandatory | "฿900 |
| min_seat | Minimum seat | string | mandatory | 2 |
| max_seat | Maximum seat | string | mandatory | infinity |
| per_pack | mandatory | |||
| duration | duration | int | mandatory | 90 |
| delivery_status | For delivery | string | mandatory | |
| price_amount | price | string | mandatory | 1780 |
| price_currency | currency | string | mandatory | THB |
| type | Type package | string | mandatory | All You Can Eat |
| pricing_type | Type pricing | string | mandatory | per_person |
| type_short | Type package short | string | mandatory | ayce |
| restaurant_name | Restaurant name | string | mandatory | Mojjo Rooftop Lounge & Bar |
| restaurant_name_en | Restaurant name en | string | mandatory | Mojjo Rooftop Lounge & Bar |
| my_rating | rating | int | mandatory | 0 |
| hungry_points | User points | int | mandatory | 16 |
| map_location | Restaurant location | string | mandatory | http://www.google.com/maps?q=13.729206,100.569088 |
| redeemed_points | points | int | mandatory | 0 |
| has_prepayment | boolean | mandatory | false |
Example Response
{
"data": {
"id": "555026",
"type": "reservation",
"attributes": {
"id": 555026,
"restaurant_id": 643,
"date": "2022-11-18",
"name": "Monyta",
"special_request": "",
"adult": 2,
"kids": 0,
"phone": "66628212472",
"email": "monyta@hungryhub.com",
"service_type": "dine_in",
"service_type_humanize": "Dine In",
"delivery_address_humanize": null,
"distance_to_restaurant": "0.0",
"encrypted_id": "y3J8P",
"qr_code_for_payment": null,
"charge_price": 1780,
"total_price": 1780,
"charge_amount_type": "relative",
"charge_percent": 100,
"charge_type": null,
"delivery_fee_in_baht": "0",
"delivery_fee_per_km_in_baht": "10",
"skip_start_time": false,
"true_wallet_url": "",
"shopee_pay_url": "",
"corporate_event_id": null,
"reservation_encrypted_id": "y3J8P",
"partner_user_id": "3f87fbb9c-81a5-11ed-a1eb-0242ac120002",
"delivery_fee": {
"amount": 0,
"format": "฿0",
"currency": "THB"
},
"original_delivery_fee": {
"amount": 0,
"format": "฿0",
"currency": "THB"
},
"start_time": "18:15",
"status": "Arrived",
"status_as_symbol": "arrived",
"share_url": "https://hhstaging.hungryhub.com/share-to-friends.html?reservation_id=y3J8P",
"modify_url": "https://hhstaging.hungryhub.com/reservations/my-reservation/y3J8P.html",
"estimation_delivered_at": "",
"driver_tracking_link": "",
"review_url": "https://hhstaging.hungryhub.com/bookings/y3J8P/reviews/new.html",
"packages": [
{
"name": "Mojjo All You Can Eat with Free Flow Mocktail",
"amount": "890.0",
"net_price": "฿890",
"quantity": 1,
"id": 1149,
"is_add_on": false,
"pricing_type": "per_person",
"sections": [],
"kids_price_rate": 50,
"kids_price_v2": [
{
"price_policy": "Height not over 80 cm",
"price_value": "Free"
},
{
"price_policy": "Height between 81-100 cm",
"price_value": "฿99"
},
{
"price_policy": "Height between 101-130 cm",
"price_value": "฿445"
}
],
"use_kids_price": true,
"rules": [
{
"price_description": "",
"price": "฿900",
"min_seat": 2,
"max_seat": "Infinity",
"per_pack": null,
"duration": 90
}
],
"skip_time_selection": null,
"is_accept_many_quantity": false,
"custom_net_price": ""
}
],
"delivery_status": "",
"driver": {},
"price_amount": "1780.0",
"price_currency": "THB",
"type": "All You Can Eat",
"pricing_type": "per_person",
"type_short": "ayce",
"restaurant_name": "Mojjo Rooftop Lounge & Bar",
"restaurant_name_en": "Mojjo Rooftop Lounge & Bar",
"my_rating": 0,
"hungry_points": 17,
"has_prepayment": false,
"used_vouchers": [],
"payment_type": null,
"redeemed_points": 0,
"dining_occasion": "",
"map_location": "http://www.google.com/maps?q=13.729206,100.569088"
}
}
}
Get Detail Restaurant
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| restaurant_id | int | mandatory | 937 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Array of string | mandatory | ||
| id | Id restaurant | string | mandatory | |
| type | Type data (where did data came from) | string | mandatory | restaurants |
| attributes | Data details | object | mandatory | |
| price_and_pricing_type | Price for restaurant package | object | mandatory | |
| amount | Price amount | number | mandatory | 678 |
| currency | Price currency | string | mandatory | THB |
| symbol | Currency symbol | string | mandatory | ฿ |
| format | Price format | string | mandatory | ฿678 |
| pricing_type | Price type | string | mandatory | |
| lat | Restaurant latitude | string | mandatory | 13.7329712264 |
| lng | Restaurant longitude | string | mandatory | 100.5801800799 |
| name | Restaurant name | string | mandatory | Audrey Cafe (Thonglor Soi 11) |
| slug | Restaurant slug | string | mandatory | audrey-cafe-thonglor-soi-11 |
| reviews_score | Restaurant review score | number | mandatory | 4.6 |
| reviews_count | Restaurant total review | number | mandatory | 9108 |
| primary_location | Restaurant location | object | mandatory | |
| id | Location id | int | mandatory | 69 |
| name | Location name | string | mandatory | Thonglor |
| primary_cuisine | Restaurant cuisine list | object | mandatory | |
| id | Restaurant cuisine id | int | mandatory | 10 |
| name | Restaurant cuisine name | string | mandatory | international |
| image_cover_url | Image url list | object | mandatory | |
| thumb | Restaurant thumbnail | string | mandatory | |
| original | Restaurant image | string | mandatory | |
| square | Restaurant square image | string | mandatory | |
| last_booking_was_made | Last customer booking date | string | mandatory | Tue, 22 Nov 2022 07:41:27 +0000 |
| expiry_date | Restaurant expiry date | string | mandatory | |
| locations | Restaurant location list | array | mandatory | "locations": [{ "id": 38, "title": "Charoen Krung"},{ "id": 39, "title": "Charoen Nakorn }] |
| is_staycation | Is restaurant accept staycation | boolean | mandatory | false |
| tag | Restaurant tag list | Array of string | mandatory | |
| logo_url | Restaurant logo | string | mandatory | |
| medium | Restaurant logo medium size | string | mandatory | |
| thumb | Restaurant logo thumbnail | string | mandatory | |
| opening_hours_short | Restaurant opening hours | string | mandatory | |
| hashtags | Restaurant hashtag list | Array of obj | optional | "hashtags": [ { "id": 26 "label": "Mega Bangna", "link_to_group_landing_page": "" }, { "id": 26 "label": "Central Pinklao", "link_to_group_landing_page": "" }] |
| available_package_types | List of available package type | Array of string | mandatory | "available_package_types": ["All You Can Eat"Hungry@Home"] |
| link | Restaurant list | string | mandatory | |
| covid19_rating | Restaurant rating on covid 19 protocol | object | mandatory | |
| overall_cleanliness | Restaurant rating about overall cleanliness | string | mandatory | 2.28 |
| social_distancing | Restaurant rating about social distancing | string | mandatory | 2.09 |
| staff_protection | Restaurant rating about staff protection | string | mandatory | 1.93 |
| relationships | Restaurant data relations | object | mandatory | |
| pictures | Restaurant pictures list | object | mandatory | |
| data | List of restaurant relation | Array of string | mandatory | |
| id | Id restaurant relation | string | mandatory | |
| type | Type of restaurant relation | string | mandatory |
Example Request
{{ _.base_url }}/api/v5/restaurants/32.json
Example Response
{
"data": { -> object
"id": "32", -> integer
"type": "restaurants", -> string
"attributes": { -> object
"price_and_pricing_type": { -> object
"amount": 0, -> integer
"currency": "THB", -> string
"symbol": "฿", -> string
"format": "0฿", -> string
"pricing_type": "per_person" -> string
},
"lat": "13.741754", -> string
"lng": "100.585404", -> string
"name": "Fifty/Fifty Restaurant and Bar", -> string
"slug": "fifty-fifty-restaurant-and-bar", -> string
"reviews_score": 0.0, -> float
"reviews_count": 0, -> integer
"primary_location": { -> object
"id": null, -> integer
"name": null -> string
},
"primary_cuisine": { -> object
"id": null, -> integer
"name": null -> string
},
"image_cover_url": { -> object
"thumb": "", -> string
"original": "", -> string
"square": "" -> string
},
"last_booking_was_made": "Fri, 19 Sep 2014 11:17:13 +0000", -> date
"expiry_date": "2022-12-31", ->date
"locations": [], -> array object
"is_staycation": false, -> boolean
"tags": [], -> array object
"logo_url": { -> object
"medium": "", -> string
"thumb": "" -> string
},
"opening_hours_short": "closed", -> string
"hashtags": [], -> array object
"available_package_types": [], -> array object
"link": "https://hungryhub-build-staging.netlify.app/en/restaurants/fifty-fifty-restaurant-and-bar", -> string
"covid19_rating": { -> object
"overall_cleanliness": "0.0", -> string
"social_distancing": "0.0", -> string
"staff_protection": "0.0" -> string
}
},
"relationships": { -> object
"pictures": { -> object
"data": [ -> array object
{
"id": "2313", -> string
"type": "restaurants-pictures" -> string
},
]
}
}
},
"success": true -> boolean
}
Example Request with picture
{{ _.base_url }}/api/v5/restaurants/32?&include_pictures=true
Example Response
https://gist.github.com/nesyaafreeda/6a2323061c01099484c0ee2196e25e21
Get Detail Restaurant with image
Get Restaurant Packages
UPDATES
we add new attribute max_package_quantity_str to store the max package quantity string
Example:
if the max_package_quantity is 23 on max_package_quantity_str will be "23"
if the max_package_quantity is 1000000 on max_package_quantity_str will be "No Limit"
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| restaurant_id | param | int | Mandatory | 837 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | array of object | Mandatory | ||
| id | Id restaurant package | int | Mandatory | 837 |
| type | Type data (where did data came from) | string | Mandatory | restaurant-packages |
| attributes | object | Mandatory | ||
| menu_link | Package menu link | string | Mandatory | https://hhstaging.hungryhub.com/en/restaurant_packages/304/menu.html?updated_at=hh_package%2Frestaurant_packages%2F304-20220407182758000000 |
| menus | Restaurant menu list | object | Mandatory | |
| types | Restaurant menu type | string | Mandatory | imenupro |
| data | obj | Mandatory | ||
| imenupro | Imenupro link menu | Array of string | Mandatory | |
| loaded | To indicate that the menu already loaded or not | boolean | Mandatory | |
| link | Package link | string | Mandatory | https://hhstaging.hungryhub.com/en/restaurant_packages/304/menu.html?updated_at=hh_package%2Frestaurant_packages%2F304-20220407182758000000 |
| slug | Package slug | string | Mandatory | 737-AY-003 |
| rank | Rank restaurant | int | Mandatory | 200 |
| rank_in_restaurant_scope | Restaurant rank | int | Mandatory | 1 |
| start_date | Start date package | string | Mandatory | "2018-09-16" |
| end_date | End date package | string | Mandatory | "2018-12-16" |
| require_cc | Required cc | boolean | Mandatory | false |
| charge_type | boolean | Mandatory | ||
| payment_type | Type of payment | string | Mandatory | "qrcode_and_creditcard” |
| skip_time_selection | string | Mandatory | ||
| hh_menu_v2_html_preview_link | If restaurant menu type use hh menu v2 it will show the link | string | Mandatory | |
| available_methods | Available payment method | string | Mandatory | |
| custom_net_price | Custom price for package | string | Mandatory | |
| no_of_courses | we show no of courses to equal package max menu quantity only if package menu type is hh_menu otherwise we show the no_of_courses from database | int | Mandatory | |
| default_start_time | Package start time | string | Mandatory | |
| max_package_quantity | Maximum package quantity | int | Mandatory | 1000000 |
| max_package_quantity_str | Maximum package quantity string | string | Mandatory | No Limit |
| charge_policy | Payment charge policy | string | Mandatory | |
| charge_policy_link | Payment charge policy link | string | Mandatory | |
| menu_quantity_limit | How many menu can be choose | int | Mandatory | |
| original_price | Package original price | obj | Mandatory | |
| price | Package price | int | Mandatory | 1699 |
| currency | Package price currency | string | Mandatory | "THB" |
| format | Package price format | string | Mandatory | "฿1,699" |
| hide_menu_price | boolean | Mandatory | ||
| is_add_on | Is this package was add on package? | boolean | Mandatory | false |
| earn_point | Is user can get earn point by buying this package | boolean | Mandatory | false |
| custom_label | Package custom label detail list | obj | Mandatory | |
| name | Package custom label name | string | Mandatory | |
| icon_url | Package custom label icon | string | Mandatory | |
| custom_labels | Package custom label list | Array of string | Mandatory | |
| menu_sections | Package menu list | Array of obj | Mandatory | |
| for_dine_in | Is this is dine in package | boolean | Mandatory | true |
| has_custom_delivery_fee | Is the delivery fee in package can be customize? | boolean | Mandatory | true |
| take_away_property | Detail take away | obj | Mandatory | |
| delivery_fee_in_baht | How much max free delivery was given in Bath | int | Mandatory | 100 |
| delivery_fee_currency | Free delivery currency | string | Mandatory | THB |
| delivery_fee_per_km_in_baht | How much free delivery cover in km | int | Mandatory | 10 |
| free_delivery_fee_threshold_in_baht | int | Mandatory | 10 | |
| delivery_radius | Radius delivery in km | int | Mandatory | 2 |
| accepted_cards | Array of obj | Mandatory | true | |
| menu_type | string | Mandatory | imenupro | |
| last_booking_was_made | Last booking | string | Mandatory | "Tue, 31 Dec 2019 03:48:28 +0000", |
| type_code | Code package | string | Mandatory | ayce |
| type_name | Package name | string | Mandatory | All You Can Eat |
| ayce_rules | Ayce Package rules | Array of object | Optional | [ { "price_description": "", -> string "price": "690฿", -> string "min_seat": 2, -> integer "max_seat": "Infinity", -> string "duration": 120, -> integer "tnc_link": "https://hhstaging.hungryhub.com/uploads/restaurants/tc/image/34/tc.png", -> string "kids_price_rate": 50 -> integer } ] |
| bfp_rules | Bfp Package rules | Array of object | Optional | [ { "price_description": "", "price": "฿1,590", "min_seat": 1, "max_seat": "Infinity", "duration": 120, "tnc_link": "https://images.hhstaging.dev/uploads/hh_package/package/buffet_extra/tnc_image/40/Copper_%E0%B8%82%E0%B8%AD%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%81%E0%B8%A3%E0%B8%B8%E0%B8%93%E0%B8%B2%E0%B8%A5%E0%B8%B9%E0%B8%81%E0%B8%84%E0%B9%89%E0%B8%B23.jpeg", "kids_price_rate": 50 } ] |
| pp_rules | pp package rules | Array of object | Optional | [{ "price_description": "฿799 per 2 adults", "price": "฿799", "per_pack": 2, "tnc_link": "https://hungryhub.com/uploads/restaurants/tc/image/80/tc.png", "kids_price_rate": 50 }] |
| rules | Package rules | Array of object | Mandatory | [{ "price_description": "฿799 per 2 adults", "price": "฿799", "min_seat": null, "max_seat": null, "per_pack": 2, "duration": 120, "kids_price_rate": 50 }] |
| package_info | Package informations | Object | Mandatory | { "min_pax": 2, "max_pax": 30, "time_limit": "2 hours", "tnc_link": "https://hungryhub.com/uploads/restaurants/tc/image/79/tc.png", "per_pack": 2, "kids_price_rate": 50 } |
| image_cover_url | Cover package image | Object | Mandatory | { "thumb": "https://images.hhstaging.dev/uploads/restaurants/997/photos/28812/RackMultipart20230420-134-qtys55.jpg", "large": "https://images.hhstaging.dev/uploads/restaurants/997/photos/28812/RackMultipart20230420-134-qtys55.jpg" } |
| restaurant_cuisine | Restaurant mandatory cuisine | String | Optional | "International" |
| restaurant_location | Restaurant Location tag | String | Optional | "Bangkok Noi" |
| restaurant_name | Restaurant name | String | Mandatory | "Copper Buffet (Hungry Hub Dine In)" |
| opening_hours | Restaurant Opening Hours | Array Object | Optional | [ { "day_name": "Monday", "schedule": { "open": "10:00", "close": "19:15" } }, { "day_name": "Tuesday", "schedule": { "open": "10:00", "close": "21:00" } } ] |
| is_accept_many_quantity | Is package accept many quantity | Boolean | Mandatory | false |
| comemore_payless | Is package have come more payless promo | Boolean | Mandatory | false |
| pricing_groups | Pricing group for package | Object | Optional | {} |
| pricing_type_sym | Package Pricing type symbol | String | Mandatory | per_person / per_pack |
| pricing_type | Package Pricing type | String | mandatory | NET price per person or NET price per pack |
| time_slots | Package time slot | Object | Optional | {} |
| pricing_mode | Pricing mode | String | Mandatory | Single or Multiple |
| is_accept_voucher | Is package accept voucher | Boolean | Mandatory | true or false |
| largest_table | Largest table for this package | Int | Mandatory | 20 |
| custom_seats | Custom seat | array | Optional | [] |
| accept_we_travel_together | Accept we travel together | Boolean | Mandatory | true or false |
| is_allow_mix | Allow mix package | boolean | Mandatory | true or false |
| restaurant_package_voucher_detail | Package voucher description | String | Mandatory | This Promo Code will have the value you specified. This Promo Code can be used with all {restaurant_name} packages. If the customer would like to use a promo code with higher value packages, customers need to pay the remaining difference by themselves. If the customer would like to use a promo code with lower value packages, customer will not be able to get the remaining balance back. This promo code can be used until {expiry_date}. |
| restaurant_package_voucher_tnc | Package voucher terms and condition | String | Mandatory | Hungry Hub Promo Code is a Promo Code that buyers can make purchases through Hungry Hub as a gift for the recipient for reservations and dine-in at participating restaurants with Hungry Hub and use this promo code in place of a cash discount. Hungry Hub Promo Code buyer (called “buyer” onwards) is the customer who makes a promo code purchase with Hungry Hub. Recipient is the person whom the Buyer wishes to give the Promo Code to (called “Recipient” onward). The Recipient needs to register with Hungry Hub before redeeming the Promo Code. Buyer is required to read and accept these terms and conditions regarding the promo code terms. Hungry Hub may adjust the promo code terms accepted by the buyer, which response to review the promo code terms regularly. Once the buyer has sent the purchase order promo code form to Hungry Hub, it is considered as the buyer has read and accepted the promo code terms. Hungry Hub reserves the right to cancel the promo code or modify the promo code terms, other terms, and privileges as a whole or some part without necessary prior notice. Hungry Hub will not be responsible for any damages, even if those changes occur after the promo code is purchased. Hungry Hub reserves the right to modify or cancel the number of restaurants participating in the promo code conditions. In any circumstance, the decision of form and usage of the promo code will be considered by Hungry Hub. The promo code can be used according to the information from the restaurant indicated on the email only. Such as packages, prices, and the number of people. The recipient is required to use the promo code prior to confirming the reservation. (promo codes cannot be used on its own at the restaurant). The recipient can use multiple promo codes on the same reservation. If the selected restaurant or package has expired or terminated and the recipient wishes to use the Promo Code, the recipient has 1 time to change the restaurant, package, or number of the promo code by contacting Hungry Hub directly. The recipient will be responsible for any additional charges if the value exceeds the promo code received by the recipient. Every use of the Promo Code, once done, cannot be changed. The promo code can only be used with a confirmed reservation from a Hungry Hub participating restaurant. The promo code is valid for 2 months after purchase. The promo code reservations must be reserved at least 1 day in advance. The promo code cannot be refunded or exchanged for cash. Hungry Hub is not responsible for any unauthorized use of the promo code by the buyer. Such as loss, theft, or destruction of the promo code confirmation email. Hungry Hub reserves the right, in its absolute discretion, to withdraw, limit, change or cancel any or all of them in the terms and conditions of the Promo Code without prior notice. If you have any problem with promo code usage, please contact Hungry Hub Contact Center : Line @Hungryhub l Tel : 062-827-4333 |
| payment_types | Payment type | Array | Mandatory | [ "promptpay", "credit_card" ] |
| kids_price_v2 | Kids price | Array Object | Optional | [ { "price_policy": "Kids Price", "price_value": "฿795" } ] or [] |
| use_kids_price | Is package using kids price | Boolean | Mandatory | true or false |
| relationships | Relationship data | Object | Mandatory | { "restaurant": { "data": { "id": "837", "type": "restaurants" } } } |
Example Request
{{ _.base_url }}/api/v5/restaurant_packages.json?restaurant_id=837
Example Response
https://gist.github.com/nesyaafreeda/a8ef456554fb2b7b42c66de56f55ce03
Get Restaurant Reviews
Path parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| restaurant_id | Restaurant id | integer | mandatory | 837 |
| sort | Order by | string | mandatory | newest |
| page[number] | pagination | integer | mandatory | 1 |
| page[size] | Limit | integer | mandatory | 10 |
Response parameter
| Field Name | Description | Data type | M/O | Sample Value |
|---|---|---|---|---|
| data | Array of string | mandatory | ||
| id | string | mandatory | 52740 | |
| type | string | mandatory | reviews | |
| attributes | object | mandatory | ||
| rating | Rating review(1-5) | string | mandatory | 5 |
| tittle | Tittle review | string | mandatory | |
| create_at | Date created | string | mandatory | "2022-06-21T05:24:48.000Z" |
| user_name | User name review | string | mandatory | Christian’s messi |
| review_recomended_fors | Array of string | mandatory | ||
| id | Id restaurant | string | mandatory | 59247 |
| review_id | Id reviewers | string | mandatory | 52740 |
| dimension_id | string | mandatory | 10 | |
| created_at | Date created | string | mandatory | "2022-06-21T05:24:48.000Z" |
| updated_at | Date updated | string | mandatory | "2022-06-21T05:24:48.000Z" |
| review | reviewers | string | mandatory | Wadu |
| encrypted_id | string | mandatory | lz26r | |
| user_avatar | object | mandatory | ||
| thumb | Image thumb | string | mandatory | https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpe |
| medium | Image medium | string | mandatory | https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpe |
| original | Image original | string | mandatory | https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpe |
| pictures | Array of string | mandatory | ||
| thumb | string | mandatory | https://hhstaging.hungryhub.com/uploads/review_photo/photo/39040/00.jpeg | |
| original | string | mandatory | https://hhstaging.hungryhub.com/uploads/review_photo/photo/39040/00.jpeg | |
| avatar | Url avatar | string | mandatory | https://hhstaging.hungryhub.com/assets/v2/mr_hungry-09b1fe8ac22e6907bae45ba17a49a4b3566ab6e9663380a56e35176d803b4466.png |
| restaurant | object | mandatory | ||
| id | Restaurant id | string | mandatory | 837 |
| name | Restaurant name | string | mandatory | Copper Buffet The Sense Pinklao |
| link | string | mandatory | "copper-buffet-the-sense-pinklao | |
| link | Restaurant link | string | mandatory | https://hhstaging.hungryhub.com/restaurants/copper-buffet-the-sense-pinklao/reviews/lz26r |
Example Request
{{ _.base_url }}/api/v5/reviews.json?restaurant_id=837&sort=newest&page[number]=1&page[size]=10
Example Response
{
"data": [
{
"id": "52740",
"type": "reviews",
"attributes": {
"rating": 5,
"title": null,
"created_at": "2022-06-21T05:24:31.000Z",
"user_name": "Christian’s messi ",
"review_recommended_fors": [
{
"id": 59247,
"review_id": 52740,
"dimension_id": 10,
"created_at": "2022-06-21T05:24:48.000Z",
"updated_at": "2022-06-21T05:24:48.000Z"
}
],
"review": "Wadu",
"encrypted_id": "lz26r",
"user_avatar": {
"thumb": "https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpeg",
"medium": "https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpeg",
"original": "https://hhstaging.hungryhub.com/uploads/user/avatar/188164/1625285240824_image.jpeg"
},
"pictures": [
{
"thumb": "https://hhstaging.hungryhub.com/uploads/review_photo/photo/39040/00.jpeg",
"original": "https://hhstaging.hungryhub.com/uploads/review_photo/photo/39040/00.jpeg",
"caption": "Copper Buffet The Sense Pinklao Review"
}
],
"avatar": "https://hhstaging.hungryhub.com/assets/v2/mr_hungry-09b1fe8ac22e6907bae45ba17a49a4b3566ab6e9663380a56e35176d803b4466.png",
"restaurant": {
"id": 837,
"name": "Copper Buffet The Sense Pinklao",
"link": "copper-buffet-the-sense-pinklao"
},
"link": "https://hhstaging.hungryhub.com/restaurants/copper-buffet-the-sense-pinklao/reviews/lz26r"
}
},
],
"links": {
"self": "/api/v5/reviews.json?page%5Bnumber%5D=1&page%5Bsize%5D=10&page%5Bnumber%5D=1&page%5Bsize%5D=10&restaurant_id=837&sort=newest",
"first": "/api/v5/reviews.json?page%5Bnumber%5D=1&page%5Bsize%5D=10&page%5Bnumber%5D=1&page%5Bsize%5D=10&restaurant_id=837&sort=newest",
"prev": null,
"next": "/api/v5/reviews.json?page%5Bnumber%5D=1&page%5Bsize%5D=10&page%5Bnumber%5D=2&page%5Bsize%5D=10&restaurant_id=837&sort=newest",
"last": "/api/v5/reviews.json?page%5Bnumber%5D=1&page%5Bsize%5D=10&page%5Bnumber%5D=129&page%5Bsize%5D=10&restaurant_id=837&sort=newest"
},
"meta": {
"total": 1282,
"average": 4.7,
"stars_count": {
"one": 8,
"two": 11,
"three": 53,
"four": 214,
"five": 996
}
},
"success": true,
"message": null
}
Authentication
Params
| Field Name | Description | M/O | Data Type | Sample Value |
|---|---|---|---|---|
| contact_id | AOA Id | M | String | 78fa2024-5895-e411-b3d5-005056a92b14 |
| first_name | M | String | Jhon | |
| last_name | O | String | Foo | |
| phone | M | String | 0845501895 | |
| O | String | jitanan@yahoo.com | ||
| phone_code | O | String | 66 | |
| phone_country_code | O | String | th |
Sample Request POST: {{ _.base_url }}/api/aoa/v1/authentication.json
{
"contact_id":"78fa2024-5895-e411-b3d5-005056a92b14",
"first_name":"นวลทิพ",
"last_name":"ดาบเ ริญช",
"phone":"0845501895",
"phone_code":"66",
"phone_country_code":"th",
"email":"jitanan@yahoo.com"
}
Sample Response
{
"data": {
"token": "YXNkYWFzZGFzYXNkZA=="
},
"success": true
}