Service operations
Pickup
Pickup schedules define the time windows during which a restaurant accepts orders for pickup (or delivery). Each schedule entry specifies a day of the week, a start and end time (in minutes from midnight), and optional ordering quotas per consumption mode.
Reference Values
- day
- Day of week:
MON,TUE,WED,THU,FRI,SAT,SUN - consumptionMode
"1"(Delivery),"2"(Take Away),"3"(Sit In),"4"(Drive)- start / end
- Time in minutes from midnight (e.g.,
690= 11:30,840= 14:00).
GET/restaurants/{restaurantId}/pickup_schedules/Get Pickup Schedules
Retrieve all pickup schedules for a restaurant. Optionally filter by day of the week. This endpoint is publicly accessible (guests and customers can call it).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| restaurantId | integer | Yes | The unique identifier of the restaurant. |
| day | string | No | Filter by day of week. Values: MON, TUE, WED, THU, FRI, SAT, SUN (query parameter). |
Response
{
"status": 200,
"code": "schedule_succeed",
"message": "You can access to these schedules.",
"data": {
"modelId": 200,
"pickupSchedules": [
{
"pickupScheduleId": 1001,
"restaurantId": 200,
"day": "MON",
"start": 690,
"end": 840,
"orderingQuotas": [
{
"consumptionMode": "2",
"orderingQuota": 50
}
]
},
{
"pickupScheduleId": 1002,
"restaurantId": 200,
"day": "MON",
"start": 1080,
"end": 1320,
"orderingQuotas": [
{
"consumptionMode": "1",
"orderingQuota": 30
},
{
"consumptionMode": "2",
"orderingQuota": 40
}
]
}
]
}
}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 | "schedule_succeed" | Machine-readable application code for the result. |
| message | string | "You can access to these schedules." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.modelId | integer | 200 | Identifier of the associated model. |
| data.pickupSchedules | array | […] | List of pickup schedules entries. |
| data.pickupSchedules[] | object | {…} | Object containing pickup schedules fields. |
| data.pickupSchedules[].pickupScheduleId | integer | 1001 | Identifier of the associated pickup schedule. |
| data.pickupSchedules[].restaurantId | integer | 200 | Identifier of the restaurant. |
| data.pickupSchedules[].day | string | "MON" | The day value. |
| data.pickupSchedules[].start | integer | 690 | The start value. |
| data.pickupSchedules[].end | integer | 840 | The end value. |
| data.pickupSchedules[].orderingQuotas | array | […] | List of ordering quotas entries. |
| data.pickupSchedules[].orderingQuotas[] | object | {…} | Object containing ordering quotas fields. |
| data.pickupSchedules[].orderingQuotas[].consumptionMode | string | "2" | The consumption mode value. |
| data.pickupSchedules[].orderingQuotas[].orderingQuota | integer | 50 | The ordering quota value. |
POST/restaurants/{restaurantId}/pickup_schedules/Replace Pickup Schedules
Replace all pickup schedules for a restaurant. The existing schedules are deleted and the provided list is created. Schedules must not overlap for the same day and time range.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| restaurantId | integer | Yes | The unique identifier of the restaurant. |
Request Body
{
"pickupSchedules": [
{
"day": "MON",
"start": 690,
"end": 840,
"orderingQuotas": [
{
"consumptionMode": "2",
"orderingQuota": 50
}
]
},
{
"day": "MON",
"start": 1080,
"end": 1320,
"orderingQuotas": [
{
"consumptionMode": "1",
"orderingQuota": 30
},
{
"consumptionMode": "2",
"orderingQuota": 40
}
]
},
{
"day": "TUE",
"start": 690,
"end": 840,
"orderingQuotas": []
}
]
}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 |
|---|---|---|---|
| pickupSchedules | array | […] | List of pickup schedules entries. |
| pickupSchedules[] | object | {…} | Object containing pickup schedules fields. |
| pickupSchedules[].day | string | "MON" | The day value. |
| pickupSchedules[].start | integer | 690 | The start value. |
| pickupSchedules[].end | integer | 840 | The end value. |
| pickupSchedules[].orderingQuotas | array | […] | List of ordering quotas entries. |
| pickupSchedules[].orderingQuotas[] | object | {…} | Object containing ordering quotas fields. |
| pickupSchedules[].orderingQuotas[].consumptionMode | string | "2" | The consumption mode value. |
| pickupSchedules[].orderingQuotas[].orderingQuota | integer | 50 | The ordering quota value. |
Response
{
"status": 200,
"code": "schedule_create_succeed",
"message": "A schedule has been successfully added to the restaurant.",
"data": {
"modelId": 200,
"pickupSchedules": [
{
"pickupScheduleId": 2001,
"restaurantId": 200,
"day": "MON",
"start": 690,
"end": 840,
"orderingQuotas": [
{
"consumptionMode": "2",
"orderingQuota": 50
}
]
},
{
"pickupScheduleId": 2002,
"restaurantId": 200,
"day": "MON",
"start": 1080,
"end": 1320,
"orderingQuotas": [
{
"consumptionMode": "1",
"orderingQuota": 30
},
{
"consumptionMode": "2",
"orderingQuota": 40
}
]
},
{
"pickupScheduleId": 2003,
"restaurantId": 200,
"day": "TUE",
"start": 690,
"end": 840,
"orderingQuotas": []
}
]
}
}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 | "schedule_create_succeed" | Machine-readable application code for the result. |
| message | string | "A schedule has been successfully added to the restaurant." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.modelId | integer | 200 | Identifier of the associated model. |
| data.pickupSchedules | array | […] | List of pickup schedules entries. |
| data.pickupSchedules[] | object | {…} | Object containing pickup schedules fields. |
| data.pickupSchedules[].pickupScheduleId | integer | 2001 | Identifier of the associated pickup schedule. |
| data.pickupSchedules[].restaurantId | integer | 200 | Identifier of the restaurant. |
| data.pickupSchedules[].day | string | "MON" | The day value. |
| data.pickupSchedules[].start | integer | 690 | The start value. |
| data.pickupSchedules[].end | integer | 840 | The end value. |
| data.pickupSchedules[].orderingQuotas | array | […] | List of ordering quotas entries. |
| data.pickupSchedules[].orderingQuotas[] | object | {…} | Object containing ordering quotas fields. |
| data.pickupSchedules[].orderingQuotas[].consumptionMode | string | "2" | The consumption mode value. |
| data.pickupSchedules[].orderingQuotas[].orderingQuota | integer | 50 | The ordering quota value. |
Pickup Points
Pickup points represent physical locations where customers can collect their orders. Each pickup point has a name and an address. They can be queried by brand (to get all pickup points across a brand's restaurants) or by individual restaurant.
GET/brands/{brandId}/pickup_pointsList Pickup Points by Brand
Retrieve all pickup points associated with a brand. This is a public endpoint and does not require authentication.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| brandId | integer | Yes | The unique identifier of the brand. |
Response
{
"status": 200,
"code": "pickup_points_found",
"message": "The pickup points have been found.",
"data": [
{
"pickupPointId": 10,
"brandId": 100,
"restaurantId": 200,
"addressId": 500,
"name": "Main Entrance Counter",
"address": "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris",
"additionalInfo": "Collect orders at the main counter."
},
{
"pickupPointId": 11,
"brandId": 100,
"restaurantId": 200,
"addressId": 501,
"name": "Side Door Pickup",
"address": "Innovorder Burgers Paris, 12 Rue de la Paix, 75002 Paris",
"additionalInfo": null
}
]
}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 | "pickup_points_found" | Machine-readable application code for the result. |
| message | string | "The pickup points have been found." | Human-readable result message. Do not use this value for program logic. |
| data | array | […] | Endpoint-specific response payload. |
| data[] | object | {…} | Endpoint-specific response payload. |
| data[].pickupPointId | integer | 10 | Identifier of the associated pickup point. |
| data[].brandId | integer | 100 | Identifier of the brand. |
| data[].restaurantId | integer | 200 | Identifier of the restaurant. |
| data[].addressId | integer | 500 | Identifier of the associated address. |
| data[].name | string | "Main Entrance Counter" | The name value. |
| data[].address | string | "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris" | The address value. |
| data[].additionalInfo | string | "Collect orders at the main counter." | The additional info value. |
GET/restaurants/{restaurantId}/pickup_pointsList Pickup Points by Restaurant
Retrieve all pickup points for a specific restaurant.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| restaurantId | integer | Yes | The unique identifier of the restaurant. |
Response
{
"status": 200,
"code": "pickup_points_found",
"message": "The pickup points have been found.",
"data": [
{
"pickupPointId": 10,
"brandId": 100,
"restaurantId": 200,
"addressId": 500,
"name": "Main Entrance Counter",
"address": "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris",
"additionalInfo": "Collect orders at the main counter."
}
]
}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 | "pickup_points_found" | Machine-readable application code for the result. |
| message | string | "The pickup points have been found." | Human-readable result message. Do not use this value for program logic. |
| data | array | […] | Endpoint-specific response payload. |
| data[] | object | {…} | Endpoint-specific response payload. |
| data[].pickupPointId | integer | 10 | Identifier of the associated pickup point. |
| data[].brandId | integer | 100 | Identifier of the brand. |
| data[].restaurantId | integer | 200 | Identifier of the restaurant. |
| data[].addressId | integer | 500 | Identifier of the associated address. |
| data[].name | string | "Main Entrance Counter" | The name value. |
| data[].address | string | "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris" | The address value. |
| data[].additionalInfo | string | "Collect orders at the main counter." | The additional info value. |
GET/pickup_points/{pickupPointId}Get Pickup Point
Retrieves one pickup point. This endpoint is available to administrators and customers; it returns a not-found error when the identifier does not exist.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| pickupPointId | integer | Yes | The unique identifier of the pickup point. |
Response
{
"status": 200,
"code": "pickup_points_found",
"message": "The pickup points have been found.",
"data": {
"pickupPointId": 10,
"brandId": 100,
"restaurantId": 200,
"addressId": 500,
"name": "Main Entrance Counter",
"address": "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris",
"additionalInfo": "Collect orders at the main counter."
}
}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 | "pickup_points_found" | Machine-readable application code for the result. |
| message | string | "The pickup points have been found." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.pickupPointId | integer | 10 | Identifier of the associated pickup point. |
| data.brandId | integer | 100 | Identifier of the brand. |
| data.restaurantId | integer | 200 | Identifier of the restaurant. |
| data.addressId | integer | 500 | Identifier of the associated address. |
| data.name | string | "Main Entrance Counter" | The name value. |
| data.address | string | "Innovorder Burgers Paris, 10 Rue de la Paix, 75002 Paris" | The address value. |
| data.additionalInfo | string | "Collect orders at the main counter." | The additional info value. |
PUT/pickup_points/{pickupPointId}Update Pickup Point
Update the name of an existing pickup point.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| pickupPointId | integer | Yes | The unique identifier of the pickup point to update. |
Request Body
{
"name": "Main Entrance Counter (Updated)"
}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 |
|---|---|---|---|
| name | string | "Main Entrance Counter (Updated)" | The name value. |
Response
{
"status": 200,
"code": "pickup_point_updated",
"message": "The pickup point has been updated.",
"data": {
"pickupPointId": 10,
"restaurantId": 200,
"name": "Main Entrance Counter (Updated)"
}
}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 | "pickup_point_updated" | Machine-readable application code for the result. |
| message | string | "The pickup point has been updated." | Human-readable result message. Do not use this value for program logic. |
| data | object | {…} | Endpoint-specific response payload. |
| data.pickupPointId | integer | 10 | Identifier of the associated pickup point. |
| data.restaurantId | integer | 200 | Identifier of the restaurant. |
| data.name | string | "Main Entrance Counter (Updated)" | The name value. |