Cuscapi WhatsApp Webhook API

Postman collection for WhatsApp / Wave webhook integration APIs.

Generated from Postman collection. Selected API version.

Overview

This document describes the Cuscapi WhatsApp / Wave webhook integration APIs generated from the Postman collection.

Signed Wave endpoints require X-WAVE-TIMESTAMP and X-WAVE-SIGNATURE . Public APIs only require standard JSON headers.
This documentation currently shows the selected WhatsApp / Wave integration APIs only. Hidden endpoints can be added back later when they are ready to publish.

Base URLs

Environment Base URL
Local http://cuscapi-merchant.localhost
Staging https://cuscapi-merchant-api.coder.com.my
Production TBC

Authenticating Requests

All Wave-authenticated webhook requests must include these headers:

Header Value
X-WAVE-TIMESTAMP {{wave_timestamp}}
X-WAVE-SIGNATURE {{wave_signature}}

Signature Formula

payload = "{timestamp}.{raw_request_body}" signature = HMAC_SHA256(payload, webhook_secret)

The raw request body must match exactly. Do not reformat the JSON body after generating the signature.

                                
                                    const secret = pm.collectionVariables.get("wave_secret");

                                    const timestamp = Math.floor(Date.now() / 1000).toString();
                                    pm.collectionVariables.set("wave_timestamp", timestamp);

                                    let body = "";

                                    if (pm.request.body && pm.request.body.mode === "raw") {
                                    				body = pm.variables.replaceIn(pm.request.body.raw || "");
                                    }

                                    const payload = timestamp + "." + body;

                                    const signature = CryptoJS.HmacSHA256(payload, secret)
                                    				.toString(CryptoJS.enc.Hex);

                                    pm.collectionVariables.set("wave_signature", signature);
                                
                            
<?php

$secret = 'your-webhook-secret';

$body = [
				'phone' => '60168880366',
				'whatsapp_name' => 'Boon',
];

$json = json_encode($body, JSON_UNESCAPED_SLASHES);
$timestamp = time();
$payload = $timestamp . '.' . $json;

$signature = hash_hmac('sha256', $payload, $secret);

$headers = [
				'X-WAVE-TIMESTAMP' => $timestamp,
				'X-WAVE-SIGNATURE' => $signature,
];
$timestamp = $request->header('X-WAVE-TIMESTAMP');
$signature = $request->header('X-WAVE-SIGNATURE');

$payload = $timestamp . '.' . $request->getContent();

$expected = hash_hmac(
				'sha256',
				$payload,
				config('services.wave.webhook_secret')
);

if (! hash_equals($expected, $signature)) {
				abort(401, 'Invalid signature.');
}
Important: The request body must exactly match the body used to generate the signature. The server validates the signature using the raw HTTP request body.

Collection Variables

Variable Default Value
base_url https://your-domain.com
wave_secret your-wave-signature
wave_timestamp {{$timestamp}}
sanctum_token your-sanctum-token
phone 60168880366
whatsapp_name Boon
outlet_id 1
product_id 4
product_with_option_id 6
product_option_group_id 7
product_option_item_id 2
wave_signature
base_url_local
base_url_staging
reservation_id 1
reservation_date 2026-07-12
reservation_time 19:30
party_size 4
reservation_token your-reservation-token
campaign_tracking_code WAVE-IG-202607-ABC123
campaign_source instagram_story
campaign_channel whatsapp

Customer Journey Flow

Flow

These flows show the main customer journeys across WhatsApp chat, loyalty, reservation, dine-in pre-order, and takeaway ordering.

WhatsApp / IAB Flow
FLOW 01

Order in Chat

WhatsApp chat ordering flow

Customer completes the basic ordering journey through WhatsApp chat. Step 0 retrieves the existing cart. Steps 1 to 4 are API calls. Step 5 is the WhatsApp response with a button, and Step 6 opens the in-app browser (IAB) using the returned login.login_url.

Flow note: Step 0 retrieves the existing cart by phone and WhatsApp name. Steps 1 to 4 call backend APIs. Step 5 is not an API call; WhatsApp responds with an order confirmation button. When the customer taps the button, Step 6 launches the IAB using the returned login.login_url .

Flow Detail

  1. API: Retrieve the existing cart by phone and WhatsApp name. The response returns cart items, summary, and login.login_url.
  2. API: Retrieve the outlet listing.
  3. API: Select the outlet and create or update the customer cart context.
  4. API: Retrieve the selected outlet menu listing.
  5. API: Add the selected item into cart. The response should include the cart summary and login.login_url .
  6. WhatsApp response: Send the order confirmation prompt with a button that opens the cart preview.
  7. IAB: Customer taps the button and opens the in-app browser using login.login_url to preview the cart and continue checkout.
FLOW 02

Loyalty Points

Balance checking and voucher redemption flow

Customer checks loyalty point balance in WhatsApp and opens IAB only when voucher redemption is needed.

Flow Detail

  1. Customer requests loyalty point balance.
  2. System returns available points and eligible vouchers.
  3. Customer opens IAB to redeem a voucher when needed.
FLOW 03

Reservation

Outlet listing and delivery type selection

Customer starts from outlet listing, then selects a delivery type. Dine In continues to reservation submission and optional pre-order. Takeaway continues to menu, cart, pickup time, and IAB cart.

Flow Detail

  1. Customer selects Dine In as the delivery type.
  2. Customer selects the outlet.
  3. Customer submits reservation details.
  4. Customer may continue to pre-order.
  5. System shows outlet menu listing.
  6. Customer adds item to cart.
  7. Customer opens IAB cart to review and checkout.
FLOW 03B

Reservation - Takeaway

Takeaway ordering with pickup time selection

Customer selects Takeaway, browses the outlet menu, adds items to cart, selects pickup time, and opens IAB cart.

Flow Detail

  1. Customer selects Takeaway as the delivery type.
  2. System shows outlet menu listing.
  3. Customer adds item to cart.
  4. Customer selects pickup time.
  5. Customer opens IAB cart to review and checkout.

Integration Scenarios

Scenarios

These scenarios describe common WhatsApp / Wave integration flows and how the API endpoints are used together.

WhatsApp / Wave Flow
SC02

Real-Time Order Status

Scenario SC02

Wave authenticates the customer and retrieves the customer order list. When the order status changes, Cuscapi server triggers a WhatsApp message notification to update the customer in real time.

GET /customers/orders
SYSTEM WhatsApp Message Notification

Flow Detail

  1. Wave calls GET /webhook-api/v1/customers/orders using Wave authentication to retrieve the customer's latest orders.
  2. When the order status changes, Cuscapi server sends a WhatsApp notification message to the customer.

Sample WhatsApp Message

Hi Boon, your order ORD-202606260001 is now Ready for Pickup.

Outlet: Sushi King Damansara
Status: Ready for Pickup
Thank you.
SC04

Desktop Web — Office Lunch

Scenario SC04

Customer taps Open Menu in WhatsApp. The menu opens inside the WhatsApp In-App Browser (IAB), retrieves the outlet list and menu, allows items to be added to the cart, and continues to checkout.

GET /outlets GET /outlets/{outlet_id}/menu POST /cart/items
IAB Open Menu & Continue Checkout
SC06

Abandoned Cart Recovery

Scenario SC06

Customer leaves the web cart inactive for 30 minutes without completing checkout. The cart is marked as abandoned, then the system pushes a WhatsApp reminder so the customer can continue the order or clear the cart.

TIMER Cart inactive for 30 mins
SYSTEM Mark Cart as Abandoned
WHATSAPP Push Reminder Notification
WEB Continue Order / Clear Cart
SC08

Table Reservation + Pre-Order

Scenario SC08

Customer scans a reservation QR code and completes a WhatsApp Flow to select date, time, and party size. The backend checks slot availability, confirms the reservation, sends a WhatsApp confirmation, and lets the customer pre-order food through the web/IAB before arrival.

QR Scan Reservation QR
WA FLOW Date • Time • Pax
POST /reservations/check POST /reservations
WHATSAPP Confirmation + Pre-order Button
IAB Open Menu & Checkout

Flow Detail

  1. Customer scans a reservation QR code from table signage, poster, or campaign material.
  2. WhatsApp Flow collects reservation date, time slot, and party size.
  3. Backend checks reservation availability.
  4. If the slot is available, the reservation is confirmed and a booking ID is generated.
  5. WhatsApp sends a confirmation message with booking details and a Pre-order Food button.
  6. Customer taps Pre-order Food, opens the menu in IAB, adds food to cart, and completes checkout.
  7. The paid order is linked to the reservation and can be released to kitchen before the reservation time.

Sample WhatsApp Message

✅ Reservation Confirmed

Reservation No: RSV-202607010015
Outlet: Mama's Kitchen
Date: 12 Jul 2026
Time: 7:30 PM
Guests: 4

Would you like to pre-order your meal?

[🍽 Pre-order Food]
[📋 View Reservation]
SC09

Pre-Order Takeaway

Scenario SC09

Customer scans a pre-order takeaway QR code, selects a pickup time, pre-orders and pays online. The order is scheduled and automatically pushed to the POS 15 minutes before the pickup time .

QR Scan Takeaway QR
WA FLOW Pickup Date & Time
POST /outlets/{outlet_id}/pickup POST /cart/items
PAYMENT Online Payment
SCHEDULER Release to POS (T-15 mins)

Flow Detail

  1. Customer scans the takeaway QR code.
  2. WhatsApp Flow collects pickup date and time.
  3. Customer browses the menu and pays online.
  4. Order remains scheduled until release time.
  5. A scheduler automatically pushes the order to the POS exactly 15 minutes before pickup.
  6. Kitchen prepares the food so it is ready when the customer arrives.
SC10

Instagram Story → WhatsApp Purchase

Scenario SC10

Customer taps an Instagram Story link that opens WhatsApp with a prefilled campaign code. After the customer sends the message, the backend receives the message through the webhook, tracks the campaign, returns a login_url with campaign tracking, and the final checkout order is linked to the campaign.

INSTAGRAM Story / Ad Link
WHATSAPP Prefilled WAVE-{code}
CUSTOMER Send Message
WEBHOOK Incoming WhatsApp Message
POST /campaigns/track
RESPONSE login_url?ct=WAVE-{code}
IAB Open Menu & Store ct
POST /cart/items
CHECKOUT Order Linked to Campaign

Flow Detail

  1. Customer taps an Instagram Story or Instagram Ad link.
  2. Instagram opens WhatsApp with a prefilled message containing WAVE-{campaign_code}.
  3. Customer taps Send.
  4. WhatsApp webhook receives the incoming message.
  5. Backend extracts the WAVE-{campaign_code} from the message.
  6. Backend tracks the campaign traffic and prepares the customer login session.
  7. Backend generates a login_url containing ct=WAVE-{campaign_code}.
  8. WhatsApp replies with the Open Menu link or button.
  9. Customer opens the menu in WhatsApp In-App Browser (IAB).
  10. The web app stores the campaign code from ct into local storage.
  11. Customer browses the menu and adds items to the cart.
  12. During checkout, the frontend submits the stored campaign_tracking_code.
  13. The final order is linked to the Instagram campaign for reporting.

Sample API Flow

Instagram Story Link:
https://wa.me/60123456789?text=I%20want%20to%20order%20WAVE-IG-202607-ABC123

Incoming WhatsApp Message:
{
		"phone": "60168880366",
		"whatsapp_name": "Boon",
		"message": "I want to order WAVE-IG-202607-ABC123"
}

Backend Response:
{
		"success": true,
		"campaign_tracking_code": "WAVE-IG-202607-ABC123",
		"login_url": "https://your-domain.com/wave-login?token={login_token}&ct=WAVE-IG-202607-ABC123"
}

Checkout Payload:
{
		"campaign_tracking_code": "WAVE-IG-202607-ABC123",
		"campaign_source": "instagram_story",
		"campaign_channel": "whatsapp"
}
Important: The campaign tracking should happen in the backend when the WhatsApp message is received. The generated login_url must include ct=WAVE-{code} , then the IAB stores it locally and sends it back during checkout.

Endpoints

Public APIs

Outlet Listing

{{base_url}}/webhook-api/v1/outlets
or
{{base_url}}/webhook-api/v1/outlets?latitude=1.15500000&longitude=110.15000000
GET
Header Value
Accept application/json

Parameter Type Required Description
latitude Decimal Optional Customer latitude. When both latitude and longitude are supplied, the API calculates the distance to every outlet and sorts the results from nearest to farthest.
longitude Decimal Optional Customer longitude. Used together with latitude for distance calculation.
Example Requests

GET {{base_url}}/webhook-api/v1/outlets

If latitude and longitude are omitted, the API returns all active outlets without distance calculation or nearest-outlet sorting.

200 OK Outlet Listing Response
{
    "success": true,
    "message": "Outlet list retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "SUSHI KING Damansara",
            "phone": null,
            "address_line_1": "No. 1, Jalan Equine 9, Taman Equine, 43300 Seri Kembangan, Selangor",
            "address_line_2": null,
            "city": "",
            "postal_code": "",
            "state_id": 1983,
            "country_id": 129,
            "latitude": "0.00000000",
            "longitude": "0.00000000",
            "status": 1,
            "today_opening_hour": {
                "day_of_week": 3,
                "open_time": "11:00:00",
                "close_time": "21:30:00",
                "last_order_time": "21:30:00",
                "status": 1,
                "accept_order_status": 1,
                "accept_order_start_time": "11:00:00",
                "accept_order_end_time": "21:30:00",
                "last_order_time_override": null,
                "is_open_now": true,
                "is_accepting_order_now": true
            },
            "opening_hours": [
                {
                    "day_of_week": 0,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 1,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 2,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 3,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 4,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 5,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 6,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                }
            ],
            "distance_km": 12247.65,
            "distance_label": "12,247.65km away"
        },
        {
            "id": 2,
            "name": "SUSHI KING Taman Equine",
            "phone": null,
            "address_line_1": "No. 1, Jalan Equine 9, Taman Equine, 43300 Seri Kembangan, Selangor",
            "address_line_2": null,
            "city": "",
            "postal_code": "",
            "state_id": 1983,
            "country_id": 129,
            "latitude": "0.00000000",
            "longitude": "0.00000000",
            "status": 1,
            "today_opening_hour": {
                "day_of_week": 3,
                "open_time": "11:00:00",
                "close_time": "21:30:00",
                "last_order_time": "21:30:00",
                "status": 1,
                "accept_order_status": 1,
                "accept_order_start_time": "11:00:00",
                "accept_order_end_time": "21:30:00",
                "last_order_time_override": null,
                "is_open_now": true,
                "is_accepting_order_now": true
            },
            "opening_hours": [
                {
                    "day_of_week": 0,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 1,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 2,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 3,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 4,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 5,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                },
                {
                    "day_of_week": 6,
                    "open_time": "11:00:00",
                    "close_time": "21:30:00",
                    "last_order_time": "21:30:00",
                    "status": 1,
                    "accept_order_status": 1,
                    "accept_order_start_time": "11:00:00",
                    "accept_order_end_time": "21:30:00",
                    "last_order_time_override": null,
                    "reservation_slots": [
                        "11:00",
                        "11:30",
                        "12:00",
                        "12:30",
                        "13:00",
                        "13:30",
                        "14:00",
                        "14:30",
                        "15:00",
                        "15:30",
                        "16:00",
                        "16:30",
                        "17:00",
                        "17:30",
                        "18:00",
                        "18:30",
                        "19:00",
                        "19:30",
                        "20:00",
                        "20:30",
                        "21:00"
                    ]
                }
            ],
            "distance_km": 12247.65,
            "distance_label": "12,247.65km away"
        }
    ]
}

No request-level script.

Public APIs

Outlet Menu

{{base_url}}/webhook-api/v1/outlets/{{outlet_id}}/menu
GET
Header Value
Accept application/json

No request body.

200 OK Outlet Menu Response
{
    "success": true,
    "message": "Product list retrieved successfully.",
    "data": [
        {
            "id": 166,
            "sku": "2310",
            "slug": "tenpura-udon-2-2310",
            "name": "Tenpura Udon",
            "description": "Japanese wheat noodles in soybean-based soup served with tenpura prawns & vegetables.",
            "category": "NOODLES",
            "price": 19.5,
            "options": [
                {
                    "id": 133,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 254,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 167,
            "sku": "2305",
            "slug": "nabeyaki-udon-2-2305",
            "name": "Nabeyaki Udon",
            "description": "Japanese wheat noodles, beancurd skin, chicken, tenpura prawn, crabstick & lotus root served in soybean-based soup.",
            "category": "NOODLES",
            "price": 19.5,
            "options": [
                {
                    "id": 134,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 255,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 168,
            "sku": "2328",
            "slug": "beef-nabeyaki-udon-2-2328",
            "name": "Beef Nabeyaki Udon",
            "description": "Japanese wheat noodles, sweet beancurd skin, beef, beancurd and vegetables served in soybean-based soup.",
            "category": "NOODLES",
            "price": 20.5,
            "options": [
                {
                    "id": 135,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 256,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 169,
            "sku": "2362",
            "slug": "spicy-ramen-noodles-2-2362",
            "name": "Spicy Ramen Noodles",
            "description": "Japanese egg noodles in spicy broth topped with minced chicken, marinated egg & seaweed.",
            "category": "NOODLES",
            "price": 20.5,
            "options": [
                {
                    "id": 136,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 257,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 170,
            "sku": "2363",
            "slug": "shoyu-ramen-noodles-2-2363",
            "name": "Shoyu Ramen Noodles",
            "description": "Japanese egg noodles in soy sauce-based broth topped with grilled chicken, marinated egg & seaweed.",
            "category": "NOODLES",
            "price": 19.5,
            "options": [
                {
                    "id": 137,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 258,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 171,
            "sku": "2316",
            "slug": "miso-ramen-noodles-2-2316",
            "name": "Miso Ramen Noodles",
            "description": "Japanese egg noodles in soybean-based broth topped with grilled chicken, marinated egg, corn, vegetables and seaweed.",
            "category": "NOODLES",
            "price": 22.5,
            "options": [
                {
                    "id": 138,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 259,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 172,
            "sku": "2371",
            "slug": "curry-udon-2-2371",
            "name": "Curry Udon",
            "description": "Japanese wheat noodles in curry soup, topped with tenpura prawn, crabstick & vegetables.",
            "category": "NOODLES",
            "price": 20.5,
            "options": [
                {
                    "id": 139,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 260,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 173,
            "sku": "2304",
            "slug": "kitsune-udon-2-2304",
            "name": "Kitsune Udon",
            "description": "Japanese wheat noodles with sweet beancurd skin in soybean-based soup.",
            "category": "NOODLES",
            "price": 14.5,
            "options": [
                {
                    "id": 140,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 261,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 174,
            "sku": "1043",
            "slug": "smoked-duck-2-1043",
            "name": "Smoked Duck",
            "description": "Smoked duck.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 141,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 262,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 175,
            "sku": "4114",
            "slug": "sushi-packaging-rm050-2-4114",
            "name": "Sushi Packaging RM0.50",
            "description": "",
            "category": "SUSHI",
            "price": 0.5,
            "options": []
        },
        {
            "id": 176,
            "sku": "1095",
            "slug": "spicy-smoked-duck-2-1095",
            "name": "Spicy Smoked Duck",
            "description": "Smoked duck with spicy mayo.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 142,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 263,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 177,
            "sku": "1096",
            "slug": "tori-karaage-2-1096",
            "name": "Tori Karaage",
            "description": "Deep-fried chicken with mayo.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 143,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 264,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 178,
            "sku": "1251",
            "slug": "cheesy-smoked-duck-2-1251",
            "name": "Cheesy Smoked Duck",
            "description": "Smoked duck with cheese sauce.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 144,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 265,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 179,
            "sku": "1025",
            "slug": "ebi-fry-2-1025",
            "name": "Ebi Fry",
            "description": "Deep-fried prawn with mayo.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 145,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 266,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 180,
            "sku": "1011",
            "slug": "unagi-2-1011",
            "name": "Unagi",
            "description": "Charcoal grilled eel.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 146,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 267,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 181,
            "sku": "1004",
            "slug": "inari-2-1004",
            "name": "Inari",
            "description": "Sweet beancurd skin filled with sushi rice.",
            "category": "SUSHI",
            "price": 2.5,
            "options": [
                {
                    "id": 147,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 268,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 182,
            "sku": "1032",
            "slug": "salmon-2-1032",
            "name": "Salmon",
            "description": "Raw salmon.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 148,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 269,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 183,
            "sku": "1008",
            "slug": "surimi-hotate-2-1008",
            "name": "Surimi Hotate",
            "description": "Deep-fried fish-based scallop with mentai mayo",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 149,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 270,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 184,
            "sku": "1002",
            "slug": "ebi-ten-2-1002",
            "name": "Ebi Ten",
            "description": "Tenpura prawn.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 150,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 271,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 185,
            "sku": "1083",
            "slug": "tamago-2-1083",
            "name": "Tamago",
            "description": "Omelette",
            "category": "SUSHI",
            "price": 4.5,
            "options": [
                {
                    "id": 151,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 272,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 186,
            "sku": "1084",
            "slug": "cheese-ebi-fry-2-1084",
            "name": "Cheese Ebi Fry",
            "description": "Deep-fried prawn with cheese sauce.",
            "category": "SUSHI",
            "price": 7.9,
            "options": [
                {
                    "id": 152,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 273,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 187,
            "sku": "1001",
            "slug": "ebi-2-1001",
            "name": "Ebi",
            "description": "Shrimp.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 153,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 274,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 188,
            "sku": "1079",
            "slug": "salmon-belly-2-1079",
            "name": "Salmon Belly",
            "description": "Torched raw salmon belly.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 154,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 275,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 189,
            "sku": "1089",
            "slug": "beef-yakiniku-2-1089",
            "name": "Beef Yakiniku",
            "description": "Pan- fried beef with BBQ sauce.",
            "category": "SUSHI",
            "price": 7.9,
            "options": [
                {
                    "id": 155,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 276,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 190,
            "sku": "1090",
            "slug": "spicy-beef-yakiniku-2-1090",
            "name": "Spicy Beef Yakiniku",
            "description": "Pan-fried beef with spicy sauce.",
            "category": "SUSHI",
            "price": 7.9,
            "options": [
                {
                    "id": 156,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 277,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 191,
            "sku": "1092",
            "slug": "surimi-sakana-2-1092",
            "name": "Surimi Sakana",
            "description": "Deep-fried fish cake with mayo",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 157,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 278,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 192,
            "sku": "1206",
            "slug": "egg-mayo-2-1206",
            "name": "Egg Mayo",
            "description": "Egg mayo with mentai mayo.",
            "category": "SUSHI",
            "price": 2.5,
            "options": [
                {
                    "id": 158,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 279,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 193,
            "sku": "1250",
            "slug": "masago-2-1250",
            "name": "Masago",
            "description": "Fish roe.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 159,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 280,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 194,
            "sku": "1210",
            "slug": "salmon-nishoku-2-1210",
            "name": "Salmon Nishoku",
            "description": "Raw salmon with mentai mayo",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 160,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 281,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 195,
            "sku": "1209",
            "slug": "inari-boat-tuna-mayo-2-1209",
            "name": "Inari Boat Tuna Mayo",
            "description": "Sweet beancurd skin, tuna mayo and seaweed.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 161,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 282,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 196,
            "sku": "1207",
            "slug": "golden-ball-2-1207",
            "name": "Golden Ball",
            "description": "Deep-fried egg with crabstick mayo.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 162,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 283,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 197,
            "sku": "1234",
            "slug": "chuka-wakame-2-1234",
            "name": "Chuka Wakame",
            "description": "Seasoned seaweed.",
            "category": "SUSHI",
            "price": 2.5,
            "options": [
                {
                    "id": 163,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 284,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 198,
            "sku": "1242",
            "slug": "kani-tsubukko-2-1242",
            "name": "Kani Tsubukko",
            "description": "Crabstick mayo with fish roe.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 164,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 285,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 199,
            "sku": "1244",
            "slug": "iidako-2-1244",
            "name": "Iidako",
            "description": "Seasoned baby octopus.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 165,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 286,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 200,
            "sku": "1303",
            "slug": "spicy-golden-ball-2-1303",
            "name": "Spicy Golden Ball",
            "description": "Deep-fried egg with crabstick mayo and spicy mayo.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 166,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 287,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 201,
            "sku": "1304",
            "slug": "double-egg-golden-ball-2-1304",
            "name": "Double Egg Golden Ball",
            "description": "Deep-fried egg with egg mayo and mentai mayo.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 167,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 288,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 202,
            "sku": "1305",
            "slug": "spicy-yakiniku-2-1305",
            "name": "Spicy Yakiniku",
            "description": "Spicy pan-fried beef with spicy mayo.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 168,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 289,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 203,
            "sku": "1401",
            "slug": "california-maki-2-1401",
            "name": "California Maki",
            "description": "Crabstick, cucumber, omelet, topped with fish roe.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 169,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 290,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 204,
            "sku": "1445",
            "slug": "tuna-mayo-maki-2-1445",
            "name": "Tuna Mayo Maki",
            "description": "Tuna mayo with cucumber, sesame and mayo.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 170,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 291,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 205,
            "sku": "1405",
            "slug": "kappa-maki-2-1405",
            "name": "Kappa Maki",
            "description": "Cucumber",
            "category": "SUSHI",
            "price": 2.5,
            "options": [
                {
                    "id": 171,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 292,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 206,
            "sku": "1431",
            "slug": "spicy-teriyaki-chicken-maki-2-1431",
            "name": "Spicy Teriyaki Chicken Maki",
            "description": "Teriyaki chicken, cucumber and chilli flakes.",
            "category": "SUSHI",
            "price": 5.9,
            "options": [
                {
                    "id": 172,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 293,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 207,
            "sku": "1438",
            "slug": "spicy-karaage-maki-2-1438",
            "name": "Spicy Karaage Maki",
            "description": "Deep-fried chicken, spicy mayo and spicy flakes.",
            "category": "SUSHI",
            "price": 6.9,
            "options": [
                {
                    "id": 173,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 294,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 208,
            "sku": "1447",
            "slug": "chuka-wakame-maki-2-1447",
            "name": "Chuka Wakame Maki",
            "description": "Seasoned seaweed with cucumber and mayo.",
            "category": "SUSHI",
            "price": 4.5,
            "options": [
                {
                    "id": 174,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 295,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 209,
            "sku": "5830",
            "slug": "spicy-yakiniku-don-s-2-5830",
            "name": "Spicy Yakiniku Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 2.5,
            "options": []
        },
        {
            "id": 210,
            "sku": "5811",
            "slug": "tenpura-udon-s-2-5811",
            "name": "Tenpura Udon (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 211,
            "sku": "5860",
            "slug": "aburi-mentai-tamago-don-s-2-5860",
            "name": "Aburi Mentai Tamago Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 212,
            "sku": "5861",
            "slug": "chicken-nanban-don-s-2-5861",
            "name": "Chicken Nanban Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 213,
            "sku": "5863",
            "slug": "aburi-salmon-mentai-don-s-2-5863",
            "name": "Aburi Salmon Mentai Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 214,
            "sku": "5844",
            "slug": "kitsune-udon-s-2-5844",
            "name": "Kitsune Udon (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 215,
            "sku": "5845",
            "slug": "yakiniku-don-s-2-5845",
            "name": "Yakiniku Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 2.5,
            "options": []
        },
        {
            "id": 216,
            "sku": "5854",
            "slug": "shoyu-ramen-noodles-s-2-5854",
            "name": "Shoyu Ramen Noodles (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 217,
            "sku": "5855",
            "slug": "miso-ramen-noodles-s-2-5855",
            "name": "Miso Ramen Noodles (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 218,
            "sku": "5841",
            "slug": "piri-piri-chicken-don-s-2-5841",
            "name": "Piri Piri Chicken Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 219,
            "sku": "5839",
            "slug": "spicy-chicken-katsu-don-s-2-5839",
            "name": "Spicy Chicken Katsu Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 220,
            "sku": "5837",
            "slug": "salmon-steak-don-s-2-5837",
            "name": "Salmon Steak Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 2.5,
            "options": []
        },
        {
            "id": 221,
            "sku": "5806",
            "slug": "ten-don-s-2-5806",
            "name": "Ten Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 222,
            "sku": "5838",
            "slug": "yakiniku-don-s-2-5838",
            "name": "Yakiniku Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 2.5,
            "options": []
        },
        {
            "id": 223,
            "sku": "2443",
            "slug": "spicy-chicken-katsu-don-2-2443",
            "name": "Spicy Chicken Katsu Don",
            "description": "Rice with deep-fried chicken, spicy sauce & mayo.",
            "category": "BENTO & DONBURI",
            "price": 20.5,
            "options": [
                {
                    "id": 175,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 296,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 224,
            "sku": "5868",
            "slug": "salmon-mentai-don-s-2-5868",
            "name": "Salmon Mentai Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 2.5,
            "options": []
        },
        {
            "id": 225,
            "sku": "5869",
            "slug": "hiyashi-ramen-noodles-s-2-5869",
            "name": "Hiyashi Ramen Noodles (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 226,
            "sku": "5870",
            "slug": "teriyaki-chicken-don-s-2-5870",
            "name": "Teriyaki Chicken Don (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 227,
            "sku": "5871",
            "slug": "spicy-shoyu-ramen-noodles-s-2-5871",
            "name": "Spicy Shoyu Ramen Noodles (S)",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 0,
            "options": []
        },
        {
            "id": 228,
            "sku": "2518",
            "slug": "ebi-fry-curry-2-2518",
            "name": "Ebi Fry Curry",
            "description": "Deep-fried prawn with Japanese curry, rice & side dish.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 176,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 297,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 229,
            "sku": "2519",
            "slug": "yakiniku-curry-2-2519",
            "name": "Yakiniku Curry",
            "description": "Pan-fried beef with Japanese curry, rice & side dish.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 177,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 298,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 230,
            "sku": "7086",
            "slug": "mixed-fry-bento-2-7086",
            "name": "Mixed Fry Bento",
            "description": "Deep-fried prawn, chicken & vegetables served with spicy sauce, mayonnaise, edamame & piri-piri renkon.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 178,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 299,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 231,
            "sku": "2440",
            "slug": "cheesy-oyako-don-2-2440",
            "name": "Cheesy Oyako Don",
            "description": "Rice with chicken, egg, onions and cheese.",
            "category": "BENTO & DONBURI",
            "price": 18.5,
            "options": [
                {
                    "id": 179,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 300,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 232,
            "sku": "2414",
            "slug": "chicken-katsu-don-2-2414",
            "name": "Chicken Katsu Don",
            "description": "Rice with deep-fried chicken with spicy sauce & mayo",
            "category": "BENTO & DONBURI",
            "price": 17.5,
            "options": [
                {
                    "id": 180,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 301,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 233,
            "sku": "2441",
            "slug": "piri-piri-chicken-don-2-2441",
            "name": "Piri Piri Chicken Don",
            "description": "Rice with deep-fried chicken with spicy sauce & mayo",
            "category": "BENTO & DONBURI",
            "price": 15.9,
            "options": [
                {
                    "id": 181,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 302,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 234,
            "sku": "2406",
            "slug": "yakiniku-don-2-2406",
            "name": "Yakiniku Don",
            "description": "Rice with beef, onion & BBQ sauce.",
            "category": "BENTO & DONBURI",
            "price": 20.5,
            "options": [
                {
                    "id": 182,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 303,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 235,
            "sku": "2431",
            "slug": "yakiniku-chicken-katsu-don-2-2431",
            "name": "Yakiniku & Chicken Katsu Don",
            "description": "Rice with pan-fried beef, BBQ sauce & deep-fried chicken with spicy sauce and mayo.",
            "category": "BENTO & DONBURI",
            "price": 28.9,
            "options": [
                {
                    "id": 183,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 304,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 236,
            "sku": "2435",
            "slug": "unagi-tamago-don-2-2435",
            "name": "Unagi Tamago Don",
            "description": "Rice with charcoal grilled eel & egg.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 184,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 305,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 237,
            "sku": "2436",
            "slug": "jo-unagi-don-2-2436",
            "name": "Jo Unagi Don",
            "description": "Rice with charcoal-grilled eel & shredded egg.",
            "category": "BENTO & DONBURI",
            "price": 36.9,
            "options": [
                {
                    "id": 185,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 306,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 238,
            "sku": "2442",
            "slug": "ten-don-2-2442",
            "name": "Ten Don",
            "description": "Rice with tenpura prawns and vegetables",
            "category": "BENTO & DONBURI",
            "price": 13.9,
            "options": [
                {
                    "id": 186,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 307,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 239,
            "sku": "2508",
            "slug": "chicken-katsu-curry-2-2508",
            "name": "Chicken Katsu Curry",
            "description": "Deep-fried chicken with Japanese curry, rice and side dish.",
            "category": "BENTO & DONBURI",
            "price": 21.9,
            "options": [
                {
                    "id": 187,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 308,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 240,
            "sku": "2690",
            "slug": "grand-mixed-bento-2-2690",
            "name": "Grand Mixed Bento",
            "description": "Deep-fried salmon & chicken with spicy sauce & mayo, fried chicken dumpling served with edamame and piri piri renkon.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 188,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 309,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 241,
            "sku": "2692",
            "slug": "yakiniku-chicken-nanban-bento-2-2692",
            "name": "Yakiniku Chicken Nanban Bento",
            "description": "Deep-fried chicken with tartar sauce, pan-fried beef & vegetables served with edamame and piri piri renkon.",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 189,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 310,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 242,
            "sku": "2698",
            "slug": "unagi-makunouchi-2-2698",
            "name": "Unagi Makunouchi",
            "description": "Rice with charcoal grilled unagi, deep-fried chicken with tartar sauce, egg mayo, vegetables, jellyfish, fish cake and piri piri renkon.",
            "category": "BENTO & DONBURI",
            "price": 31.9,
            "options": [
                {
                    "id": 190,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 311,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 243,
            "sku": "2699",
            "slug": "salmon-makunouchi-2-2699",
            "name": "Salmon Makunouchi",
            "description": "Rice with deep-fried salmon, raw salmon, egg mayo, vegetables, jellyfish, fish cake & piri piri renkon.",
            "category": "BENTO & DONBURI",
            "price": 31.9,
            "options": [
                {
                    "id": 191,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 312,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 244,
            "sku": "7076",
            "slug": "tori-karaage-bento-2-7076",
            "name": "Tori Karaage Bento",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 192,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 313,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 245,
            "sku": "7079",
            "slug": "chicken-katsu-bento-2-7079",
            "name": "Chicken Katsu Bento",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 193,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 314,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 246,
            "sku": "7080",
            "slug": "hanami-bento-beef-2-7080",
            "name": "Hanami Bento - Beef",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 194,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 315,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 247,
            "sku": "7081",
            "slug": "tartar-chicken-bento-2-7081",
            "name": "Tartar Chicken Bento",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 195,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 316,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 248,
            "sku": "7082",
            "slug": "seafood-bento-2-7082",
            "name": "Seafood Bento",
            "description": "",
            "category": "BENTO & DONBURI",
            "price": 22.9,
            "options": [
                {
                    "id": 196,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 317,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 249,
            "sku": "5801",
            "slug": "mix-n-match-2-dishes-2-5801",
            "name": "Mix 'N Match 2 Dishes",
            "description": "Pick any 2 mini bowls.",
            "category": "BENTO & DONBURI",
            "price": 18.5,
            "options": [
                {
                    "id": 197,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 318,
                            "name": "Ten Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 319,
                            "name": "Tenpura Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 320,
                            "name": "Spicy Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 321,
                            "name": "Salmon Steak Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 322,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 323,
                            "name": "Spicy Chicken Katsu Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 324,
                            "name": "Piri Piri Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 325,
                            "name": "Kitsune Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 326,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 327,
                            "name": "Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 328,
                            "name": "Miso Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 329,
                            "name": "Aburi Mentai Tamago Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 330,
                            "name": "Chicken Nanban Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 331,
                            "name": "Aburi Salmon Mentai Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 332,
                            "name": "Salmon Mentai Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 333,
                            "name": "Hiyashi Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 334,
                            "name": "Teriyaki Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 335,
                            "name": "Spicy Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 198,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 336,
                            "name": "Ten Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 337,
                            "name": "Tenpura Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 338,
                            "name": "Spicy Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 339,
                            "name": "Salmon Steak Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 340,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 341,
                            "name": "Spicy Chicken Katsu Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 342,
                            "name": "Piri Piri Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 343,
                            "name": "Kitsune Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 344,
                            "name": "Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 345,
                            "name": "Miso Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 346,
                            "name": "Aburi Mentai Tamago Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 347,
                            "name": "Chicken Nanban Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 348,
                            "name": "Aburi Salmon Mentai Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 349,
                            "name": "Salmon Mentai Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 350,
                            "name": "Hiyashi Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 351,
                            "name": "Teriyaki Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 352,
                            "name": "Spicy Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 199,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 353,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 250,
            "sku": "5802",
            "slug": "mix-n-match-3-dishes-2-5802",
            "name": "Mix 'N Match 3 Dishes",
            "description": "Pick any 3 mini bowls.",
            "category": "BENTO & DONBURI",
            "price": 24.9,
            "options": [
                {
                    "id": 200,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 354,
                            "name": "Ten Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 355,
                            "name": "Tenpura Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 356,
                            "name": "Spicy Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 357,
                            "name": "Salmon Steak Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 358,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 359,
                            "name": "Spicy Chicken Katsu Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 360,
                            "name": "Piri Piri Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 361,
                            "name": "Kitsune Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 362,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 363,
                            "name": "Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 364,
                            "name": "Miso Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 365,
                            "name": "Aburi Mentai Tamago Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 366,
                            "name": "Chicken Nanban Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 367,
                            "name": "Aburi Salmon Mentai Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 368,
                            "name": "Salmon Mentai Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 369,
                            "name": "Hiyashi Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 370,
                            "name": "Teriyaki Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 371,
                            "name": "Spicy Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 201,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 372,
                            "name": "Ten Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 373,
                            "name": "Tenpura Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 374,
                            "name": "Spicy Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 375,
                            "name": "Salmon Steak Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 376,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 377,
                            "name": "Spicy Chicken Katsu Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 378,
                            "name": "Piri Piri Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 379,
                            "name": "Kitsune Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 380,
                            "name": "Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 381,
                            "name": "Miso Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 382,
                            "name": "Aburi Mentai Tamago Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 383,
                            "name": "Chicken Nanban Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 384,
                            "name": "Aburi Salmon Mentai Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 385,
                            "name": "Salmon Mentai Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 386,
                            "name": "Hiyashi Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 387,
                            "name": "Teriyaki Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 388,
                            "name": "Spicy Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 202,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 389,
                            "name": "Ten Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 390,
                            "name": "Tenpura Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 391,
                            "name": "Spicy Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 392,
                            "name": "Salmon Steak Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 393,
                            "name": "Yakiniku Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 394,
                            "name": "Spicy Chicken Katsu Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 395,
                            "name": "Piri Piri Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 396,
                            "name": "Kitsune Udon (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 397,
                            "name": "Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 398,
                            "name": "Miso Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 399,
                            "name": "Chicken Nanban Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 400,
                            "name": "Aburi Salmon Mentai Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 401,
                            "name": "Salmon Mentai Don (S)",
                            "price_adjustment": 2.5
                        },
                        {
                            "id": 402,
                            "name": "Hiyashi Ramen Noodles (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 403,
                            "name": "Teriyaki Chicken Don (S)",
                            "price_adjustment": 0
                        },
                        {
                            "id": 404,
                            "name": "Spicy Shoyu Ramen Noodles (S)",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 203,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 405,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 251,
            "sku": "2897",
            "slug": "vida-zero-salty-lychee-2-2897",
            "name": "Vida Zero Salty Lychee",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.5,
            "options": []
        },
        {
            "id": 252,
            "sku": "2898",
            "slug": "vida-zero-green-apple-2-2898",
            "name": "Vida Zero Green Apple",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.5,
            "options": []
        },
        {
            "id": 253,
            "sku": "2899",
            "slug": "vida-zero-sakura-2-2899",
            "name": "Vida Zero Sakura",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.5,
            "options": []
        },
        {
            "id": 254,
            "sku": "3223",
            "slug": "coca-cola-2-3223",
            "name": "Coca-Cola",
            "description": "",
            "category": "BEVERAGE",
            "price": 4.5,
            "options": []
        },
        {
            "id": 255,
            "sku": "3224",
            "slug": "sprite-2-3224",
            "name": "Sprite",
            "description": "",
            "category": "BEVERAGE",
            "price": 4.5,
            "options": []
        },
        {
            "id": 256,
            "sku": "3209",
            "slug": "vitagen-2-3209",
            "name": "Vitagen",
            "description": "",
            "category": "BEVERAGE",
            "price": 2.9,
            "options": []
        },
        {
            "id": 257,
            "sku": "2820",
            "slug": "hanjuku-cheese-cake-2-2820",
            "name": "Hanjuku Cheese Cake",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.9,
            "options": []
        },
        {
            "id": 258,
            "sku": "3440",
            "slug": "chocolate-daifuku-2-3440",
            "name": "Chocolate Daifuku",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.9,
            "options": []
        },
        {
            "id": 259,
            "sku": "3444",
            "slug": "cinnamon-financier-2-3444",
            "name": "Cinnamon Financier",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.9,
            "options": []
        },
        {
            "id": 260,
            "sku": "3443",
            "slug": "chocolate-financier-2-3443",
            "name": "Chocolate Financier",
            "description": "",
            "category": "BEVERAGE",
            "price": 5.9,
            "options": []
        },
        {
            "id": 261,
            "sku": "2601",
            "slug": "chawanmushi-2-2601",
            "name": "Chawanmushi",
            "description": "Japanese egg custard.",
            "category": "EXTRAS",
            "price": 5.5,
            "options": [
                {
                    "id": 204,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 406,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 262,
            "sku": "2605",
            "slug": "miso-soup-2-2605",
            "name": "Miso Soup",
            "description": "Japanese soybean soup.",
            "category": "EXTRAS",
            "price": 3.5,
            "options": [
                {
                    "id": 205,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 407,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 263,
            "sku": "2607",
            "slug": "rice-2-2607",
            "name": "Rice",
            "description": "Rice",
            "category": "EXTRAS",
            "price": 2.5,
            "options": [
                {
                    "id": 206,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 408,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 264,
            "sku": "2609",
            "slug": "nori-2-2609",
            "name": "Nori",
            "description": "Seaweed.",
            "category": "EXTRAS",
            "price": 1.9,
            "options": []
        },
        {
            "id": 265,
            "sku": "2608",
            "slug": "mayonnaise-2-2608",
            "name": "Mayonnaise",
            "description": "Mayonaise",
            "category": "EXTRAS",
            "price": 1.9,
            "options": []
        },
        {
            "id": 266,
            "sku": "2624",
            "slug": "sambal-2-2624",
            "name": "Sambal",
            "description": "",
            "category": "EXTRAS",
            "price": 2.5,
            "options": []
        },
        {
            "id": 267,
            "sku": "2625",
            "slug": "cheese-sauce-2-2625",
            "name": "Cheese Sauce",
            "description": "",
            "category": "EXTRAS",
            "price": 2.5,
            "options": []
        },
        {
            "id": 268,
            "sku": "2632",
            "slug": "condiments-shoyu-2-2632",
            "name": "Condiments - Shoyu",
            "description": "",
            "category": "EXTRAS",
            "price": 0.5,
            "options": []
        },
        {
            "id": 269,
            "sku": "2631",
            "slug": "condiments-nitsume-2-2631",
            "name": "Condiments - Nitsume",
            "description": "",
            "category": "EXTRAS",
            "price": 1,
            "options": []
        },
        {
            "id": 270,
            "sku": "2633",
            "slug": "condiments-wasabi-2-2633",
            "name": "Condiments - Wasabi",
            "description": "",
            "category": "EXTRAS",
            "price": 1,
            "options": []
        },
        {
            "id": 271,
            "sku": "2620",
            "slug": "condiments-gari-2-2620",
            "name": "Condiments - Gari",
            "description": "",
            "category": "EXTRAS",
            "price": 1,
            "options": []
        },
        {
            "id": 272,
            "sku": "2957",
            "slug": "make-it-a-set-rice-miso-chawanmushi-sashimi-set-2-2957",
            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
            "description": "",
            "category": "IPPIN",
            "price": 16.9,
            "options": []
        },
        {
            "id": 273,
            "sku": "2955",
            "slug": "make-it-a-set-rice-miso-set-2-2955",
            "name": "Make It A Set - Rice Miso Set",
            "description": "",
            "category": "IPPIN",
            "price": 6.9,
            "options": []
        },
        {
            "id": 274,
            "sku": "2956",
            "slug": "make-it-a-set-rice-miso-chawanmushi-set-2-2956",
            "name": "Make It A Set - Rice Miso Chawanmushi Set",
            "description": "",
            "category": "IPPIN",
            "price": 11.5,
            "options": []
        },
        {
            "id": 275,
            "sku": "2009",
            "slug": "yakitori-2-2009",
            "name": "Yakitori",
            "description": "Grilled chicken",
            "category": "IPPIN",
            "price": 13.5,
            "options": [
                {
                    "id": 207,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 409,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 410,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 411,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 208,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 412,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 276,
            "sku": "2227",
            "slug": "chicken-nanban-2-2227",
            "name": "Chicken Nanban",
            "description": "Deep-fried chicken with tartar sauce.",
            "category": "IPPIN",
            "price": 8.9,
            "options": [
                {
                    "id": 209,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 413,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 414,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 415,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 210,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 416,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 277,
            "sku": "2204",
            "slug": "takoyaki-2-2204",
            "name": "Takoyaki",
            "description": "Deep-fried octopus balls with okonomi sauce.",
            "category": "IPPIN",
            "price": 8.9,
            "options": [
                {
                    "id": 211,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 417,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 418,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 419,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 212,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 420,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 278,
            "sku": "2231",
            "slug": "age-gyoza-2-2231",
            "name": "Age Gyoza",
            "description": "Deep-fried chicken dumpling",
            "category": "IPPIN",
            "price": 10.5,
            "options": [
                {
                    "id": 213,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 421,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 422,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 423,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 214,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 424,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 279,
            "sku": "2202",
            "slug": "ebi-ten-2-2202",
            "name": "Ebi Ten",
            "description": "Deep-fried prawns and lotus root served with tenpura gravy.",
            "category": "IPPIN",
            "price": 12.5,
            "options": [
                {
                    "id": 215,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 425,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 426,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 427,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 216,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 428,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 280,
            "sku": "2266",
            "slug": "original-karaage-2-2266",
            "name": "Original Karaage",
            "description": "Japanese deep-fried chicken with mayo.",
            "category": "IPPIN",
            "price": 13.5,
            "options": [
                {
                    "id": 217,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 429,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 430,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 431,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 218,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 432,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 281,
            "sku": "2267",
            "slug": "spicy-karaage-2-2267",
            "name": "Spicy Karaage",
            "description": "Japanese deep-fried chicken coated in Japanese spicy sauce.",
            "category": "IPPIN",
            "price": 14.5,
            "options": [
                {
                    "id": 219,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 433,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 434,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 435,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 220,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 436,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 282,
            "sku": "2268",
            "slug": "cheesy-karaage-2-2268",
            "name": "Cheesy Karaage",
            "description": "Japanese deep-fried chicken coated with cheese sauce.",
            "category": "IPPIN",
            "price": 14.5,
            "options": [
                {
                    "id": 221,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 437,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 438,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 439,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 222,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 440,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 283,
            "sku": "2036",
            "slug": "spicy-yakiniku-2-2036",
            "name": "Spicy Yakiniku",
            "description": "Spicy pan-fried beef with vegetables",
            "category": "IPPIN",
            "price": 23.9,
            "options": [
                {
                    "id": 223,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 441,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 442,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 443,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 224,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 444,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 284,
            "sku": "2040",
            "slug": "yakiniku-2-2040",
            "name": "Yakiniku",
            "description": "Pan-fried beef served with vegatables.",
            "category": "IPPIN",
            "price": 22.5,
            "options": [
                {
                    "id": 225,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 445,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 446,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 447,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 226,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 448,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 285,
            "sku": "2115",
            "slug": "sushi-moriawase-2-2115",
            "name": "Sushi Moriawase",
            "description": "Assorted sushi",
            "category": "SASHIMI & SPECIAL SUSHI",
            "price": 28.5,
            "options": [
                {
                    "id": 227,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 449,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 286,
            "sku": "1922",
            "slug": "salmon-sashimi-2-1922",
            "name": "Salmon Sashimi",
            "description": "Raw salmon.",
            "category": "SASHIMI & SPECIAL SUSHI",
            "price": 23.9,
            "options": [
                {
                    "id": 228,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 450,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 287,
            "sku": "1924",
            "slug": "spicy-yakitori-2-1924",
            "name": "Spicy Yakitori",
            "description": "Grilled chicken with spicy sauce.",
            "category": "SASHIMI & SPECIAL SUSHI",
            "price": 23.9,
            "options": [
                {
                    "id": 229,
                    "name": null,
                    "type": "single",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 451,
                            "name": "Make It A Set - Rice Miso Set",
                            "price_adjustment": 6.9
                        },
                        {
                            "id": 452,
                            "name": "Make It A Set - Rice Miso Chawanmushi Set",
                            "price_adjustment": 11.5
                        },
                        {
                            "id": 453,
                            "name": "Make It A Set - Rice Miso Chawanmushi Sashimi Set",
                            "price_adjustment": 16.9
                        }
                    ]
                },
                {
                    "id": 230,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 454,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 288,
            "sku": "4116",
            "slug": "packaging-fee-rm-150-2-4116",
            "name": "Packaging Fee RM 1.50",
            "description": "",
            "category": "SUSHI PACKS",
            "price": 1.5,
            "options": []
        },
        {
            "id": 289,
            "sku": "3908",
            "slug": "assorted-delight-2-3908",
            "name": "Assorted Delight",
            "description": "Teriyaki Chicken Nigiri, Inari, Tamago Nigiri, Inari Boat Tuna Mayo, Egg Mayo Gunkan, Karaage Gunkan & 4 California Maki",
            "category": "SUSHI PACKS",
            "price": 18.9,
            "options": [
                {
                    "id": 231,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 455,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 290,
            "sku": "3910",
            "slug": "top-faves-2-3910",
            "name": "Top faves",
            "description": "Salmon, Surimi Scallop Nigiri, Ebi Ten, Inari, Takoyaki Gunkan, Tuna Mayo Gunkan & Spicy Teriyaki Chicken Maki",
            "category": "SUSHI PACKS",
            "price": 25.5,
            "options": [
                {
                    "id": 232,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 456,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 291,
            "sku": "3912",
            "slug": "super-treats-2-3912",
            "name": "Super Treats",
            "description": "Salmon Nishoku, Teriyaki Chicken Nigiri, Ebi Fry Nigiri, Surimi Scallop Nigiri, Iidako Gunkan, Masago Gunkan & Cheese Maki",
            "category": "SUSHI PACKS",
            "price": 29.5,
            "options": [
                {
                    "id": 233,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 457,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 292,
            "sku": "3915",
            "slug": "norwegian-salmon-treasure-2-3915",
            "name": "Norwegian Salmon Treasure",
            "description": "4x Salmon Nigiri, 6x Salmon Nishoku",
            "category": "SUSHI PACKS",
            "price": 37.5,
            "options": [
                {
                    "id": 234,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 458,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 293,
            "sku": "3905",
            "slug": "sk-treasure-2-3905",
            "name": "SK Treasure",
            "description": "2 Iidako gunkan, 4 California maki, 1 Ebi Fry Nigiri, 1 Karaage Gunkan, 1 Tamago Nigiri & 1 Unagi Slice Nigiri",
            "category": "SUSHI PACKS",
            "price": 25.9,
            "options": [
                {
                    "id": 235,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 459,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 294,
            "sku": "22439",
            "slug": "tasty-temptation-2-22439",
            "name": "Tasty Temptation",
            "description": "",
            "category": "SUSHI PACKS",
            "price": 24.9,
            "options": [
                {
                    "id": 236,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 460,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 295,
            "sku": "3903",
            "slug": "all-time-favourite-2-3903",
            "name": "All Time Favourite",
            "description": "",
            "category": "SUSHI PACKS",
            "price": 64.5,
            "options": [
                {
                    "id": 237,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 461,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 296,
            "sku": "3914",
            "slug": "aburi-deluxe-2-3914",
            "name": "Aburi Deluxe",
            "description": "2 Spicy Aburi Salmon Nigiri, 2 Teriyaki Chicken Nigiri, 2 Aburi Tamagoyaki Nigiri and 4 Spicy Tori Karaage Maki",
            "category": "SUSHI PACKS",
            "price": 22.5,
            "options": [
                {
                    "id": 238,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 462,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 297,
            "sku": "4294",
            "slug": "favourite-pack-2-4294",
            "name": "Favourite Pack",
            "description": "",
            "category": "SUSHI PACKS",
            "price": 22.5,
            "options": [
                {
                    "id": 239,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 463,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 298,
            "sku": "4295",
            "slug": "all-star-pack-2-4295",
            "name": "All Star Pack",
            "description": "",
            "category": "SUSHI PACKS",
            "price": 23.9,
            "options": [
                {
                    "id": 240,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 464,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 299,
            "sku": "8958",
            "slug": "salmon-mentai-nigiri-2-8958",
            "name": "Salmon Mentai Nigiri",
            "description": "Raw salmon with mentai mayo",
            "category": "SALMON PROMOTION",
            "price": 8.5,
            "options": [
                {
                    "id": 241,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 465,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 300,
            "sku": "8959",
            "slug": "aburi-garlic-salmon-nigiri-2-8959",
            "name": "Aburi Garlic Salmon Nigiri",
            "description": "Torched raw salmon with mayo and fried garlic",
            "category": "SALMON PROMOTION",
            "price": 6.5,
            "options": [
                {
                    "id": 242,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 466,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 301,
            "sku": "8960",
            "slug": "spicy-salmon-carpaccio-nigiri-2-8960",
            "name": "Spicy Salmon Carpaccio Nigiri",
            "description": "Raw salmon with cucumber, spicy sauce and fish roe",
            "category": "SALMON PROMOTION",
            "price": 8.5,
            "options": [
                {
                    "id": 243,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 467,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 302,
            "sku": "8962",
            "slug": "aburi-salmon-maki-2-8962",
            "name": "Aburi Salmon Maki",
            "description": "Torched raw Salmon, cucumber, crabstick and mayo",
            "category": "SALMON PROMOTION",
            "price": 7.5,
            "options": [
                {
                    "id": 244,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 468,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 303,
            "sku": "8963",
            "slug": "cheesy-salmon-volcano-2-8963",
            "name": "Cheesy Salmon Volcano",
            "description": "Torched salmon mayo with cheese sauce and mayo",
            "category": "SALMON PROMOTION",
            "price": 7.5,
            "options": [
                {
                    "id": 245,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 469,
                            "name": "Sushi Packaging RM0.50",
                            "price_adjustment": 0.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 304,
            "sku": "11148",
            "slug": "salmon-okonomiyaki-2-11148",
            "name": "Salmon Okonomiyaki",
            "description": "Japanese savory pancake topped with salmon mayo and okonomi sauce",
            "category": "SALMON PROMOTION",
            "price": 8.5,
            "options": [
                {
                    "id": 246,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 470,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 305,
            "sku": "8964",
            "slug": "salmon-miso-yaki-2-8964",
            "name": "Salmon Miso Yaki",
            "description": "Cooked Salmon with soybean sauce",
            "category": "SALMON PROMOTION",
            "price": 13.5,
            "options": [
                {
                    "id": 247,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 471,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 306,
            "sku": "8965",
            "slug": "salmon-teriyaki-don-2-8965",
            "name": "Salmon Teriyaki Don",
            "description": "Rice with deep-fried Salmon, lotus root, snap peas, crabstick and teriyaki sauce",
            "category": "SALMON PROMOTION",
            "price": 19.5,
            "options": [
                {
                    "id": 248,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 472,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 307,
            "sku": "8966",
            "slug": "piri-piri-salmon-katsu-don-2-8966",
            "name": "Piri Piri Salmon Katsu Don",
            "description": "Rice with deep-fried salmon, snap peas, mayo, and spicy sauce",
            "category": "SALMON PROMOTION",
            "price": 20.5,
            "options": [
                {
                    "id": 249,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 473,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 308,
            "sku": "8967",
            "slug": "salmon-nabeyaki-udon-2-8967",
            "name": "Salmon Nabeyaki Udon",
            "description": "Japanese wheat noodles, salmon, crabstick, lotus root,  shimeji mushroom and seaweed served in soybean-based broth",
            "category": "SALMON PROMOTION",
            "price": 24.9,
            "options": [
                {
                    "id": 250,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 474,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 309,
            "sku": "8968",
            "slug": "salmon-miso-teppanyaki-2-8968",
            "name": "Salmon Miso Teppanyaki",
            "description": "Pan-fried salmon and vegetables with soybean sauce",
            "category": "SALMON PROMOTION",
            "price": 21.5,
            "options": [
                {
                    "id": 251,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 475,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 310,
            "sku": "8969",
            "slug": "aburi-salmon-mentai-don-s-2-8969",
            "name": "Aburi Salmon Mentai Don (S)",
            "description": "Rice with raw salmon with mentai mayo and fish roe",
            "category": "SALMON PROMOTION",
            "price": 10.5,
            "options": [
                {
                    "id": 252,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 476,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 311,
            "sku": "8970",
            "slug": "salmon-mixed-bento-2-8970",
            "name": "Salmon Mixed Bento",
            "description": "Pan-fried salmon with soybean sauce, deep fried chicken, salmon mayo served with edamame and piri piri renkon",
            "category": "SALMON PROMOTION",
            "price": 27.5,
            "options": [
                {
                    "id": 253,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 477,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                }
            ]
        },
        {
            "id": 312,
            "sku": "11149",
            "slug": "tangerine-daifuku-2-11149",
            "name": "Tangerine Daifuku",
            "description": "Soft tangerine mochi filled with sweet bean",
            "category": "SALMON PROMOTION",
            "price": 6.5,
            "options": []
        },
        {
            "id": 313,
            "sku": "11150",
            "slug": "tangerine-wagashi-2-11150",
            "name": "Tangerine Wagashi",
            "description": "Japanese dessert made with sweet bean, shaped like tangerine",
            "category": "SALMON PROMOTION",
            "price": 6.5,
            "options": []
        },
        {
            "id": 314,
            "sku": "8861",
            "slug": "yee-sang-s-2-8861",
            "name": "Yee Sang (S)",
            "description": "Carrot, cucumber, radish, egg sheet, seasoned seaweed salad, fish roe, seasoned jellyfihs, crabstick, shrimp and salmon slice served with Japanese citrus sauce and lime.",
            "category": "Chinese New Year Yee Sang",
            "price": 21.88,
            "options": [
                {
                    "id": 254,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 478,
                            "name": "Packaging Fee RM 1.50",
                            "price_adjustment": 1.5
                        }
                    ]
                },
                {
                    "id": 255,
                    "name": null,
                    "type": "multiple",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 2,
                    "items": [
                        {
                            "id": 479,
                            "name": "Salmon Slice",
                            "price_adjustment": 14.88
                        },
                        {
                            "id": 480,
                            "name": "Chuka Iidako",
                            "price_adjustment": 7.88
                        }
                    ]
                }
            ]
        },
        {
            "id": 315,
            "sku": "8863",
            "slug": "salmon-slice-2-8863",
            "name": "Salmon Slice",
            "description": "",
            "category": "Chinese New Year Yee Sang",
            "price": 14.88,
            "options": []
        },
        {
            "id": 316,
            "sku": "8864",
            "slug": "chuka-iidako-2-8864",
            "name": "Chuka Iidako",
            "description": "",
            "category": "Chinese New Year Yee Sang",
            "price": 7.88,
            "options": []
        },
        {
            "id": 317,
            "sku": "8862",
            "slug": "prosperity-yee-sang-2-8862",
            "name": "Prosperity Yee Sang",
            "description": "Carrot, cucumber, radish, egg sheet, seasoned seaweed salad, fish roe, seasoned jellyfihs, seasoned baby octopus, crabstick, shrimp, torched salmon belly slice and salmon slice served with Japanese ci",
            "category": "Chinese New Year Yee Sang",
            "price": 66.88,
            "options": [
                {
                    "id": 256,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 481,
                            "name": "Packaging Fee RM 3.00",
                            "price_adjustment": 3
                        }
                    ]
                },
                {
                    "id": 257,
                    "name": null,
                    "type": "multiple",
                    "required": false,
                    "min_selection": 0,
                    "max_selection": 2,
                    "items": [
                        {
                            "id": 482,
                            "name": "Salmon Slice",
                            "price_adjustment": 14.88
                        },
                        {
                            "id": 483,
                            "name": "Chuka Iidako",
                            "price_adjustment": 7.88
                        }
                    ]
                }
            ]
        },
        {
            "id": 318,
            "sku": "22580",
            "slug": "beef-nabeyaki-udon-2-22580",
            "name": "Beef Nabeyaki Udon",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 319,
            "sku": "22581",
            "slug": "tenpura-udon-2-22581",
            "name": "Tenpura Udon",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 320,
            "sku": "22582",
            "slug": "spicy-ramen-noodles-2-22582",
            "name": "Spicy Ramen Noodles",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 321,
            "sku": "22583",
            "slug": "coca-cola-2-22583",
            "name": "Coca Cola",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 322,
            "sku": "22584",
            "slug": "sprite-2-22584",
            "name": "Sprite",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 323,
            "sku": "22585",
            "slug": "hanjuku-cheese-cake-2-22585",
            "name": "Hanjuku Cheese Cake",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 324,
            "sku": "22586",
            "slug": "cinnamon-financier-2-22586",
            "name": "Cinnamon Financier",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 325,
            "sku": "22587",
            "slug": "chocolate-financier-2-22587",
            "name": "Chocolate Financier",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 326,
            "sku": "4123",
            "slug": "packaging-fee-rm-300-2-4123",
            "name": "Packaging Fee RM 3.00",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 3,
            "options": []
        },
        {
            "id": 327,
            "sku": "22576",
            "slug": "japanese-set-meal-x-grab-umami-gang-blind-box-2-22576",
            "name": "Japanese Set Meal x Grab Umami Gang Blind Box",
            "description": "2 main dishes, 2 drinks and 2 desserts of your choice with a complimentary Gang Umami Blind Box",
            "category": "Umami Season Plushie Bundle",
            "price": 60,
            "options": [
                {
                    "id": 258,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 484,
                            "name": "Coca Cola",
                            "price_adjustment": 0
                        },
                        {
                            "id": 485,
                            "name": "Sprite",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 259,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 486,
                            "name": "Hanjuku Cheese Cake",
                            "price_adjustment": 0
                        },
                        {
                            "id": 487,
                            "name": "Cinnamon Financier",
                            "price_adjustment": 0
                        },
                        {
                            "id": 488,
                            "name": "Chocolate Financier",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 260,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 489,
                            "name": "Spicy Chicken Katsu Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 490,
                            "name": "Yakiniku Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 491,
                            "name": "Unagi Tamago Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 492,
                            "name": "Beef Nabeyaki Udon",
                            "price_adjustment": 0
                        },
                        {
                            "id": 493,
                            "name": "Tenpura Udon",
                            "price_adjustment": 0
                        },
                        {
                            "id": 494,
                            "name": "Spicy Ramen Noodles",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 261,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 495,
                            "name": "Coca Cola",
                            "price_adjustment": 0
                        },
                        {
                            "id": 496,
                            "name": "Sprite",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 262,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 497,
                            "name": "Hanjuku Cheese Cake",
                            "price_adjustment": 0
                        },
                        {
                            "id": 498,
                            "name": "Cinnamon Financier",
                            "price_adjustment": 0
                        },
                        {
                            "id": 499,
                            "name": "Chocolate Financier",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 263,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 500,
                            "name": "Spicy Chicken Katsu Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 501,
                            "name": "Yakiniku Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 502,
                            "name": "Unagi Tamago Don",
                            "price_adjustment": 0
                        },
                        {
                            "id": 503,
                            "name": "Beef Nabeyaki Udon",
                            "price_adjustment": 0
                        },
                        {
                            "id": 504,
                            "name": "Tenpura Udon",
                            "price_adjustment": 0
                        },
                        {
                            "id": 505,
                            "name": "Spicy Ramen Noodles",
                            "price_adjustment": 0
                        }
                    ]
                },
                {
                    "id": 264,
                    "name": null,
                    "type": "single",
                    "required": true,
                    "min_selection": 1,
                    "max_selection": 1,
                    "items": [
                        {
                            "id": 506,
                            "name": "Packaging Fee RM 3.00",
                            "price_adjustment": 3
                        }
                    ]
                }
            ]
        },
        {
            "id": 328,
            "sku": "22577",
            "slug": "spicy-chicken-katsu-don-2-22577",
            "name": "Spicy Chicken Katsu Don",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 329,
            "sku": "22578",
            "slug": "yakiniku-don-2-22578",
            "name": "Yakiniku Don",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        },
        {
            "id": 330,
            "sku": "22579",
            "slug": "unagi-tamago-don-2-22579",
            "name": "Unagi Tamago Don",
            "description": "",
            "category": "Umami Season Plushie Bundle",
            "price": 0,
            "options": []
        }
    ]
}

Sample shown with selected menu items. Actual response may contain more products depending on the outlet menu.

No request-level script.

Public APIs

Product Search - POST

{{base_url}}/webhook-api/v1/products
POST
Header Value
Accept application/json
Content-Type application/json
{
  "keyword": "chicken",
  "outlet_id": {{outlet_id}}
}

No saved example response in the Postman collection.

No request-level script.

Public APIs

Product Detail

{{base_url}}/webhook-api/v1/products/{{product_id}}
GET
Header Value
Accept application/json

No request body.

No saved example response in the Postman collection.

No request-level script.

Wave Auth + Cart APIs

Select Outlet - Pickup

{{base_url}}/webhook-api/v1/outlets/{{outlet_id}}/pickup
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "pickup_datetime": "2026-07-13 18:30:00"
}
{
    "success": true,
    "message": "Outlet and pickup time selected successfully.",
    "data": {
        "customer": {
            "id": 1,
            "name": "John Doe",
            "phone": "60123456789"
        },
        "login": {
            "login_url": "https://cuscapi.coder.com.my/wave-login?token=VO63lrHVWEADNlUcRnQClKX7X4B2Bxij4PFRLr1h7pZVIQ5QZo8HGWhHOCjjMkEU997aM7prmm7XS4qJ",
            "login_token": "VO63lrHVWEADNlUcRnQClKX7X4B2Bxij4PFRLr1h7pZVIQ5QZo8HGWhHOCjjMkEU997aM7prmm7XS4qJ",
            "expires_in_minutes": 10
        },
        "cart": {
            "id": 144,
            "outlet_id": 2,
            "table_id": null,
            "delivery_option": "pickup",
            "fulfillment_type": "scheduled",
            "scheduled_at": "2026-07-16T15:00:00+08:00",
            "scheduled_date_label": "Thursday, July 16",
            "scheduled_time_label": "3:00 PM"
        },
        "outlet": {
            "id": 2,
            "name": "Outlet 2"
        }
    }
}

No request-level script.

Wave Auth + Cart APIs

Select Outlet - Dine In

{{base_url}}/webhook-api/v1/outlets/{{outlet_id}}/dine-in
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}"
}
{
    "success": true,
    "message": "Outlet selected successfully.",
    "data": {
        "customer": {
            "id": 2,
            "name": "Boon",
            "phone": "60123456789"
        },
        "login": {
            "login_url": "http://localhost:3001/wave-login?token=q7YW3bGn3G9QkjociPtyH2YB60SdiMPe1JaBXrJYqxt5he9JAIUMDkl0oXvY8kkBzAOFnfrErPZB3d3F",
            "login_token": "q7YW3bGn3G9QkjociPtyH2YB60SdiMPe1JaBXrJYqxt5he9JAIUMDkl0oXvY8kkBzAOFnfrErPZB3d3F",
            "expires_in_minutes": 10
        },
        "cart": {
            "id": 2,
            "outlet_id": 2,
            "table_id": null,
            "delivery_option": "dine_in",
            "fulfillment_type": "asap",
            "scheduled_at": null,
            "scheduled_date_label": null,
            "scheduled_time_label": null
        },
        "outlet": {
            "id": 2,
            "name": "SUSHI KING Taman Equine"
        }
    }
}

No request-level script.

Wave Auth + Cart APIs

Show Cart

Retrieves the customer's existing cart by phone and WhatsApp name. The response includes cart items, summary, and login.login_url for opening the cart preview in the in-app browser.

{{base_url}}/webhook-api/v1/cart
GET
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}"
}
{
    "success": true,
    "message": "Cart retrieved successfully.",
    "data": {
        "cart_id": 2,
        "customer": {
            "id": 2,
            "name": "Boon",
            "phone": "60123456789"
        },
        "login": {
            "login_url": "http://localhost:3001/wave-login?token=9ajk2DP8b4lTEtyp0m2qKguyxIJ4psPfHKJOktTCfGseRl8pVMvkaOS3ragjxkECItKJ1sbdDSI4qeV4",
            "login_token": "9ajk2DP8b4lTEtyp0m2qKguyxIJ4psPfHKJOktTCfGseRl8pVMvkaOS3ragjxkECItKJ1sbdDSI4qeV4",
            "expires_in_minutes": 10
        },
        "outlet_id": 2,
        "table_id": null,
        "delivery_option": "pickup",
        "items": [
            {
                "id": 1,
                "cart_id": 2,
                "customer_id": 2,
                "product_id": 166,
                "quantity": 1,
                "ori_price": 19.5,
                "price": 19.5,
                "total": 21,
                "note": "No onion",
                "product": {
                    "id": 166,
                    "sku": "2310",
                    "name": "Tenpura Udon",
                    "price": 19.5,
                    "normal_price": 19.5
                },
                "selected_options": [
                    {
                        "id": 1,
                        "product_option_group_id": 133,
                        "product_option_item_id": 254,
                        "quantity": 1,
                        "price_adjustment": 1.5,
                        "total": 1.5,
                        "group_name": null,
                        "item_name": "Packaging Fee RM 1.50"
                    }
                ]
            }
        ],
        "summary": {
            "item_count": 1,
            "subtotal": 21,
            "total": 21
        }
    }
}

No request-level script.

Wave Auth + Cart APIs

Add To Cart - Without Option

This endpoint returns the full cart payload after adding an item. The response should include the cart summary and login.login_url for opening the cart preview.

{{base_url}}/webhook-api/v1/cart/items
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "product_id": {{product_id}},
  "quantity": 2,
  "note": "Less spicy"
}

201 Created

{
    "success": true,
    "message": "Item added to cart successfully.",
    "data": {
        "cart_id": 13,
        "customer": {
            "id": 2,
            "name": "Boon",
            "phone": "60168880366"
        },
        "login": {
            "login_url": "http://localhost:3000/wave-login?token=4S2msbSXbrgl75DSBqe1swyW5KIfGc8HJS6HLuJqLmdsnUeIWtGsbyWmd66wQrxZigosFnxbFQmVE0km",
            "login_token": "4S2msbSXbrgl75DSBqe1swyW5KIfGc8HJS6HLuJqLmdsnUeIWtGsbyWmd66wQrxZigosFnxbFQmVE0km",
            "expires_in_minutes": 10
        },
        "outlet_id": 3,
        "delivery_option": "dine_in",
        "items": [
            {
                "id": 28,
                "cart_id": 13,
                "customer_id": 2,
                "product_id": 165,
                "quantity": 2,
                "ori_price": 0,
                "price": 0,
                "total": 0,
                "note": "Less spicy",
                "product": {
                    "id": 165,
                    "sku": "22579",
                    "name": "Unagi Tamago Don",
                    "price": 0,
                    "normal_price": 0
                },
                "selected_options": []
            }
        ],
        "summary": {
            "item_count": 2,
            "subtotal": 0,
            "total": 0
        }
    }
}

Prerequest Script

const secret = pm.collectionVariables.get("wave_secret");

const timestamp = Math.floor(Date.now() / 1000).toString();
pm.collectionVariables.set("wave_timestamp", timestamp);

let body = "";

if (pm.request.body && pm.request.body.mode === "raw") {
    body = pm.variables.replaceIn(pm.request.body.raw || "");
}

const payload = timestamp + "." + body;

const signature = CryptoJS.HmacSHA256(payload, secret)
    .toString(CryptoJS.enc.Hex);

pm.collectionVariables.set("wave_signature", signature);

console.log("payload:", payload);
console.log("signature:", signature);
Wave Auth + Cart APIs

Add To Cart - With Option

{{base_url}}/webhook-api/v1/cart/items
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "product_id": {{product_with_option_id}},
  "quantity": 1,
  "note": "No onion",
  "options": [
    {
      "product_option_group_id": {{product_option_group_id}},
      "product_option_item_ids": [
        {{product_option_item_id}}
      ]
    }
  ]
}

201 Created

{
    "success": true,
    "message": "Item added to cart successfully.",
    "data": {
        "cart_id": 13,
        "customer": {
            "id": 2,
            "name": "Boon",
            "phone": "60168880366"
        },
        "login": {
            "login_url": "http://localhost:3000/wave-login?token=dt9Bv2XRA6MbBzGYpFf0wkG2w7f4rj6L1zRXnGqaBXplUR3HM2i4G2Db2nYCTTYcrLafKlBHqBQ00Hw6",
            "login_token": "dt9Bv2XRA6MbBzGYpFf0wkG2w7f4rj6L1zRXnGqaBXplUR3HM2i4G2Db2nYCTTYcrLafKlBHqBQ00Hw6",
            "expires_in_minutes": 10
        },
        "outlet_id": 3,
        "delivery_option": "dine_in",
        "items": [
            {
                "id": 28,
                "cart_id": 13,
                "customer_id": 2,
                "product_id": 165,
                "quantity": 2,
                "ori_price": 0,
                "price": 0,
                "total": 0,
                "note": "Less spicy",
                "product": {
                    "id": 165,
                    "sku": "22579",
                    "name": "Unagi Tamago Don",
                    "price": 0,
                    "normal_price": 0
                },
                "selected_options": []
            },
            {
                "id": 30,
                "cart_id": 13,
                "customer_id": 2,
                "product_id": 1,
                "quantity": 1,
                "ori_price": 19.5,
                "price": 19.5,
                "total": 21,
                "note": "No onion",
                "product": {
                    "id": 1,
                    "sku": "2310",
                    "name": "Tenpura Udon",
                    "price": 19.5,
                    "normal_price": 19.5
                },
                "selected_options": [
                    {
                        "id": 34,
                        "product_option_group_id": 1,
                        "product_option_item_id": 1,
                        "quantity": 1,
                        "price_adjustment": 1.5,
                        "total": 1.5,
                        "group_name": null,
                        "item_name": "Packaging Fee RM 1.50"
                    }
                ]
            }
        ],
        "summary": {
            "item_count": 3,
            "subtotal": 21,
            "total": 21
        }
    }
}

No request-level script.

Wave Auth APIs

Customer Search

{{base_url}}/webhook-api/v1/customers?phone={{phone}}
GET
Header Value
Accept application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}

No request body.

No saved example response in the Postman collection.

No request-level script.

Wave Auth APIs

Customer Orders

Retrieves the customer's orders. The request may optionally filter by either order_id or order_number .

{{base_url}}/webhook-api/v1/customers/orders
GET
Header Value
Accept application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}

Retrieve All Orders

{
  "phone": "{{phone}}"
}

Retrieve by Order ID

{
  "phone": "{{phone}}",
  "order_id": 10
}

Retrieve by Order Number

{
  "phone": "{{phone}}",
  "order_number": "ORD-20260522234243-3566"
}
Rules: phone is required. order_id and order_number are optional. Send either order_id or order_number , not both. If neither is provided, the API returns the customer's orders.
Success with Order Number 200 OK
{
    "success": true,
    "customer": {
        "id": 1,
        "name": "John Doee"
    },
    "filter": {
        "order_number": "ORD-20260522234243-3566"
    },
    "orders": [
        {
            "id": 10,
            "order_number": "ORD-20260522234243-3566",
            "status": "completed",
            "total": 144.5,
            "created_at": "2026-05-22T15:42:43.000000Z",
            "items": [
                {
                    "id": 15,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 16,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 17,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 18,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 19,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                }
            ]
        }
    ]
}
Success with Order ID 200 OK
{
    "success": true,
    "customer": {
        "id": 1,
        "name": "John Doee"
    },
    "filter": {
        "order_id": 10
    },
    "orders": [
        {
            "id": 10,
            "order_number": "ORD-20260522234243-3566",
            "status": "completed",
            "total": 144.5,
            "created_at": "2026-05-22T15:42:43.000000Z",
            "items": [
                {
                    "id": 15,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 16,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 17,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 18,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                },
                {
                    "id": 19,
                    "product_id": 6,
                    "name": "Salmon Mentai Roll",
                    "quantity": 1,
                    "price": 28.9,
                    "total": 28.9
                }
            ]
        }
    ]
}
Validation Error 422 Unprocessable Entity
{
    "success": false,
    "message": "Specify either order_id or order_number, but not both."
}

No request-level script.

Wave Auth APIs

Loyalty Point

Retrieves the customer's loyalty point balance using the customer's phone number.

{{base_url}}/webhook-api/v1/loyalty
GET
Header Value
Accept application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}"
}
Success 200 OK
{
    "success": true,
    "customer": {
        "id": 1,
        "name": "John Doee",
        "phone": "60123456789"
    },
    "points_balance": 14950,
    "points_summary": {
        "earned": 0,
        "redeemed": 0,
        "expired": 0,
        "adjusted": 0
    },
    "customer_vouchers": []
}
Customer Not Found 404 Not Found
{
    "success": false,
    "message": "Customer not found."
}

No request-level script.

Wave Auth APIs

Loyalty Vouchers

Retrieves available vouchers that the customer can redeem using loyalty points.

{{base_url}}/webhook-api/v1/loyalty/vouchers
GET
Header Value
Accept application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}"
}
Success 200 OK
{
    "success": true,
    "customer": {
        "id": 1,
        "name": "John Doe",
        "phone": "60123456789"
    },
    "login": {
        "login_url": "https://cuscapi.coder.com.my/wave-login?token=OnNfN8lZc6RRUMijkOgJBVuIMyuGLV3N8RUNycipDHwpOTEHjRONuDwbmmOMCcf70qG4eGt6edSPt3PM",
        "login_token": "OnNfN8lZc6RRUMijkOgJBVuIMyuGLV3N8RUNycipDHwpOTEHjRONuDwbmmOMCcf70qG4eGt6edSPt3PM",
        "expires_in_minutes": 10
    },
    "points_balance": 0,
    "points_summary": {
        "earned": 0,
        "redeemed": 0,
        "expired": 0,
        "adjusted": 0
    },
    "vouchers": [
        {
            "id": 2,
            "name": "10% off !!!",
            "points_needed": 0,
            "discount_value": 10,
            "type": "amount",
            "t_and_c": "hahahhaha",
            "expiry_duration_in_days": null
        },
        {
            "id": 1,
            "name": "Testing Voucher 1",
            "points_needed": 100,
            "discount_value": 10,
            "type": "percentage",
            "t_and_c": "testing Terms and conditions",
            "expiry_duration_in_days": null
        },
        {
            "id": 3,
            "name": "All 50% off",
            "points_needed": 2000,
            "discount_value": 50,
            "type": "percentage",
            "t_and_c": "Only limit to 50 users claim",
            "expiry_duration_in_days": null
        }
    ]
}

No request-level script.

Wave Auth APIs

Claim Loyalty

Redeems an available loyalty voucher for the customer using the customer's phone number.

{{base_url}}/webhook-api/v1/loyalty/redeem
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "voucher_id": 2
}
Success 200 OK
{
    "success": true,
    "message": "Voucher redeemed successfully.",
    "customer": {
        "id": 1,
        "name": "John Doee",
        "phone": "60123456789"
    },
    "points_balance": 14790,
    "voucher": {
        "id": 2,
        "voucher_id": 2,
        "name": "RM15 Voucher",
        "points_used": 150,
        "status": "available",
        "active": "2026-07-01T05:50:37.620578Z",
        "expiry": null
    }
}

No request-level script.

Wave Auth + Reservation APIs

Check Reservation Availability

Checks whether the requested reservation slot is available before confirming the booking.

{{base_url}}/webhook-api/v1/reservations/check
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "outlet_id": {{outlet_id}},
  "reservation_date": "{{reservation_date}}",
  "reservation_time": "{{reservation_time}}",
  "party_size": {{party_size}}
}
Success 200 OK
{
  "success": true,
  "message": "Reservation slot is available.",
  "data": {
    "available": true,
    "outlet_id": 1,
    "reservation_date": "2026-07-12",
    "reservation_time": "19:30",
    "party_size": 4
  }
}

No request-level script.

Wave Auth + Reservation APIs

Create Reservation

Creates a confirmed table reservation and returns a reservation token for the pre-order flow.

{{base_url}}/webhook-api/v1/reservations
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "outlet_id": "2",
  "reservation_datetime": "2026-07-15 12:30:00",
  "pax": 2,
  "guest_name": "{{whatsapp_name}}",
  "guest_email": "",
  "notes": "Window seat if available"
}
Success 200 OK
{
    "success": true,
    "message": "Reservation created successfully.",
    "data": {
        "id": 1,
        "reservation_id": "RSV-20260708-00001",
        "pos_reservation_id": null,
        "status": "pending",
        "status_label": "Pending",
        "guest_name": "Boon",
        "guest_phone": "60168880366",
        "guest_email": null,
        "reservation_datetime": "2026-07-15T12:30:00+08:00",
        "reservation_date_label": "Wednesday, July 15",
        "reservation_time_label": "12:30 PM",
        "pax": 2,
        "notes": "Window seat if available",
        "cancel_reason": null,
        "confirmed_at": null,
        "cancelled_at": null,
        "last_sync_error": null,
        "outlet": {
            "id": 2,
            "name": "SUSHI KING Taman Equine",
            "phone": null,
            "address": null
        },
        "table": {
            "id": 14,
            "table_code": "61",
            "table_name": "13"
        },
        "login": {
            "enabled": true,
            "login_url": "http://localhost:3001/wave-login?token=KieLfFjLZO35eIIw6D4phYafUj9MYpx2baFb0FObqcaymh44vHqXnovACLlMUSsYA6A7iV4JXwjLe9VQ",
            "login_token": "KieLfFjLZO35eIIw6D4phYafUj9MYpx2baFb0FObqcaymh44vHqXnovACLlMUSsYA6A7iV4JXwjLe9VQ",
            "expires_in_minutes": 10
        },
        "pos": {
            "success": false,
            "message": null
        },
        "actions": {
            "can_pre_order": true,
            "can_cancel": true
        }
    }
}

No request-level script.

Wave Auth + Reservation APIs

Reservation Detail

Retrieves reservation details for WhatsApp view reservation or status checking.

{{base_url}}/webhook-api/v1/reservations/{{reservation_id}}?phone={{phone}}
GET
Header Value
Accept application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}

No request body.

Success 200 OK
{
  "success": true,
  "data": {
    "reservation": {
      "id": 1,
      "reservation_number": "RSV-202607010015",
      "outlet": {
        "id": 1,
        "name": "Mama's Kitchen"
      },
      "reservation_date": "2026-07-12",
      "reservation_time": "19:30",
      "party_size": 4,
      "status": "confirmed",
      "pre_order_status": "pending"
    }
  }
}

No request-level script.

Wave Auth + Reservation APIs

Cancel Reservation

Cancels a confirmed reservation from WhatsApp.

{{base_url}}/webhook-api/v1/reservations/{{reservation_id}}/cancel
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "reason": "Customer requested cancellation"
}
Success 200 OK
{
  "success": true,
  "message": "Reservation cancelled successfully.",
  "data": {
    "reservation_id": 1,
    "status": "cancelled"
  }
}

No request-level script.

Wave Auth + Campaign APIs

Track Campaign + Generate Login URL

Receives the customer's WhatsApp message, extracts the campaign tracking code, records the campaign traffic, creates or loads the customer session, and returns a login_url with campaign tracking for the IAB menu flow.

{{base_url}}/webhook-api/v1/campaigns/track
POST
Header Value
Accept application/json
Content-Type application/json
X-WAVE-SIGNATURE {{wave_signature}}
X-WAVE-TIMESTAMP {{wave_timestamp}}
{
  "phone": "{{phone}}",
  "whatsapp_name": "{{whatsapp_name}}",
  "message": "I want to order WAVE-IG-202607-ABC123",
  "campaign_source": "instagram_story",
  "campaign_channel": "whatsapp"
}
Rules: phone and message are required. The backend extracts WAVE-{code} from the message and appends it to the returned login_url as ct .
Success 200 OK
{
  "success": true,
  "message": "Campaign tracked successfully.",
  "campaign": {
    "tracking_code": "WAVE-IG-202607-ABC123",
    "source": "instagram_story",
    "channel": "whatsapp"
  },
  "customer": {
    "id": 4,
    "name": "Boon",
    "phone": "60168880366"
  },
  "login": {
    "login_url": "https://your-domain.com/wave-login?token=xxxxx&ct=WAVE-IG-202607-ABC123",
    "login_token": "xxxxx",
    "expires_in_minutes": 10
  }
}
No Campaign Code Found 422 Unprocessable Entity
{
  "success": false,
  "message": "No campaign tracking code found in message."
}

Prerequest Script

const secret = pm.collectionVariables.get("wave_secret");

const timestamp = Math.floor(Date.now() / 1000).toString();
pm.collectionVariables.set("wave_timestamp", timestamp);

let body = "";

if (pm.request.body && pm.request.body.mode === "raw") {
    body = pm.variables.replaceIn(pm.request.body.raw || "");
}

const payload = timestamp + "." + body;

const signature = CryptoJS.HmacSHA256(payload, secret)
    .toString(CryptoJS.enc.Hex);

pm.collectionVariables.set("wave_signature", signature);