Checkout Options

End customers love knowing more about the possible delivery option when ordering online. Our fulfillability endpoint enables you to show this information on the shop frontend.

Have you ever shopped online, filled your shopping cart only to see that the items are not available in your region in the checkout process? Our fulfillability endpoint gives LU.XY a tool to avoid this feeling for their customers.

Ship from Store

The platform has two options to provide the information whether an order is fulfillable to the customer's location. Either only by address and date or by address, date and the requested items. Both are made using the fulfillability endpoint.

Best Effort

Both options are interesting for the web shop of LU.XY to give their customers the best experience possible. This works using this API call:

curl -sSL -X POST 'https://your.api.fulfillmenttools.com/api/fulfillability' \
  --header 'Authorization: Bearer <TOKEN>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "estimatedOrderDate": "2024-02-05T11:45:00Z", 
  "shipping": {  
    "serviceLevels": [ 
      "DELIVERY" 
    ], 
    "targetAddress": { 
      "postalCode": "1052 XM", 
      "country": "NL" 
    } 
  } 
}'

The response then clarifies what is possible:

{
    "shipping": {
        "DELIVERY": {
            "available": true
        }
    }
}

Detailed information

To get more details of what is possible, there is a second endpoint the LU.XY shop frontend can send data to in order to receive more information of the possible ship from store options. The call to the ship from store fulfillability endpoint can look like this:

curl --location 'https://your.api.fulfillmenttools.com/api/fulfillability/shipfromstore' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data '{
    "articles": [
        {
            "tenantArticleId": "SNEAK-W-4891"
        }
    ],
    "deliveryCountry": "NL",
    "deliveryPostalCode": "1052 XM",
    "deliveryPreferences": {
        "shipping": {
            "serviceLevel": "DELIVERY"
        }
    }
}'

We give an information of where to ship and which articles are desired. If the delivery is possible, we'll receive a 200 OK response providing a list of possible options:

{
    "fulfillability": [
        {
            "articleAvailabilities": [],
            "targetTime": "2024-02-07T11:00:00.000Z",
            "address": {
                "companyName": "lu.xy logistics B.V.",
                "country": "NL",
                "postalCode": "3044 AH",
                "city": "Rotterdam",
                "street": "Breevarstraat",
                "houseNumber": "12",
                "phoneNumbers": [
                    {
                        "value": "+1 20 96365846",
                        "type": "PHONE",
                        "label": "Landline"
                    }
                ],
                "emailAddresses": [
                    {
                        "value": "lu.xy.warehouse.NL@example.com",
                        "recipient": "LU.XY Warehouse NL"
                    }
                ],
                "resolvedCoordinates": {
                    "lat": 51.9281592,
                    "lon": 4.4259523
                },
                "resolvedTimeZone": {
                    "offsetInSeconds": 3600,
                    "timeZoneId": "Europe/Amsterdam",
                    "timeZoneName": "W. Europe Standard Time"
                }
            },
            "closingDays": [],
            "facilityName": "LU.XY Warehouse The Netherlands",
            "facilityRef": "fed73e8d-269e-47d8-9ce5-86a9331a1523",
            "pickingTimes": {
                "monday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "tuesday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "wednesday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "thursday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "friday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "saturday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ]
            },
            "tenantFacilityId": "23"
        },
        {
            "articleAvailabilities": [],
            "targetTime": "2024-02-07T11:00:00.000Z",
            "address": {
                "companyName": "lu.xy logistics GmbH",
                "country": "DE",
                "postalCode": "63303",
                "city": "Dreieich",
                "street": "Landsteinerstraße",
                "houseNumber": "5",
                "phoneNumbers": [
                    {
                        "value": "+49 69 96358078",
                        "type": "PHONE",
                        "label": "Landline"
                    }
                ],
                "emailAddresses": [
                    {
                        "value": "lu.xy.warehouse.FRA@example.com",
                        "recipient": "LU.XY Warehouse FRA"
                    }
                ],
                "resolvedCoordinates": {
                    "lon": 8.7170880894357,
                    "lat": 50.0105339089947
                },
                "resolvedTimeZone": {
                    "offsetInSeconds": 3600,
                    "timeZoneId": "Europe/Berlin",
                    "timeZoneName": "W. Europe Standard Time"
                }
            },
            "closingDays": [],
            "facilityName": "LU.XY Warehouse Frankfurt",
            "facilityRef": "946f17d0-2d14-48f0-a912-d358f2c70e8f",
            "pickingTimes": {
                "monday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "tuesday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "wednesday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "thursday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "friday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ],
                "saturday": [
                    {
                        "start": {
                            "hour": 5,
                            "minute": 0
                        },
                        "end": {
                            "hour": 23,
                            "minute": 59
                        },
                        "capacity": 100
                    }
                ]
            },
            "tenantFacilityId": "21"
        }
    ]
}

In this case, the Dutch and German central warehouses are possible options to fulfill the order from.

Last updated