Availability (MCQs & RP)
Essential knowledge
Changed on:
17 Apr 2025
Overview
This article covers recommendations for implementing Availability.Key points
- Availability refers to surfacing Fluent Commerce available to sell (ATS) data to external systems, most often sales channels such as ecom.
- ATS data in Fluent Commerce is modelled as Virtual Positions, grouped inside a Virtual Catalogue.
- ATS data can be queried in real-time or asynchronously.
- Real-time ATS calls can return information such as ATS quantities for the requested products, as well as fulfilment/delivery lead times.
Recommended Practices:
- Virtual Catalogue Design
- Limit the number of Virtual Catalogues, for performance reasons.
- For example: create one Virtual Catalogue for store stock checks, and one for aggregated available to sell (ATS) for Home Delivery
- Controls
- Use control groups to exclude categories (ranges) in each Virtual Catalog
- Start with simple buffer rules, and implement more complex rules over time
- Recommended eCommerce Integration Patterns
- Cart/Checkout - use createFulfilmentOption API to surface available to promise (ATP) data, potentially including fulfilment/delivery ETAs
- Product Detail Page (PDP) - use createFulfilmentOption API (slower response time) calls to surface ATP data, or virtualPositions query API calls (faster response time) if only available to sell (ATS) quantity is required (for example to surface store stock). For high-volume implementations to optimise performance consider using a cache for ATS data and calling Fluent in case of a cache miss or low ATS quantity.
- Product Listing Page (PLP) & Search - for optimal performance maintain a cache in eCommerce to support Search and PLP sorting by product availability, or to surface ATS data. virtualPositions queries can be used for surfacing ATS in case of a cache miss, or low ATS quantity. createFulfilmentOption API calls not recommended for PLP due to impact on page load times.
- eCommerce Cache - use Fluent Inventory Feeds to push ATS data to populate the eCommerce Cache. Integration via a cloud-based services required.
- Google Shopping Feed - use Fluent Inventory Feeds to push ATS data to populate the Google Shopping feed. Integration via a cloud-based services required.
- EDD Calculation Using Carrier Lead Times
- It's generally not recommended to model complex carrier shipping lead times in OMS (by using settings, for example)
- It’s better to leverage a carrier or carrier management system (CMS), which has been designed for this purpose.
- It’s not feasible to make a webhook call from the Fluent FULFILMENT_OPTION workflow to the CMS as it's asynchronous, while the createFulfilmentOption API call is a real-time call. Making sync API calls from the Fluent workflow is against Fluent best practices and can cause workflow performance issues.
- In most cases the recommended integration approach is to call Fluent from the requesting system to calculate the fulfilment locations and lead times, and then call the CMS to calculate the associated shipping lead times. Combine both to calculate the overall EDD.