From 8c4abecfd7f28aa5ea3a7e4a1f2270528df450c8 Mon Sep 17 00:00:00 2001 From: Dennis Ideler Date: Mon, 10 Feb 2020 16:46:20 +0000 Subject: [PATCH] Add additional catalog item properties - stock count - description - allergens - cut-off times - replacement products - seasonality --- documentation/catalog-api.md | 47 +++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/documentation/catalog-api.md b/documentation/catalog-api.md index 4db78b9..6d1f96a 100644 --- a/documentation/catalog-api.md +++ b/documentation/catalog-api.md @@ -284,8 +284,30 @@ Creates an item on your catalog. - **`units_prices.price_cents`** optional, default is 0 The order price in cents for the item per unit. For example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50. +- **`units_prices.stock_count`** optional + The number of items in stock for the related unit. - **`availability`** optional, default is "in_stock" Availability status of the item. Can be "in_stock", "out_of_stock", or "discontinued". +- **`description`** optional + Short description of the item. +- **`allergens`** optional + List of allergens for the item, if any. +- **`allergens.type`** required when allergens is given + Type of allergy. For example "contains peanuts" or "may contain peanuts". +- **`allergens.symptoms`** optional + List of symptoms for the allergy. +- **`order_cutoff_times`** optional + Cutt-off times are the minimum amount of time before delivery when the item can still be ordered. +- **`order_cutoff_times.{mon,tue,wed,thu,fri,sat,sun}`** optional + Minimum amount of time, in hours, that an item needs to be ordered in advance of delivery for the given day. +- **`replacement_products`** optional + List of product codes for alternative items when this item is not available. +- **`seasonality`** optional + List of date ranges when the item is in-season. +- **`seasonality.start_date`** required when seasonality is given + The start date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`. +- **`seasonality.end_date`** required when seasonality is given + The end date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`. ### Response @@ -337,9 +359,30 @@ Where `item_data.json` contains the payload "currency": "GBP", "units_prices": [ {"unit": "each", "price_cents": 100}, - {"unit": "kg", "price_cents": 1000} + {"unit": "kg", "price_cents": 1000, "stock_count": 300} ], "availability": "in_stock", + "description": "Ripe. Gluten free. Vegan. Organic. Origin Costa Rica", + "allergens": [ + { + "type": "Banana allergy", + "symptoms": [ + "itching of the mouth and throat", + "itchy rash (hives, urticaria)", + "skin or mucosal swellings (angioedema)", + "in rare cases narrowing of the throat, wheezing, and even collapse" + ] + } + ], + "order_cutoff_times": { + "mon": 48, + "tue": 24, + "wed": 24, + "thu": 24, + "fri": 24 + }, + "replacement_products": ["C1236", "C1237", "C1238"], + "seasonality": [{"start_date": "2020-01-01", "end_date": "2020-12-31"}] } ``` @@ -400,6 +443,8 @@ Instead the item can be discontinued and a new item can be created. For example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50. - **`availability`** optional Availability status of the item. Can be "in_stock", "out_of_stock", or "discontinued". +- **`description`** optional + Short description of the item. ### Response