Table of Contents

Time Window

A time window defines when an address can load or unload — the opening hours, the appointment slots, and any exceptions that apply. Set up a time window once, and 3PL Dynamics automatically checks and adjusts loading and unloading times on orders against it, so planners don't have to look up opening hours by hand for every shipment.

Overview

Use time windows to:

  • Automatically adjust the requested loading or unloading time on an order to the next time the address is actually open — for example, when a shopping district only allows deliveries outside store hours.
  • Apply different opening hours per customer, per address, per order type, or for a whole region or area at once.
  • Handle opening hours that run overnight, where the start time is later than the end time.
  • Vary opening hours by period or season using a From Date/To Date range on a line.
  • Book a specific appointment for one address that overrides the address's normal opening hours.
  • Feed a condition (for example TIME WINDOW, UL STRICKT, or UL UPTO 09) onto the order so a contract can apply a surcharge automatically when a delivery falls in a particular window.

How time window matching works

A time window is made up of two levels, evaluated in order:

  1. Lines — match a time window to a specific situation: an activity type (load or unload), and optionally a customer, address, order type, area, region, item condition, plan box, or date range. The line with the most specific match wins.
  2. Details — for the matching line, one or more detail lines describe the actual opening hours or appointment. Detail lines are grouped into two lists on the card:
    • Opening Hours — the default recurring time window(s) for the line (for example, based on a base calendar or weekday).
    • Appointment (Different from default) — a specific slot that overrides the default opening hours for this line, for example an appointment agreed with a customer.

Both lines and details use a Priority to decide which one applies when more than one could match. By default, priority is calculated automatically — the more specific a line's conditions are (a matching customer, address, order type, area, or date range), the higher its priority, so specific setups always win over generic fallback lines. Enable Manual Priority on a line or detail to set the priority yourself instead.

Set up a time window

  1. Choose the Lightbulb that opens the Tell Me feature. icon, enter Time Window, and then choose the related link.

  2. Choose New and fill in the fields.

    Time Window General

    Field Description
    Calculate From Date formula (default -7D) that sets the start of the date range shown when looking up available times, relative to today. The start date is never earlier than today.
    Calculation Period Length Date formula (default 2W) that sets how far ahead of the start date the available-times range extends.
  3. On the Lines tab, add a line for loading and a line for unloading, and, if needed, one or more extra lines to narrow a time window down to a specific customer, address, order type, area, region, item condition, plan box, or period.

    Time Window Lines

    Field Description
    Customer No., Address No., Order Type, Area Type, Area Code Hidden by default; add them via personalization if you need to filter a line by one of these.
    Table Filter An additional filter on the underlying order — for example, a filter on a time field so this line only applies to orders entered before or after a specific time. Choose the assist-edit button to build the filter.
    Base Calendar Code A calendar code so this line only applies on specific days of the week or specific dates (for example, to exclude public holidays per country or region).
    Closing Time, Date Formula Before/After, Date Formula Before/After Leadtime, Starting Point Date Together, these calculate a transit-time-adjusted window around the Closing Time: which date the calculation starts from, and which date formula to apply depending on whether the order was created before or after the closing time. The Leadtime formulas do the same for the end of the window, so a long transit time can push the calculated slot further out automatically.
    Respect Address Opening Hours Also takes the opening hours set up on the address itself into account (see Time Slot), in addition to this time window.
    Region Code A region so this line automatically applies to every address in that region, without having to list addresses individually.
  4. On the Details part for the line, add one or more rows under Opening Hours for the recurring default, and under Appointment (Different from default) for a one-off or customer-specific slot.

    Time Window Details

    Field Description
    Table Filter An extra filter on the order, evaluated in addition to the line's own Table Filter.
    Closing Time, Starting Point Date, Date Formula Before/After, Date Formula Before/After Leadtime Same purpose as the equivalent fields on the line — set here to override the line's values for this specific detail.
    Condition Code / Condition Value The condition to set on the order when this detail applies, and its value. Use this to flag, for example, that an order falls in a strict or early-morning window so a contract can react to it.
    Note

    Recurring by weekday or a single exact date is also possible on a detail line via the Weekday and Date fields. They're hidden by default — add them via personalization if a Base Calendar Code is more than you need.

  5. To check what you've configured, open a line and choose Available Times to preview the calculated time windows for the next two weeks.

Where time windows are applied

Setting up a time window on its own doesn't change anything — it only takes effect once it's connected to an order flow:

  • Status template function. Add the function Check Time Window to the status template of the order or section. When the order changes to that status, the function checks whether the requested loading or unloading date/time falls inside the matching time window, and can automatically move it to the first available slot, show a message or error when it doesn't, set the order to a different status if no matching time window is found, and stamp the matching condition (from the Condition Code/Condition Value on the detail) onto the order.
  • Calculation function set. The functions GET (UN)LOAD DT, GET UTC (UN)LOAD DT, and CHECK TRANSIT (function set TMS Time Window Functions) can be added as an execute function set to the status template of the order or section to automatically calculate and adjust the loading and unloading date/time based on the time window, respecting transit-time lead times and, for multi-time-zone setups, the address's own time zone.
  • Manual lookup on the order. On the order or section card, choose the assist-edit button (...) next to Loading Time From or Unloading Time From to open a picker with the available slots calculated from the time window, and apply one directly.
  • Contracts and surcharges. The condition that a time window detail sets on the order (for example TIME WINDOW, UL STRICKT, or UL UPTO 09 — see Conditions) can be used as a condition on a contract price line, so a surcharge is applied automatically whenever an order falls in that window.
  • Area- and region-wide setups. A line with a Region Code or Area Code (instead of individual addresses) applies to every address in that region or area, so one time window can cover, for example, an entire shopping district.

Why use time windows: examples

A shopping district with restricted delivery hours

Some city centers only allow deliveries outside of shop opening hours. Set up a time window line with the district's Region Code and the allowed opening hours on the details. Every order for an address in that region is then automatically checked — and, where needed, corrected — against those hours, without having to maintain opening hours per address.

Time Window 2

Legend: Green — the opening hours for the shopping district. Orange — the requested start and end times on three orders. Blue — the start and end times after the Check Time Window function ran. Red — the time the requested time falls on.

Result: the function adjusts the start and end time on order A and B to fit the district's opening hours, and only adjusts the end time on order C.

Time window used in this example:

Time Window 1

Note
  • On the Lines tab, Table Filter needs a filter on a time field. A filter of ..12:00:00 makes this line apply only to orders entered before noon.
  • Base Calendar Code needs a calendar with the non-working days (weekends, holidays) marked — you can create separate calendars per country or region.
  • Region Code must be set so the time window is automatically applied to every address in the shopping district.

Overnight opening hours

When an address is only open at night (for example, a distribution center that only unloads between 22:00 and 06:00), set Starting Time later than Ending Time on the detail. The time window logic treats this as an overnight window automatically.

A customer-specific appointment

A regular customer negotiates a fixed delivery appointment that's different from the address's normal opening hours. Add a detail line under Appointment (Different from default) with the agreed Starting Time/Ending Time (and, if it's a recurring appointment, a Base Calendar Code or the hidden Weekday field) — the appointment then takes priority over the address's regular opening hours for that customer.

Seasonal opening hours

A garden center is only open for deliveries during the growing season. Create a separate line with From Date/To Date set to the season, and a second line without dates for the rest of the year — the line whose date range matches wins.