Skip to content
innovorder
⌘K

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

NameTypeRequiredDescription
entranceFeeIdintegerYesID of the entrance fee.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fee_found"Machine-readable application code for the result.
messagestring"Entrance fee found."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.entranceFeeIdinteger5Identifier of the associated entrance fee.
data.brandIdinteger22Identifier of the brand.
data.codestring"COVER_CHARGE"Machine-readable application code for the result.
data.labelTicketstring"Couvert"The label ticket value.
data.amountinteger150The amount value.
data.dailyLimitinteger1The daily limit value.
data.strategyinteger1The strategy value.
data.vatinteger1000The vat value.
data.typenullnullThe type value.
data.restaurantsarray[]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

json
{
  "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.

PropertyTypeExampleDescription
brandIdinteger22Identifier of the brand.
codestring"COVER_CHARGE"Machine-readable application code for the result.
labelTicketstring"Couvert"The label ticket value.
amountinteger150The amount value.
dailyLimitinteger1The daily limit value.
strategyinteger1The strategy value.
vatinteger1000The vat value.
typestring"fixed"The type value.
restaurantsarray[…]List of restaurants entries.
restaurants[]object{…}Object containing restaurants fields.
restaurants[].restaurantIdinteger195Identifier of the restaurant.
restaurants[].restaurant_entrance_feeobject{…}Object containing restaurant entrance fee fields.
restaurants[].restaurant_entrance_fee.amountinteger150The amount value.
restaurants[].restaurant_entrance_fee.dailyLimitinteger1The daily limit value.
restaurants[].restaurant_entrance_fee.strategyinteger1The strategy value.
restaurants[].restaurant_entrance_fee.vatinteger1000The vat value.
restaurants[].shiftEntranceFeesarray[…]List of shift entrance fees entries.
restaurants[].shiftEntranceFees[]object{…}Object containing shift entrance fees fields.
restaurants[].shiftEntranceFees[].shiftIdstring"shift-uuid-1"Identifier of the associated shift.
restaurants[].shiftEntranceFees[].amountinteger150The amount value.
restaurants[].shiftEntranceFees[].vatnullnullThe vat value.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fee_created"Machine-readable application code for the result.
messagestring"Entrance fee created."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.entranceFeeIdinteger5Identifier of the associated entrance fee.
data.brandIdinteger22Identifier of the brand.
data.codestring"COVER_CHARGE"Machine-readable application code for the result.
data.labelTicketstring"Couvert"The label ticket value.
data.amountinteger150The amount value.
data.strategyinteger1The strategy value.
data.vatinteger1000The vat value.

Field Reference

FieldTypeRequiredDescription
brandIdIntegerYesThe brand this entrance fee belongs to.
codeStringYesUnique code identifying this entrance fee.
labelTicketStringYesLabel printed on the receipt/ticket.
amountIntegerYesFee amount in cents (e.g. 150 = 1.50 EUR).
dailyLimitIntegerYesMaximum number of times this fee can be applied per customer per day.
strategyIntegerYesApplication strategy identifier.
vatIntegerYesVAT rate in basis points (e.g. 1000 = 10%).
typeStringNoOptional type descriptor for the entrance fee.
restaurantsArray<Object>NoPer-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

NameTypeRequiredDescription
entranceFeeIdintegerYesID of the entrance fee to update.

Request Body

json
{
  "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.

PropertyTypeExampleDescription
codestring"COVER_CHARGE_V2"Machine-readable application code for the result.
labelTicketstring"Couvert v2"The label ticket value.
amountinteger200The amount value.
dailyLimitinteger2The daily limit value.
strategyinteger1The strategy value.
vatinteger1000The vat value.
brandIdinteger22Identifier of the brand.
restaurantsarray[…]List of restaurants entries.
restaurants[]object{…}Object containing restaurants fields.
restaurants[].restaurantIdinteger195Identifier of the restaurant.
restaurants[].restaurant_entrance_feeobject{…}Object containing restaurant entrance fee fields.
restaurants[].restaurant_entrance_fee.amountinteger200The amount value.
restaurants[].restaurant_entrance_fee.dailyLimitinteger2The daily limit value.
restaurants[].restaurant_entrance_fee.strategyinteger1The strategy value.
restaurants[].restaurant_entrance_fee.vatinteger1000The vat value.
restaurants[].shiftEntranceFeesarray[]List of shift entrance fees entries.
shouldUpdateShiftsbooleantrueThe should update shifts value.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fee_updated"Machine-readable application code for the result.
messagestring"Entrance fee updated."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.entranceFeeIdinteger5Identifier of the associated entrance fee.
data.codestring"COVER_CHARGE_V2"Machine-readable application code for the result.
data.labelTicketstring"Couvert v2"The label ticket value.
data.amountinteger200The 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

NameTypeRequiredDescription
entranceFeeIdintegerYesID of the entrance fee to delete.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fee_deleted"Machine-readable application code for the result.
messagestring"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

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fees_found"Machine-readable application code for the result.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].entranceFeeIdinteger201Identifier of the associated entrance fee.
data[].namestring"Standard Entry"The name value.
data[].codestring"STD"Machine-readable application code for the result.
data[].amountinteger350The amount value.
data[].brandIdinteger100Identifier 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

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "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.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"entrance_fees_found"Machine-readable application code for the result.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].entranceFeeIdinteger201Identifier of the associated entrance fee.
data[].namestring"Standard Entry"The name value.
data[].codestring"STD"Machine-readable application code for the result.