Commercial rules
Entrance Fees
Entrance fees represent fixed charges applied to an order (e.g. cover charges, service fees) and can be associated with pricing rules. They support per-restaurant overrides and shift-level schedules.
Get Entrance Fee
GET/entrance_fees/{entranceFeeId}Get Entrance Fee by ID
Returns the entrance fee identified by entranceFeeId.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| entranceFeeId | integer | Yes | ID of the entrance fee. |
Response
{
"status": 200,
"code": "entrance_fee_found",
"message": "Entrance fee found.",
"data": {
"entranceFeeId": 5,
"brandId": 22,
"code": "COVER_CHARGE",
"labelTicket": "Couvert",
"amount": 150,
"dailyLimit": 1,
"strategy": 1,
"vat": 1000,
"type": null,
"restaurants": []
}
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fee_found" | Machine-readable application code for the result. |
| message | string | "Entrance fee found." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.entranceFeeId | integer | 5 | Identifier of the associated entrance fee. |
| data.brandId | integer | 22 | Identifier of the brand. |
| data.code | string | "COVER_CHARGE" | Machine-readable application code for the result. |
| data.labelTicket | string | "Couvert" | The label ticket value. |
| data.amount | integer | 150 | The amount value. |
| data.dailyLimit | integer | 1 | The daily limit value. |
| data.strategy | integer | 1 | The strategy value. |
| data.vat | integer | 1000 | The vat value. |
| data.type | null | null | The type value. |
| data.restaurants | array | [] | List of restaurants entries. |
Create Entrance Fee
Create a new entrance fee for a brand. Entrance fees can have per-restaurant overrides and shift-level schedules.
POST/entrance_feesCreate Entrance Fee
Creates an entrance fee with optional restaurant-level overrides and shift schedules.
Request Body
{
"brandId": 22,
"code": "COVER_CHARGE",
"labelTicket": "Couvert",
"amount": 150,
"dailyLimit": 1,
"strategy": 1,
"vat": 1000,
"type": "fixed",
"restaurants": [
{
"restaurantId": 195,
"restaurant_entrance_fee": {
"amount": 150,
"dailyLimit": 1,
"strategy": 1,
"vat": 1000
},
"shiftEntranceFees": [
{
"shiftId": "shift-uuid-1",
"amount": 150,
"vat": null
}
]
}
]
}Request Body Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| brandId | integer | 22 | Identifier of the brand. |
| code | string | "COVER_CHARGE" | Machine-readable application code for the result. |
| labelTicket | string | "Couvert" | The label ticket value. |
| amount | integer | 150 | The amount value. |
| dailyLimit | integer | 1 | The daily limit value. |
| strategy | integer | 1 | The strategy value. |
| vat | integer | 1000 | The vat value. |
| type | string | "fixed" | The type value. |
| restaurants | array | […] | List of restaurants entries. |
| restaurants[] | object | {…} | Object containing restaurants fields. |
| restaurants[].restaurantId | integer | 195 | Identifier of the restaurant. |
| restaurants[].restaurant_entrance_fee | object | {…} | Object containing restaurant entrance fee fields. |
| restaurants[].restaurant_entrance_fee.amount | integer | 150 | The amount value. |
| restaurants[].restaurant_entrance_fee.dailyLimit | integer | 1 | The daily limit value. |
| restaurants[].restaurant_entrance_fee.strategy | integer | 1 | The strategy value. |
| restaurants[].restaurant_entrance_fee.vat | integer | 1000 | The vat value. |
| restaurants[].shiftEntranceFees | array | […] | List of shift entrance fees entries. |
| restaurants[].shiftEntranceFees[] | object | {…} | Object containing shift entrance fees fields. |
| restaurants[].shiftEntranceFees[].shiftId | string | "shift-uuid-1" | Identifier of the associated shift. |
| restaurants[].shiftEntranceFees[].amount | integer | 150 | The amount value. |
| restaurants[].shiftEntranceFees[].vat | null | null | The vat value. |
Response
{
"status": 200,
"code": "entrance_fee_created",
"message": "Entrance fee created.",
"data": {
"entranceFeeId": 5,
"brandId": 22,
"code": "COVER_CHARGE",
"labelTicket": "Couvert",
"amount": 150,
"strategy": 1,
"vat": 1000
}
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fee_created" | Machine-readable application code for the result. |
| message | string | "Entrance fee created." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.entranceFeeId | integer | 5 | Identifier of the associated entrance fee. |
| data.brandId | integer | 22 | Identifier of the brand. |
| data.code | string | "COVER_CHARGE" | Machine-readable application code for the result. |
| data.labelTicket | string | "Couvert" | The label ticket value. |
| data.amount | integer | 150 | The amount value. |
| data.strategy | integer | 1 | The strategy value. |
| data.vat | integer | 1000 | The vat value. |
Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
| brandId | Integer | Yes | The brand this entrance fee belongs to. |
| code | String | Yes | Unique code identifying this entrance fee. |
| labelTicket | String | Yes | Label printed on the receipt/ticket. |
| amount | Integer | Yes | Fee amount in cents (e.g. 150 = 1.50 EUR). |
| dailyLimit | Integer | Yes | Maximum number of times this fee can be applied per customer per day. |
| strategy | Integer | Yes | Application strategy identifier. |
| vat | Integer | Yes | VAT rate in basis points (e.g. 1000 = 10%). |
| type | String | No | Optional type descriptor for the entrance fee. |
| restaurants | Array<Object> | No | Per-restaurant overrides. Each entry contains restaurantId, restaurant_entrance_fee (amount, dailyLimit, strategy, vat), and optional shiftEntranceFees array. |
Update Entrance Fee
Update an existing entrance fee. The full configuration including restaurant-level overrides must be provided.
PUT/entrance_fees/{entranceFeeId}Update Entrance Fee
Replaces the entrance fee configuration identified by entranceFeeId.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| entranceFeeId | integer | Yes | ID of the entrance fee to update. |
Request Body
{
"code": "COVER_CHARGE_V2",
"labelTicket": "Couvert v2",
"amount": 200,
"dailyLimit": 2,
"strategy": 1,
"vat": 1000,
"brandId": 22,
"restaurants": [
{
"restaurantId": 195,
"restaurant_entrance_fee": {
"amount": 200,
"dailyLimit": 2,
"strategy": 1,
"vat": 1000
},
"shiftEntranceFees": []
}
],
"shouldUpdateShifts": true
}Request Body Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| code | string | "COVER_CHARGE_V2" | Machine-readable application code for the result. |
| labelTicket | string | "Couvert v2" | The label ticket value. |
| amount | integer | 200 | The amount value. |
| dailyLimit | integer | 2 | The daily limit value. |
| strategy | integer | 1 | The strategy value. |
| vat | integer | 1000 | The vat value. |
| brandId | integer | 22 | Identifier of the brand. |
| restaurants | array | […] | List of restaurants entries. |
| restaurants[] | object | {…} | Object containing restaurants fields. |
| restaurants[].restaurantId | integer | 195 | Identifier of the restaurant. |
| restaurants[].restaurant_entrance_fee | object | {…} | Object containing restaurant entrance fee fields. |
| restaurants[].restaurant_entrance_fee.amount | integer | 200 | The amount value. |
| restaurants[].restaurant_entrance_fee.dailyLimit | integer | 2 | The daily limit value. |
| restaurants[].restaurant_entrance_fee.strategy | integer | 1 | The strategy value. |
| restaurants[].restaurant_entrance_fee.vat | integer | 1000 | The vat value. |
| restaurants[].shiftEntranceFees | array | [] | List of shift entrance fees entries. |
| shouldUpdateShifts | boolean | true | The should update shifts value. |
Response
{
"status": 200,
"code": "entrance_fee_updated",
"message": "Entrance fee updated.",
"data": {
"entranceFeeId": 5,
"code": "COVER_CHARGE_V2",
"labelTicket": "Couvert v2",
"amount": 200
}
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fee_updated" | Machine-readable application code for the result. |
| message | string | "Entrance fee updated." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.entranceFeeId | integer | 5 | Identifier of the associated entrance fee. |
| data.code | string | "COVER_CHARGE_V2" | Machine-readable application code for the result. |
| data.labelTicket | string | "Couvert v2" | The label ticket value. |
| data.amount | integer | 200 | The amount value. |
Delete Entrance Fee
Permanently delete an entrance fee. This will also remove it from any associated pricing rules.
DELETE/entrance_fees/{entranceFeeId}Delete Entrance Fee
Deletes the entrance fee identified by entranceFeeId.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| entranceFeeId | integer | Yes | ID of the entrance fee to delete. |
Response
{
"status": 200,
"code": "entrance_fee_deleted",
"message": "Entrance fee deleted."
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fee_deleted" | Machine-readable application code for the result. |
| message | string | "Entrance fee deleted." | Human-readable result message. Do not use this value for program logic. |
Brand Entrance Fees
Retrieve entrance fees configured at the brand level. Entrance fees define admission pricing that can be applied to customers (commonly used in collective catering contexts).
GET/brands/{brandId}/entrance_feesGet Entrance Fees by Brand
Retrieve all entrance fees associated with a brand, including their configuration details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| brandId | integer | Yes | The unique identifier of the brand. |
Response
{
"status": 200,
"code": "entrance_fees_found",
"data": [
{
"entranceFeeId": 201,
"name": "Standard Entry",
"code": "STD",
"amount": 350,
"brandId": 100
}
]
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fees_found" | Machine-readable application code for the result. |
| data | array | […] | Endpoint-specific response payload. |
| data[] | object | {…} | Endpoint-specific response payload. |
| data[].entranceFeeId | integer | 201 | Identifier of the associated entrance fee. |
| data[].name | string | "Standard Entry" | The name value. |
| data[].code | string | "STD" | Machine-readable application code for the result. |
| data[].amount | integer | 350 | The amount value. |
| data[].brandId | integer | 100 | Identifier of the brand. |
GET/brands/{brandId}/entrance_fees/listGet Entrance Fees List
Retrieve a simplified list of entrance fees for a brand. This returns a lighter response format optimized for dropdown or selection lists.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| brandId | integer | Yes | The unique identifier of the brand. |
Response
{
"status": 200,
"code": "entrance_fees_found",
"data": [
{
"entranceFeeId": 201,
"name": "Standard Entry",
"code": "STD"
},
{
"entranceFeeId": 202,
"name": "VIP Entry",
"code": "VIP"
}
]
}Response Properties
Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.
| Property | Type | Example | Description |
|---|---|---|---|
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "entrance_fees_found" | Machine-readable application code for the result. |
| data | array | […] | Endpoint-specific response payload. |
| data[] | object | {…} | Endpoint-specific response payload. |
| data[].entranceFeeId | integer | 201 | Identifier of the associated entrance fee. |
| data[].name | string | "Standard Entry" | The name value. |
| data[].code | string | "STD" | Machine-readable application code for the result. |