1C-Bitrix Delivery Time Slot Configuration

Imagine an online store on Bitrix is growing, but customers complain that they cannot choose a convenient delivery time. The standard form only offers a date, while the courier service requires slots like '10:00–14:00' or '18:00–22:00'. We've encountered this dozens of times over 5+ years working wi

Our competencies:

Frequently Asked Questions

Imagine an online store on Bitrix is growing, but customers complain that they cannot choose a convenient delivery time. The standard form only offers a date, while the courier service requires slots like '10:00–14:00' or '18:00–22:00'. We've encountered this dozens of times over 5+ years working with Bitrix. For optimal bitrix delivery intervals and delivery slot configuration, our dynamic delivery slots 1c solution ensures efficient booking. One of our clients—a grocery online store—was losing up to 30% of orders due to the lack of time selection. After implementing dynamic slots, conversion increased by 15%, saving them $10,000 annually. Another client, with seasonal peaks, faced double booking under high load—we solved it using transactions and tagged caching. Dynamic slots are 3 times more reliable than static lists under high load.

Our team has 5+ years of experience and has completed 100+ Bitrix projects, delivering reliable solutions. Whether you need bitrix delivery intervals, courier service integration, or a custom checkout form, we can help. For 1c bitrix delivery optimization and delivery slots 1c configuration, we offer tailored setups. To set up delivery time interval bitrix, follow the steps below.

Limitations of the standard delivery service

A common misconception is that enabling the 'time interval' option in delivery settings is enough in Bitrix. In reality, no built-in service has a slot mechanism. You either use order property bitrix (type 'List') or develop a dynamic system on highload blocks. The first option is fast but static. The second is flexible but requires programming.

Implementing dynamic delivery slots with capacity limits

The most common client request is 'slots with limits'. For example, only 10 orders can be accepted for the interval 10:00–14:00. Implementation via the DeliverySlots highload block:

Field Type Description
UF_DATE Date Delivery date
UF_SLOT String Interval (10:00–14:00)
UF_CAPACITY Number Maximum orders (slot capacity limit)
UF_BOOKED Number Orders booked
Code example When a date and slot are selected in the cart, an AJAX request is sent to a custom component:
$entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity('DeliverySlots'); $slots = $entity::getList([ 'filter' => [ 'UF_DATE' => $date, '<=UF_BOOKED' => 'UF_CAPACITY - 1', ], 'select' => ['UF_SLOT', 'UF_CAPACITY', 'UF_BOOKED'], ]); 

After order confirmation, UF_BOOKED is incremented inside a transaction to avoid double booking. This is more reliable than frontend checks. For performance, we use tagged caching: the slot list is cached for 1 minute, and the cache is cleared when UF_BOOKED is updated. Dynamic delivery slots with capacity limits reduce double bookings by up to 90% compared to static lists.

How to set up a static interval list in 4 steps

  1. Create an order property of type 'List' with the desired intervals (e.g., '10:00–14:00', '14:00–18:00').
  2. Attach the property to the delivery service in the 'Commercial Catalog' module settings.
  3. In the checkout component, specify the PROPERTIES parameter with the property code.
  4. Add a condition to display the property only for the desired delivery service.

This approach suits stores with simple logistics up to 50 orders per day. If you need limits or integration with a courier calendar, use dynamic slots.

What's included in the work

When ordering turnkey delivery interval configuration, we:

  • analyze requirements and current architecture,
  • choose the optimal option (static list / dynamic slots / courier API integration),
  • design highload blocks and configure caching,
  • implement a custom slot selection component with validation,
  • load-test and deploy to production,
  • hand over documentation and train your team.

We guarantee the system won't crash under peak orders—using tagged caching and asynchronous slot checking. All booking update operations are performed in transactions, preventing double entries.

Choosing between static list and dynamic slots

Static list (order property of type 'List') — for stores with simple logistics up to 50 orders per day. Dynamic slots with highload block provide real-time capacity control—3 times better for online stores with seasonal peaks. Integration with a courier calendar (e.g., via the Bitrix REST API of the courier service) fully automates scheduling. Typical cost: $200–$400 for static lists, $500–$1500 for dynamic slots, and $1500–$3000 for full courier integration.

Typical configuration mistakes

  • Double booking: occurs if transactions are not used when updating UF_BOOKED. Always wrap the write in Bitrix\Main\Application::getConnection()->startTransaction() and commit only after a successful update.
  • Timeouts under peak load: solved by caching the slot list for 1 minute (tagged cache). Configure using \Bitrix\Main\Data\Cache::createInstance().
  • Incorrect display of outdated slots: remove past slots daily via an agent. For example, CAgent::AddAgent(...).

Configuration timelines

Option Time
Static list via order property 2–4 hours
Dynamic slots with capacity limits 1–2 days
+ Integration with courier calendar 2–4 days

Cost is calculated individually after analyzing your requirements. We offer a free consultation: describe your situation—our engineer will select the optimal solution. With over 5 years of experience and more than 100 completed projects, we deliver reliable solutions. Get a consultation — contact us via chat or email. Order delivery interval setup and eliminate order losses. If you need bitrix24 delivery integration, we can help as well.