Skip to content
innovorder
⌘K

Service operations

Consumption Modes

Consumption modes define how customers can consume their orders on a given sales channel: delivery, take away, sit in, or drive. Each mode carries its own fee, reduction, preparation delay, additional information prompt (such as a table number), and notification settings. Fees and reductions are expressed in cents (250 = 2.50); delays are expressed in minutes.

Reference Values

channelId
1 (Kiosk), 2 (Web). Only these two channels are accepted when creating a consumption mode.
type
MODE_DELIVERY, MODE_TAKE_AWAY, MODE_SIT_IN, MODE_DRIVE
additionalInformationType
TABLE_NUMBER, COMMENT, NUMBER
flags
Bitmask of mode options: 1 (drive mode), 2 (e-wallet), 4 (send order notification emails as blind carbon copy). Defaults to 0 on creation (1 for MODE_DRIVE); omit it unless you need to change these options.

GET/consumption_modesList Consumption Modes

Retrieve the consumption modes of a restaurant for a given sales channel, including their linked modules (such as bound delivery areas). Note that the query parameters use snake_case.

Parameters

NameTypeRequiredDescription
restaurant_idintegerYesThe unique identifier of the restaurant (query parameter).
channel_idintegerYesThe sales channel identifier: 1 (Kiosk) or 2 (Web) (query parameter).

Response

json
{
  "status": 200,
  "code": "consumption_modes_succeed",
  "data": [
    {
      "consumptionModeId": 15,
      "restaurantId": 200,
      "brandId": 100,
      "channelId": 2,
      "type": "MODE_DELIVERY",
      "flags": 0,
      "fee": 250,
      "labelFee": "Delivery fee",
      "reduction": 0,
      "labelReduction": null,
      "delay": 30,
      "additionalInformationTitle": null,
      "additionalInformationType": null,
      "additionalInformationValueIfSkipped": null,
      "tableListChoice": null,
      "additionalInformationAllowSkip": null,
      "isTimeSlotModeEnabled": false,
      "customerShowUpNotification": false,
      "sendReminderEmailShowUpNotification": false,
      "delayBeforeSendingReminderEmailShowUpNotification": 0
    },
    {
      "consumptionModeId": 16,
      "restaurantId": 200,
      "brandId": 100,
      "channelId": 2,
      "type": "MODE_SIT_IN",
      "flags": 0,
      "fee": 0,
      "labelFee": null,
      "reduction": 0,
      "labelReduction": null,
      "delay": 15,
      "additionalInformationTitle": "Table number",
      "additionalInformationType": "TABLE_NUMBER",
      "additionalInformationValueIfSkipped": null,
      "tableListChoice": null,
      "additionalInformationAllowSkip": false,
      "isTimeSlotModeEnabled": false,
      "customerShowUpNotification": false,
      "sendReminderEmailShowUpNotification": false,
      "delayBeforeSendingReminderEmailShowUpNotification": 0
    }
  ]
}
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"consumption_modes_succeed"Machine-readable application code for the result.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].consumptionModeIdinteger15Identifier of the associated consumption mode.
data[].restaurantIdinteger200Identifier of the restaurant.
data[].brandIdinteger100Identifier of the brand.
data[].channelIdinteger2Identifier of the associated channel.
data[].typestring"MODE_DELIVERY"The type value.
data[].flagsinteger0The flags value.
data[].feeinteger250The fee value.
data[].labelFeestring"Delivery fee"The label fee value.
data[].reductioninteger0The reduction value.
data[].labelReductionnullnullThe label reduction value.
data[].delayinteger30The delay value.
data[].additionalInformationTitlenullnullThe additional information title value.
data[].additionalInformationTypenullnullThe additional information type value.
data[].additionalInformationValueIfSkippednullnullThe additional information value if skipped value.
data[].tableListChoicenullnullThe table list choice value.
data[].additionalInformationAllowSkipnullnullThe additional information allow skip value.
data[].isTimeSlotModeEnabledbooleanfalseWhether time slot mode enabled is enabled or applies.
data[].customerShowUpNotificationbooleanfalseThe customer show up notification value.
data[].sendReminderEmailShowUpNotificationbooleanfalseThe send reminder email show up notification value.
data[].delayBeforeSendingReminderEmailShowUpNotificationinteger0The delay before sending reminder email show up notification value.

POST/consumption_modesCreate Consumption Mode

Create a consumption mode for a restaurant on a given channel. Creation is idempotent per (restaurantId, channelId, type): if a mode of the same type was previously deleted, the same record is restored instead of a new one being created. Only channelId values 1 (Kiosk) and 2 (Web) are accepted; other values are rejected with a 400 error. Unknown fields in the request body are silently ignored.

Request Body

json
{
  "channelId": 2,
  "restaurantId": 200,
  "type": "MODE_TAKE_AWAY"
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
channelIdinteger2Identifier of the associated channel.
restaurantIdinteger200Identifier of the restaurant.
typestring"MODE_TAKE_AWAY"The type value.

Response

json
{
  "status": 201,
  "code": "consumption_mode_created",
  "data": {
    "consumptionModeId": 17,
    "restaurantId": 200,
    "brandId": 100,
    "channelId": 2,
    "type": "MODE_TAKE_AWAY",
    "flags": 0,
    "fee": 0,
    "labelFee": null,
    "reduction": 0,
    "labelReduction": null,
    "delay": 15,
    "additionalInformationTitle": null,
    "additionalInformationType": null,
    "additionalInformationValueIfSkipped": null,
    "tableListChoice": null,
    "additionalInformationAllowSkip": null,
    "isTimeSlotModeEnabled": false,
    "customerShowUpNotification": false,
    "sendReminderEmailShowUpNotification": false,
    "delayBeforeSendingReminderEmailShowUpNotification": 0
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger201HTTP status code returned by the API.
codestring"consumption_mode_created"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.consumptionModeIdinteger17Identifier of the associated consumption mode.
data.restaurantIdinteger200Identifier of the restaurant.
data.brandIdinteger100Identifier of the brand.
data.channelIdinteger2Identifier of the associated channel.
data.typestring"MODE_TAKE_AWAY"The type value.
data.flagsinteger0The flags value.
data.feeinteger0The fee value.
data.labelFeenullnullThe label fee value.
data.reductioninteger0The reduction value.
data.labelReductionnullnullThe label reduction value.
data.delayinteger15The delay value.
data.additionalInformationTitlenullnullThe additional information title value.
data.additionalInformationTypenullnullThe additional information type value.
data.additionalInformationValueIfSkippednullnullThe additional information value if skipped value.
data.tableListChoicenullnullThe table list choice value.
data.additionalInformationAllowSkipnullnullThe additional information allow skip value.
data.isTimeSlotModeEnabledbooleanfalseWhether time slot mode enabled is enabled or applies.
data.customerShowUpNotificationbooleanfalseThe customer show up notification value.
data.sendReminderEmailShowUpNotificationbooleanfalseThe send reminder email show up notification value.
data.delayBeforeSendingReminderEmailShowUpNotificationinteger0The delay before sending reminder email show up notification value.

PUT/consumption_modes/{consumptionModeId}Update Consumption Mode

Update a consumption mode: fee, reduction, preparation delay, additional information prompt, and show-up notification settings. All fields are optional. Only send the documented fields below. Returns a 400 data_not_found error if the consumption mode does not exist.

Parameters

NameTypeRequiredDescription
consumptionModeIdintegerYesThe unique identifier of the consumption mode to update.

Request Body

json
{
  "flags": 0,
  "delay": 20,
  "fee": 300,
  "labelFee": "Delivery fee",
  "reduction": 0,
  "labelReduction": null,
  "additionalInformationType": "TABLE_NUMBER",
  "additionalInformationTitle": "Table number",
  "additionalInformationAllowSkip": true,
  "additionalInformationValueIfSkipped": "N/A",
  "tableListChoice": null,
  "customerShowUpNotification": true,
  "sendReminderEmailShowUpNotification": true,
  "delayBeforeSendingReminderEmailShowUpNotification": 15
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
flagsinteger0The flags value.
delayinteger20The delay value.
feeinteger300The fee value.
labelFeestring"Delivery fee"The label fee value.
reductioninteger0The reduction value.
labelReductionnullnullThe label reduction value.
additionalInformationTypestring"TABLE_NUMBER"The additional information type value.
additionalInformationTitlestring"Table number"The additional information title value.
additionalInformationAllowSkipbooleantrueThe additional information allow skip value.
additionalInformationValueIfSkippedstring"N/A"The additional information value if skipped value.
tableListChoicenullnullThe table list choice value.
customerShowUpNotificationbooleantrueThe customer show up notification value.
sendReminderEmailShowUpNotificationbooleantrueThe send reminder email show up notification value.
delayBeforeSendingReminderEmailShowUpNotificationinteger15The delay before sending reminder email show up notification value.

Response

json
{
  "status": 200,
  "code": "consumption_mode_updated",
  "data": {
    "consumptionModeId": 15,
    "restaurantId": 200,
    "brandId": 100,
    "channelId": 2,
    "type": "MODE_DELIVERY",
    "flags": 0,
    "fee": 300,
    "labelFee": "Delivery fee",
    "reduction": 0,
    "labelReduction": null,
    "delay": 20,
    "additionalInformationTitle": "Table number",
    "additionalInformationType": "TABLE_NUMBER",
    "additionalInformationValueIfSkipped": "N/A",
    "tableListChoice": null,
    "additionalInformationAllowSkip": true,
    "isTimeSlotModeEnabled": false,
    "customerShowUpNotification": true,
    "sendReminderEmailShowUpNotification": true,
    "delayBeforeSendingReminderEmailShowUpNotification": 15
  }
}
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"consumption_mode_updated"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.consumptionModeIdinteger15Identifier of the associated consumption mode.
data.restaurantIdinteger200Identifier of the restaurant.
data.brandIdinteger100Identifier of the brand.
data.channelIdinteger2Identifier of the associated channel.
data.typestring"MODE_DELIVERY"The type value.
data.flagsinteger0The flags value.
data.feeinteger300The fee value.
data.labelFeestring"Delivery fee"The label fee value.
data.reductioninteger0The reduction value.
data.labelReductionnullnullThe label reduction value.
data.delayinteger20The delay value.
data.additionalInformationTitlestring"Table number"The additional information title value.
data.additionalInformationTypestring"TABLE_NUMBER"The additional information type value.
data.additionalInformationValueIfSkippedstring"N/A"The additional information value if skipped value.
data.tableListChoicenullnullThe table list choice value.
data.additionalInformationAllowSkipbooleantrueThe additional information allow skip value.
data.isTimeSlotModeEnabledbooleanfalseWhether time slot mode enabled is enabled or applies.
data.customerShowUpNotificationbooleantrueThe customer show up notification value.
data.sendReminderEmailShowUpNotificationbooleantrueThe send reminder email show up notification value.
data.delayBeforeSendingReminderEmailShowUpNotificationinteger15The delay before sending reminder email show up notification value.

DELETE/consumption_modes/{consumptionModeId}Delete Consumption Mode

Delete a consumption mode. This is a soft delete: creating a mode again with the same restaurantId, channelId, and type restores the same record. Note that the response status is 200, not 204.

Parameters

NameTypeRequiredDescription
consumptionModeIdintegerYesThe unique identifier of the consumption mode to delete.

Response

json
{
  "status": 200,
  "code": "consumption_mode_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"consumption_mode_deleted"Machine-readable application code for the result.