Application Initialization
In order to show the correct options to your guest in the ordering flow based on the configurations made for the Brand, we suggest that you make a call for brand details either during your app startup / initialization or whenever the guest makes an intent to start placing an order. The /init-application will allow you to know details such as which order types are enabled for the stores within the brand, which payment processor and payment methods are configured, and whether a loyalty program is being used.
Request
{
"method": "post",
"url": "https://api-public-playground.menu.app/api/init-application",
"headers": {
"X-Request-ID": "69da3547-204b-4093-a225-54e084c24215",
"Application": "f3a90488ffee32c3acb6fcd0ca417cf6",
"Api-Version": 4.38.0,
"Content-Type": "application/json"
}
}
Response
{
"status": "OK",
"code": 200,
"data": {
"key": "f3a90488ffee32c3acb6fcd0ca417cf6",
"brand": {
"id": "de3a0527-7e4c-4888-91de-71b6d29efa74",
"name": "Kauwela OAPI",
"customization_set_id": "xQlsDcZl3wTA5e",
"auth_type_id": 2,
"optin_type_id": 1,
"has_coupons": true,
"has_rewards": false,
"show_tax_on_receipt": true,
"threeds_status": 3,
"liability_shift_status": 1,
"fraud_detection_step": 1,
"order_regret_buffer": 0,
"order_regret_status": 2,
"is_product_structure_enabled": false,
"discount_venue_ids": [
"31f3769a-33ce-40d9-8f22-8d910db4fd11",
"3da18a0e-c68c-49a7-a462-65265b90e2b5",
"b62b7fee-ba1c-46a5-b19e-828c32fc8fe1",
"4cfd6160-1902-47d7-a3fa-29ece391d0ab",
"e8f12b0c-748d-4500-a684-11a87dc662e1",
"a71cea17-104a-4275-9813-437b9d6a697b",
"93048899-82f8-4c10-bd59-65ade04b3e84",
"c749ccee-4d63-48fd-bd9a-4e873b652c7c",
"b94ddb0b-7f78-40b2-850b-ec1330460892",
"5376bb76-d1d4-4b39-9980-ccae3a114a6c",
"d9747f2c-3de4-4298-8ec8-597d5a9e337b",
"8df2b9d9-20a1-44e9-b242-58a7645cbb73",
"c02f4a59-be22-4850-afc4-0016ac317f81",
"df70dc3a-11a2-452f-9fb4-c5f3e95e956f",
"3469a3b2-0ed0-4d63-bbd7-effb6b35df64",
"bdb488e8-7bd4-4067-9704-9358901db311",
"116d237e-962e-45d2-bf06-2bf3b446ebe6",
"cdec2ef7-7b1d-4b14-a1b5-48b8321f4766",
"bc6ed9ef-0c76-49ef-b674-f743a7b37134",
"def8e032-f567-484e-80a9-763ad96b8607",
"9aff3920-2dfe-4cd5-bfd4-6177a34c11ab",
"0e049b78-5bb3-4553-bd87-d73addd4181d",
"4b7bc65c-019d-427f-9ff1-570c460aef82",
"f058eae2-dd84-4afb-be9c-ac875b1acdd2",
"e569fb9f-4db1-4d1e-acde-0db7ff0a40a0",
"1877b891-7ecf-48d4-b8e3-c1bc8e056140",
"f770d1f0-cf16-460d-a7ad-8de105f4bf8f",
"1ab15227-2458-42a5-b405-35b9ac0edf35",
"cd5dc209-c014-4e4a-b51b-1f78bd503dc4",
"064c476a-92f6-4bdd-a04f-64b78f4e8d54",
"d183aba7-02d7-4f7c-8797-1b178e94e57a",
"2f567e28-29e3-4e6c-9ea4-ad317b2dd8f6",
"072b5bcc-d8de-4ec1-b7c6-ca9d2b972d78",
"293e04c6-1425-4a26-a8a0-dd8536eba67d",
"e76041e5-f6b9-48d8-b781-2db9ffd30e9c",
"42a1980e-ca46-4ea1-942b-d1f3d77f3aba",
"0a2e8ec0-d7aa-4706-a840-b9a63a0429a4",
"594ff88b-21b4-4497-a021-6e0c96ec9701",
"e864d666-72bc-40fa-8426-50ea902638c9",
"d429d62c-0c7b-4817-a67c-36dc412b0a73",
"67984194-717f-46e7-aca6-03a7b64009f3",
"a9d6d0c8-1689-4114-b1ec-6da9c33f0384",
"bd475fd4-4b44-482f-a547-c8b45d656887",
"b39f1db4-7094-4dd9-a261-313225a23c03"
],
"loyalty_id": null,
"loyalty_venue_ids": [
"31f3769a-33ce-40d9-8f22-8d910db4fd11",
"3da18a0e-c68c-49a7-a462-65265b90e2b5",
"b62b7fee-ba1c-46a5-b19e-828c32fc8fe1",
"4cfd6160-1902-47d7-a3fa-29ece391d0ab",
"e8f12b0c-748d-4500-a684-11a87dc662e1",
"a71cea17-104a-4275-9813-437b9d6a697b",
"93048899-82f8-4c10-bd59-65ade04b3e84",
"c749ccee-4d63-48fd-bd9a-4e873b652c7c",
"b94ddb0b-7f78-40b2-850b-ec1330460892",
"5376bb76-d1d4-4b39-9980-ccae3a114a6c",
"d9747f2c-3de4-4298-8ec8-597d5a9e337b",
"8df2b9d9-20a1-44e9-b242-58a7645cbb73",
"c02f4a59-be22-4850-afc4-0016ac317f81",
"df70dc3a-11a2-452f-9fb4-c5f3e95e956f",
"3469a3b2-0ed0-4d63-bbd7-effb6b35df64",
"bdb488e8-7bd4-4067-9704-9358901db311",
"116d237e-962e-45d2-bf06-2bf3b446ebe6",
"cdec2ef7-7b1d-4b14-a1b5-48b8321f4766",
"bc6ed9ef-0c76-49ef-b674-f743a7b37134",
"def8e032-f567-484e-80a9-763ad96b8607",
"9aff3920-2dfe-4cd5-bfd4-6177a34c11ab",
"0e049b78-5bb3-4553-bd87-d73addd4181d",
"4b7bc65c-019d-427f-9ff1-570c460aef82",
"f058eae2-dd84-4afb-be9c-ac875b1acdd2",
"e569fb9f-4db1-4d1e-acde-0db7ff0a40a0",
"1877b891-7ecf-48d4-b8e3-c1bc8e056140",
"f770d1f0-cf16-460d-a7ad-8de105f4bf8f",
"1ab15227-2458-42a5-b405-35b9ac0edf35",
"cd5dc209-c014-4e4a-b51b-1f78bd503dc4",
"064c476a-92f6-4bdd-a04f-64b78f4e8d54",
"d183aba7-02d7-4f7c-8797-1b178e94e57a",
"2f567e28-29e3-4e6c-9ea4-ad317b2dd8f6",
"072b5bcc-d8de-4ec1-b7c6-ca9d2b972d78",
"293e04c6-1425-4a26-a8a0-dd8536eba67d",
"e76041e5-f6b9-48d8-b781-2db9ffd30e9c",
"42a1980e-ca46-4ea1-942b-d1f3d77f3aba",
"0a2e8ec0-d7aa-4706-a840-b9a63a0429a4",
"594ff88b-21b4-4497-a021-6e0c96ec9701",
"e864d666-72bc-40fa-8426-50ea902638c9",
"d429d62c-0c7b-4817-a67c-36dc412b0a73",
"67984194-717f-46e7-aca6-03a7b64009f3",
"a9d6d0c8-1689-4114-b1ec-6da9c33f0384",
"bd475fd4-4b44-482f-a547-c8b45d656887",
"b39f1db4-7094-4dd9-a261-313225a23c03"
],
"image": null,
"available_payment_methods": [
{
"payment_method_id": "e3423d4d-7200-4c16-a154-a51fb2695838",
"payment_method_type_id": 1,
"payment_method_brand": "Visa",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "ea1ac590-b980-4d79-9376-9411fae5ff11",
"payment_method_type_id": 1,
"payment_method_brand": "MasterCard",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "8f78d853-2ad1-4371-9a47-68ca18f291cf",
"payment_method_type_id": 1,
"payment_method_brand": "Amex",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "e7ac7117-13ba-4da3-a7f2-142cba95eb48",
"payment_method_type_id": 1,
"payment_method_brand": "Diners Club",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "1bd51b24-2760-49e5-89f5-f5faddf69ab2",
"payment_method_type_id": 10,
"payment_method_brand": "ApplePay",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "841d3da8-a543-48fd-8700-e8462d69a20b",
"payment_method_type_id": 12,
"payment_method_brand": "GooglePay",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "8a03a3b2-7ddd-4fae-bb37-5207eb86a527",
"payment_method_type_id": 1,
"payment_method_brand": "Discover",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
}
],
"calculation_method": "exclusive",
"imprint": "",
"timezone": {
"name": "America/New_York",
"offset": "-04:00"
},
"demographics": [
{
"id": "023175e4-693e-4f2f-a505-77309df4336c",
"reference_type": "BirthDate",
"type_id": 1,
"format": "",
"is_required": false,
"is_enabled": true
},
{
"id": "68a37a59-a071-442b-b01a-1c6a42b89d23",
"reference_type": "IdentificationNumber",
"type_id": 2,
"format": "",
"is_required": false,
"is_enabled": false
},
{
"id": "a56fe88c-20b6-4c97-958b-19588262865e",
"reference_type": "CompanyName",
"type_id": 3,
"format": "",
"is_required": false,
"is_enabled": true
}
],
"use_first_delivery_venue": false,
"price_configuration": {
"order_types": [
{
"type_id": 1,
"price_configuration": null
},
{
"type_id": 4,
"price_configuration": null
},
{
"type_id": 6,
"price_configuration": null
},
{
"type_id": 7,
"price_configuration": 3
},
{
"type_id": 8,
"price_configuration": null
},
{
"type_id": 9,
"price_configuration": null
}
],
"external_channels": []
},
"used_price_configurations": [
3
],
"max_prep_time": 90,
"min_prep_time": 2,
"is_customer_last_name_required": false,
"is_phone_number_required": false,
"is_phone_number_unique": false,
"is_password_required": false,
"currency": {
"id": "dbf418a1-3ee5-4bad-b6a0-ff49f8db77e3",
"code": "USD",
"code_numeric": "840",
"symbol": "$",
"rounding_unit": 0.01,
"rounding_unit_tip": 0.01
}
},
"country": {
"id": "2a93d3c4-3c91-4b42-8373-ebb9f8da00d8",
"currency_id": "dbf418a1-3ee5-4bad-b6a0-ff49f8db77e3",
"code": "US",
"name": "United States",
"calling_code": "+1",
"distance_unit": "mile",
"currency_settings": {
"currency_space": false,
"decimal_separator": ".",
"thousands_separator": ",",
"symbol_position": "left"
}
},
"order_types": [
6,
7,
9,
4,
8,
1
],
"payment_processors": [
{
"id": "5bab16ce-bb27-4e62-aff4-124266647eaf",
"type_id": 32,
"properties": null
}
],
"fraud_detection_processors": [],
"available_payment_methods": [
{
"payment_method_id": "e3423d4d-7200-4c16-a154-a51fb2695838",
"payment_method_type_id": 1,
"payment_method_brand": "Visa",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "ea1ac590-b980-4d79-9376-9411fae5ff11",
"payment_method_type_id": 1,
"payment_method_brand": "MasterCard",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "8f78d853-2ad1-4371-9a47-68ca18f291cf",
"payment_method_type_id": 1,
"payment_method_brand": "Amex",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "e7ac7117-13ba-4da3-a7f2-142cba95eb48",
"payment_method_type_id": 1,
"payment_method_brand": "Diners Club",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "1bd51b24-2760-49e5-89f5-f5faddf69ab2",
"payment_method_type_id": 10,
"payment_method_brand": "ApplePay",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "841d3da8-a543-48fd-8700-e8462d69a20b",
"payment_method_type_id": 12,
"payment_method_brand": "GooglePay",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
},
{
"payment_method_id": "8a03a3b2-7ddd-4fae-bb37-5207eb86a527",
"payment_method_type_id": 1,
"payment_method_brand": "Discover",
"payment_processor_type_id": 0,
"payment_processor_id": null,
"properties": null
}
]
}
}
Brand Configuration
The following attributes can be used to customize the ordering experience, based on the Brand's configuration.
| Attribute | Type | Example Value | Description |
|---|---|---|---|
order_types |
array[int] | [6,7] | Defines which Order Types are enabled for the stores of this Brand |
brand.order_regret_status |
int | 1 |
Order Regret allows your customers to cancel an order for a certain time after order placement. The status (see Order Regret Status Reference) defines whether Order Regret is disabled, enabled for all stores or enabled for specific stores. |
brand.order_regret_buffer |
int (minutes) | 5 |
Specifies the number of minutes after order placement in which the customer can cancel their order - during this time the order is held back and not yet sent to the POS. |
brand.timezone.name |
string | America/Los_Angeles |
Timezone that is configured for the Brand. Note that the Brand timezone can differ from the Venue timezone. |
brand.use_first_delivery_venue |
bool | true |
Defines whether in the case where multiple Venues deliver to the same delivery location, the first one should be automatically selected, or the customer should have the possibility of choosing the Venue they want to order from themselves. |
Loyalty
The following attributes allow you to identify whether the Brand supports Discounts and / or a Loyalty program.
| Attribute | Type | Example Value | Description |
|---|---|---|---|
brand.discount_venue_ids |
array[string] | [3080e28a-392f-4207-9613-96d116af53fc] |
Array of Store UUIDs that support discounts - this allows specific stores to be excluded from participating in discounts, such as if this is the franchisee's policy |
brand.loyalty_venue_ids |
array[string] | [3080e28a-392f-4207-9613-96d116af53fc] |
Array of Store UUIDs that support loyalty - this allows specific stores to be excluded from participating in the loyalty program, such as if this is the franchisee's policy |
brand.loyalty_id |
string | ed1ba4dc-24dc-494d-bb88-fd2aa61508e6 |
UUID of the Loyalty program, which is required for certain loyalty-related API calls |
brand.has_coupons |
bool | true |
Defines whether the brand supports Coupons (only applies to MENU Loyalty) |
brand.has_rewards |
bool | true |
Defines whether the brand supports Rewards (only applies to MENU Loyalty) |
brand.is_product_structure_enabled |
bool | true |
Defines whether the brand menu is v1 or NMG structure(if true than NMG) |
Payments
The /init-application response returns details about which payment processors and payment methods have been enabled / configured for the Brand. This allows you to determine which payment methods can be offered to the customer for registration (storing to their customer account).
Note that not all payment methods and payment processors enabled by the Brand need to be necessarily supported by every Venue - to determine which payment methods and payment processors are enabled by a specific Venue, a call to /venues/{venue_uuid} should be made.
| Attribute | Type | Example Value | Description |
|---|---|---|---|
payment_processors |
array[PaymentProcessor] | Array of Payment Processors that have been configured for the Brand | |
payment_processors.id |
string | 5bab16ce-bb27-4e62-aff4-124266647eaf |
UUID of instance of Payment Processor for Brand |
payment_processors.type_id |
int | 32 | Type ID of Payment Processor (see Payment Processors and Payment Methods Reference) |
available_payment_methods |
array[PaymentMethod] | Array of Payment Methods that have been enabled for the Brand | |
available_payment_methods.payment_method_id |
string | e3423d4d-7200-4c16-a154-a51fb2695838 |
UUID of instance of Payment Method for Brand |
available_payment_methods.payment_method_type_id |
int | 1 |
Type ID of Payment Method (see Payment Processors and Payment Methods Reference) |
available_payment_methods.payment_method_brand |
string | Visa |
Name of Payment Method Brand. Multiple Payment Methods for a single Payment Method Type can exist, such as Visa, MasterCard, Amex Payment Methods for a single Payment Method Type (Credit Cards - Type ID 1) |
Next Steps
Store Finder
-
Build a store finder experience for Dine-in and Takeout: Develop a flow to allow your customer to choose a store for placing a dine-in or takeout order
-
Build a delivery experience: Develop a flow to choose a store from which your customer can order delivery from
-
Build a Foodspot ordering experience: Develop a flow that allows your customers to order from pre-defined Foodspot locations for delivery at pre-defined times