PATCH /company/products/bulk
This endpoint requires authentication.
Header | Value |
---|---|
Authorization | Set the value to Bearer + + access_token |
Pass the following properties via application/json or form encoding in the body of the request.
Minimum 1. Maximum 50. Array of company.Product.detailed-id: [company.Product.detailed-id]
Field | Type | Description |
---|---|---|
name | [Language: String] | Name of the product |
description | [Language: String] | Description of the product |
specialty | Bool | Whether this product is a specialty. Specialties are also displayed in a separate category and are highlighted with a star icon. |
active | Bool | Inactive products are not visible in the webshop |
only_order_in_store | Bool | Whether this product can only get ordered in the store with a separate UI for the shop employees, and not in the public webshop. |
price_type | PriceType | A product has a price type that defines the price calculations and the way consumers can order the product. |
price | UInt | Price of the product (cents). Please note that this value is ignored when price_type is MULTIPLE_CHOICE. |
target_price | Bool | Is true when it's not possible to provide an exact price of this product when ordering (e.g. not exact weight possible). This option might deactive online payments for orders with this product (shop settings). |
url_type | String | String enumarion of 'none', 'recipe', 'website' |
url | URL? | Nullable. An URL field starting with http:// or https:// |
min_max | company.MinMaxSummary | The allowed amounts a customer is allowed to order of a product for amount / weight / persons |
id | Int | ID of the product you want to update |
option_set_ids | [Int] | ID's of the option sets you want to assign to this product. You can alter the order by switching the position of the ID's |
allergen_ids | [Int]? | Nullable. ID's of the allergens of this product. Set to null if you don't want to specify allergens. Only use an empty array when the product has no allergens. It is a subtle difference but it has legal consequences if you set this to the wrong value. You can find all the available allergen ID's here. |
category_id | Int | The category ID of the product |
seo | company.SeoData | Optional. Product page SEO metatags |
price_look_up_code | String? | Optional. Nullable. A String value |
code | String? | Optional. Nullable. A custom code. You can set this to your own code and use this field to map your products to Bakeronline products |
origin | [Language: String] | Optional. Origin of the product |
ingredients | [Language: String]? | Optional. Nullable. Ingredients that are in the product |
temperature_type | String? | Optional. Nullable. The temperature type when in a latch |
warranty_type | String? | Optional. Nullable. The type of warranty for this product |
warranty_price | UInt? | Optional. Nullable. Price of the warranty (cents). |
stock | company.Stock | Optional. The stock data for a product |
daysavailable | [Int] | Optional. Array of Int |
upfront | company.ProductUpfront | Optional. The upfront settings for a product |
use_pickup_after | Bool | Optional. Can pickup after a certain time be done? |
pickup_after | Time? | Optional. Nullable. Pickup of product after what time? |
use_pickup_before | Bool | Optional. Should a product be picked up before a certain time? |
pickup_before | Time? | Optional. Nullable. Pickup of product before what time? |
related_products | [Int] | Optional. List of related products, with a maximum of 8 |
PATCH /company/products/bulk HTTP/1.1
Host: api.bakeronline.be
X-VERSION: 1.10.0
Accept-Language: en-US,en;q=0.5
Content-Type: application/json
Content-Length: 8214
[
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": false,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 10,
"target_price": false,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 10,
"maximum": 14,
"maximum_day": 17,
"maximum_week": 15
},
"weight": {
"minimum": 19,
"maximum": 18,
"maximum_day": 15,
"maximum_week": 18,
"suggested": 18
},
"persons": {
"minimum": 12,
"maximum": 12
}
},
"id": 19,
"option_set_ids": [
13,
18,
11
],
"allergen_ids": [
14,
13,
19
],
"category_id": 16,
"seo": {
"title": {
"en": "Sed possimus aperiam corporis eligendi reiciendis molestiae et."
},
"description": {
"en": "Illum et vel id cum. Quae aut sed expedita quam eius. At possimus itaque molestiae sint voluptatem culpa illo."
},
"url": {
"en": "http://www.bauch.biz/ducimus-eveniet-voluptas-vel"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 16,
"stock": {
"soldout": true,
"amount": 15,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
15,
19,
14
],
"upfront": {
"upfront_use_default": false,
"upfront_type": "days",
"upfront_days": 11,
"upfront_time": "12:00",
"upfront_hours": 10,
"upfront_minutes": 18
},
"use_pickup_after": true,
"pickup_after": "12:00",
"use_pickup_before": true,
"pickup_before": "12:00",
"related_products": [
14,
12,
13
]
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": false,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 10,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 13,
"maximum": 19,
"maximum_day": 16,
"maximum_week": 19
},
"weight": {
"minimum": 11,
"maximum": 16,
"maximum_day": 16,
"maximum_week": 10,
"suggested": 19
},
"persons": {
"minimum": 15,
"maximum": 17
}
},
"id": 19,
"option_set_ids": [
18,
12,
16
],
"allergen_ids": [
10,
12,
17
],
"category_id": 15,
"seo": {
"title": {
"en": "Consequuntur et quibusdam consequatur nihil omnis cupiditate."
},
"description": {
"en": "Pariatur sequi vel natus quia. Eos saepe asperiores quis occaecati voluptates quasi cum. Itaque sed fugit et dignissimos quia."
},
"url": {
"en": "https://www.sipes.com/et-beatae-ut-voluptatem-temporibus-aut-asperiores-in"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 16,
"stock": {
"soldout": false,
"amount": 10,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
12,
13,
15
],
"upfront": {
"upfront_use_default": true,
"upfront_type": "days",
"upfront_days": 12,
"upfront_time": "12:00",
"upfront_hours": 14,
"upfront_minutes": 14
},
"use_pickup_after": true,
"pickup_after": "12:00",
"use_pickup_before": true,
"pickup_before": "12:00",
"related_products": [
19,
12,
12
]
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": true,
"only_order_in_store": true,
"price_type": "PER_UNIT",
"price": 14,
"target_price": false,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 12,
"maximum": 14,
"maximum_day": 17,
"maximum_week": 17
},
"weight": {
"minimum": 17,
"maximum": 15,
"maximum_day": 10,
"maximum_week": 19,
"suggested": 13
},
"persons": {
"minimum": 11,
"maximum": 10
}
},
"id": 13,
"option_set_ids": [
10,
13,
18
],
"allergen_ids": [
12,
13,
11
],
"category_id": 13,
"seo": {
"title": {
"en": "Et cumque commodi quod veritatis dolorem iusto voluptate ut odit."
},
"description": {
"en": "Architecto voluptatum numquam in voluptas animi a. Porro dicta laudantium beatae et provident. Eum velit quibusdam velit nihil aut odio et. Perspiciatis qui voluptas voluptas sunt est fugit."
},
"url": {
"en": "http://heller.com/aliquid-est-quod-aut-et-quae-velit-voluptas.html"
}
},
"price_look_up_code": "...",
"code": "...",
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 15,
"stock": {
"soldout": false,
"amount": 19,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
13,
12,
10
],
"upfront": {
"upfront_use_default": true,
"upfront_type": "days",
"upfront_days": 16,
"upfront_time": "12:00",
"upfront_hours": 14,
"upfront_minutes": 12
},
"use_pickup_after": false,
"pickup_after": "12:00",
"use_pickup_before": true,
"pickup_before": "12:00",
"related_products": [
14,
19,
15
]
}
]
Array of company.Product.detailed: [company.Product.detailed]
Field | Type | Description |
---|---|---|
name | [Language: String] | Name of the product |
description | [Language: String] | Description of the product |
specialty | Bool | Whether this product is a specialty. Specialties are also displayed in a separate category and are highlighted with a star icon. |
active | Bool | Inactive products are not visible in the webshop |
only_order_in_store | Bool | Whether this product can only get ordered in the store with a separate UI for the shop employees, and not in the public webshop. |
price_type | PriceType | A product has a price type that defines the price calculations and the way consumers can order the product. |
price | UInt | Price of the product (cents). Please note that this value is ignored when price_type is MULTIPLE_CHOICE. |
target_price | Bool | Is true when it's not possible to provide an exact price of this product when ordering (e.g. not exact weight possible). This option might deactive online payments for orders with this product (shop settings). |
url_type | String | String enumarion of 'none', 'recipe', 'website' |
url | URL? | Nullable. An URL field starting with http:// or https:// |
min_max | company.MinMaxSummary | The allowed amounts a customer is allowed to order of a product for amount / weight / persons |
images | [Image] | Array of Image |
product_prices | [company.ProductPrice] | Array of company.ProductPrice |
option_sets | [company.OptionSet.simple] | Array of company.OptionSet.simple |
id | Int | Id of the product |
allergens | [Allergen]? | Nullable. The allergens of this product. An empty array means no allergens. Null means no allergens specified (= can have allergens, ask in shop). |
category_id | Int | The category ID of the product |
price_look_up_code | String? | Nullable. A String value |
code | String? | Nullable. A custom code. You can set this to your own code and use this field to map your products to Bakeronline products |
seo | company.SeoData | Optional. Product page SEO metatags |
origin | [Language: String] | Optional. Origin of the product |
ingredients | [Language: String]? | Optional. Nullable. Ingredients that are in the product |
temperature_type | String? | Optional. Nullable. The temperature type when in a latch |
warranty_type | String? | Optional. Nullable. The type of warranty for this product |
warranty_price | UInt? | Optional. Nullable. Price of the warranty (cents). |
stock | company.Stock | Optional. The stock data for a product |
daysavailable | [Int] | Optional. Array of Int |
upfront | company.ProductUpfront | Optional. The upfront settings for a product |
use_pickup_after | Bool | Optional. Can pickup after a certain time be done? |
pickup_after | Time? | Optional. Nullable. Pickup of product after what time? |
use_pickup_before | Bool | Optional. Should a product be picked up before a certain time? |
pickup_before | Time? | Optional. Nullable. Pickup of product before what time? |
related_products | [Int] | Optional. List of related products, with a maximum of 8 |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 22685
[
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": true,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 12,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 14,
"maximum": 17,
"maximum_day": 12,
"maximum_week": 17
},
"weight": {
"minimum": 18,
"maximum": 16,
"maximum_day": 14,
"maximum_week": 18,
"suggested": 15
},
"persons": {
"minimum": 19,
"maximum": 13
}
},
"images": [
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 14,
"white_background": false
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 13,
"white_background": true
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 16,
"white_background": true
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 16,
"id": 12,
"order": 15,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 17,
"id": 12,
"order": 16,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 19,
"id": 18,
"order": 14,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 12,
"code": "...",
"multiple_choice": true,
"choose_amount": false,
"min_different_options": 14,
"max_different_options": 13,
"min_amount_options": 17,
"max_amount_options": 14
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 15,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 17,
"max_different_options": 12,
"min_amount_options": 16,
"max_amount_options": 15
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 11,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 12,
"max_different_options": 19,
"min_amount_options": 19,
"max_amount_options": 14
}
],
"id": 12,
"allergens": [
{
"id": 19,
"name": "Mustard"
},
{
"id": 18,
"name": "Egg"
},
{
"id": 14,
"name": "Nuts"
}
],
"category_id": 16,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Quo voluptate ratione quo temporibus animi ducimus earum."
},
"description": {
"en": "Deleniti consectetur saepe sit. Nesciunt est quas illum corrupti. Aliquid nesciunt molestiae vero dicta voluptatibus labore. Ut sint laboriosam laborum a."
},
"url": {
"en": "http://heathcote.biz/enim-placeat-debitis-quibusdam-rerum"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 12,
"stock": {
"soldout": false,
"amount": 13,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
11,
10,
16
],
"upfront": {
"upfront_use_default": false,
"upfront_type": "days",
"upfront_days": 14,
"upfront_time": "12:00",
"upfront_hours": 12,
"upfront_minutes": 13
},
"use_pickup_after": false,
"pickup_after": "12:00",
"use_pickup_before": true,
"pickup_before": "12:00",
"related_products": [
10,
15,
16
]
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": true,
"active": true,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 19,
"target_price": true,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 11,
"maximum": 14,
"maximum_day": 15,
"maximum_week": 15
},
"weight": {
"minimum": 19,
"maximum": 16,
"maximum_day": 15,
"maximum_week": 17,
"suggested": 13
},
"persons": {
"minimum": 12,
"maximum": 18
}
},
"images": [
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 12,
"white_background": false
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 18,
"white_background": true
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 13,
"white_background": false
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 15,
"id": 15,
"order": 19,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 14,
"id": 12,
"order": 17,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 11,
"id": 10,
"order": 17,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 14,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 12,
"max_different_options": 14,
"min_amount_options": 12,
"max_amount_options": 16
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 19,
"code": "...",
"multiple_choice": true,
"choose_amount": true,
"min_different_options": 18,
"max_different_options": 14,
"min_amount_options": 19,
"max_amount_options": 11
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 17,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 12,
"max_different_options": 14,
"min_amount_options": 14,
"max_amount_options": 14
}
],
"id": 18,
"allergens": [
{
"id": 15,
"name": "Mustard"
},
{
"id": 14,
"name": "Crustaceans"
},
{
"id": 16,
"name": "Egg"
}
],
"category_id": 17,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Possimus ut omnis soluta magni cum ut voluptatibus porro."
},
"description": {
"en": "Sit voluptatem ea ad at et reiciendis magni. Doloribus delectus omnis dolorem sed qui sed distinctio. Est ea voluptatem vel fugiat ut eum."
},
"url": {
"en": "http://sawayn.net/voluptas-quis-consectetur-quidem-consequuntur-voluptatem-voluptas-commodi"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 17,
"stock": {
"soldout": false,
"amount": 15,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
15,
16,
16
],
"upfront": {
"upfront_use_default": true,
"upfront_type": "days",
"upfront_days": 17,
"upfront_time": "12:00",
"upfront_hours": 10,
"upfront_minutes": 19
},
"use_pickup_after": false,
"pickup_after": "12:00",
"use_pickup_before": true,
"pickup_before": "12:00",
"related_products": [
11,
13,
19
]
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"description": {
"nl": "...",
"en": "...",
"fr": "..."
},
"specialty": false,
"active": false,
"only_order_in_store": false,
"price_type": "PER_UNIT",
"price": 16,
"target_price": false,
"url_type": "none",
"url": "https://example.com",
"min_max": {
"amount": {
"minimum": 15,
"maximum": 11,
"maximum_day": 19,
"maximum_week": 18
},
"weight": {
"minimum": 15,
"maximum": 17,
"maximum_day": 16,
"maximum_week": 11,
"suggested": 16
},
"persons": {
"minimum": 14,
"maximum": 11
}
},
"images": [
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 12,
"white_background": true
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 15,
"white_background": true
},
{
"resolutions": [
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
},
{
"src": "https://example.com",
"width": 600,
"height": 350
}
],
"file_id": 11,
"white_background": true
}
],
"product_prices": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 13,
"id": 13,
"order": 14,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 13,
"id": 13,
"order": 13,
"price_look_up_code": "...",
"code": "..."
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"price": 17,
"id": 11,
"order": 16,
"price_look_up_code": "...",
"code": "..."
}
],
"option_sets": [
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": false,
"id": 17,
"code": "...",
"multiple_choice": false,
"choose_amount": false,
"min_different_options": 15,
"max_different_options": 12,
"min_amount_options": 13,
"max_amount_options": 10
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 17,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 13,
"max_different_options": 16,
"min_amount_options": 19,
"max_amount_options": 16
},
{
"name": {
"nl": "...",
"en": "...",
"fr": "..."
},
"allow_attachment": true,
"id": 19,
"code": "...",
"multiple_choice": false,
"choose_amount": true,
"min_different_options": 18,
"max_different_options": 19,
"min_amount_options": 11,
"max_amount_options": 11
}
],
"id": 12,
"allergens": [
{
"id": 13,
"name": "Sulphite"
},
{
"id": 14,
"name": "Nuts"
},
{
"id": 18,
"name": "Celery"
}
],
"category_id": 18,
"price_look_up_code": "...",
"code": "...",
"seo": {
"title": {
"en": "Aut alias quis et non et quis neque enim."
},
"description": {
"en": "Praesentium in impedit sapiente in quas aut ut. Laudantium cum illo ut illo omnis voluptas dolorum libero. Non modi velit autem laboriosam ex et consequatur sint."
},
"url": {
"en": "http://www.cruickshank.com/"
}
},
"origin": {
"nl": "...",
"en": "...",
"fr": "..."
},
"ingredients": {
"nl": "...",
"en": "...",
"fr": "..."
},
"temperature_type": "any",
"warranty_type": "none",
"warranty_price": 12,
"stock": {
"soldout": false,
"amount": 17,
"soldoutUntil": "2019-01-31 12:00"
},
"daysavailable": [
17,
17,
19
],
"upfront": {
"upfront_use_default": true,
"upfront_type": "days",
"upfront_days": 13,
"upfront_time": "12:00",
"upfront_hours": 17,
"upfront_minutes": 19
},
"use_pickup_after": true,
"pickup_after": "12:00",
"use_pickup_before": false,
"pickup_before": "12:00",
"related_products": [
15,
14,
13
]
}
]