Allow your systems to obtain a list of possible time frames (a.k.a delivery slots) in which an order can be fulfilled.
Most common scenario or an integration point:
By the time a client wants to proceed to checkout. They will be interested in knowing the best time to get their selected products. For that purpose you will publish the data related to the origin, destinations and all the items they selected, and according to your capacity you would get the next delivery slots.
Recommendations
- Make sure that your system can convert addresses to latitude and longitude coordinates. You are required to connect to a Geocoding API for this purpose. Google Maps offers one.
- Ensure that the products on your catalog satisfy the required fields for an item.
- We suggest integrating the result of this endpoint at the beginning of the checkout process.
- Consume this from your backend and expose the information through your mobile/web API.
Reject Item Post Delivery
Per item, the client can define 2 main properties:
- max_claim_time_hrs: Maximum amount of hrs after the slot end in which the client can make a claim
- available_claim_actions: The different types of claims that a client can request:
REFUND
SUBSTITUTE
COLLECT_AND_REFUND
COLLECT_AND_SUBSTITUTE
REJECT
REJECTION_NOT_ALLOWED (only after delivery)
If the available_claim_actions are not defined/sent, the flow allows rejection without any action associated.
🛒 Item Picking Multiplier
To increase the time picking to specific item you can use the item picking_time_multiplier param. It will multiply the Picking Time Per Producto defined in the store config. To more details contact Support.
📚 Replacement Modes
- To indicate a replacement suggestion for an item you can use --> "replacement_mode": "SUGGESTED" and send the EANs of those suggested in --> "suggested_replacements": ["ean1","ean2]. This values will be searched in the item search client endpoint sending EAN query param.
- To indicate that you do not want a replacement of the item you can use --> "replacement_mode": "NO_REPLACE"
⚡Scanning
- Check our docs to activate scanning functionality in this link.
👤 Delivery Validations
To have delivery validations in the shopper app you should send the list of types of categories and validations, specifying if a picture is required in each category.
At the moment we accept 3 types of delivery validations:
- Type:
- Age
- Medicine prescription
- Payment
An example of categories:
- Categories:
- Liquors
- Medicine
- Beers
- Wines
For all of these configurations, you should notify our support center through a ticket here.
📦 Units/Sub-units
Some acceptable units for products measured by weight
- Kilogram:
kg - KG - kG - Kg - Pound:
LB - lB - Lb - Liter:
L - l - Milliliter:
ML - ml - mL - Ml - Gram:
g - G - GR - Gr - gr - Milligram:
mg - MG - Mg - Gallon:
gal - GAL - Gal - Piece:
pz - PZ - Pz
{
"currency_code": "string",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"slot_size": 0,
"minimum_slot_size": 0,
"operational_models_priority": [
"string"
],
"fallback": true,
"is_big_order": true,
"origin": {
"name": "string",
"address": "string",
"address_two": "string",
"description": "string",
"country": "string",
"city": "string",
"state": "string",
"zip_code": "string",
"latitude": 0,
"longitude": 0
},
"destination": {
"name": "string",
"address": "string",
"address_two": "string",
"description": "string",
"country": "string",
"city": "string",
"state": "string",
"zip_code": "string",
"latitude": 0,
"longitude": 0
},
"job_items": [
{
"id": "string",
"name": "string",
"photo_url": "string",
"unit": "string",
"sub_unit": "string",
"quantity": 0,
"sub_quantity": 0,
"quantity_found_limits":{
"max":5,
"min":2
},
"barcodes": [
"000000000000",
"000000000000"
],
"weight": 0,
"volume": 0,
"price": 0,
"comment": "string",
"picking_time_multiplier": 1,
"replacement": {
"replacement_mode": "SUGGESTED",
"suggested_replacements": [
"1234",
"1963"
]
},
"available_lots":["12345", "98760", "23571"],
"kit_info": {
"id": "string",
"number": 1,
"price": 0
},
"claim_information":{
"max_time_to_claim_in_hours":0,
"available_claim_actions":["REFUND", "SUBSTITUTE", "COLLECT_AND_REFUND", "COLLECT_AND_SUBSTITUTE", "REJECT", "REJECTION_NOT_ALLOWED"]
},
"attributes": {
"category": "string",
"plu": "string",
"ean": "string",
"location": "string",
"picking_index": "string"
}
}
]
}