Order Target Time

Introduction

The target time is the time when an order should be picked up by a shipping provider for delivery or when the customer is expected earliest to pick up the fulfilled order.

Therefore, there is the possibility to specify a date & time for each order. Either this information is supplied from a connected shop system or our systems will calculate the target time. The calculation of the target time when done internally is described in the following paragraph. In the final task there is always a target time defined.

It is not possible to (manually) change the target time after it has been calculated.

Calculating of ship-from-store order's target time

If no target time was supplied in the order, a check for cutoff times / pickup times of carriers at the facility is made. The system checks whether it is possible to fulfill the order (operationally) before the selected carrier arrives today. If this is the case, the target time equals the pickup time of the selected carrier at today.

If it is not possible anymore to fulfill the order before today's pickup time of the selected carrier, the target time is the next upcoming cutoff time of this carrier for which it can be guaranteed that the fulfillment took place beforehand.

In addition, this check includes the fulfillment times as well as the closing days of this facility. The buffer time is only considered within the defined fulfillment times of a facility.

Example 1

  • Order has type ship-from-store and DHL as the selected carrier.

  • DHL’s pickup times within the facility is Mo-Fr 16:00.

  • fulfillment times at this facility is Mo-Fr 09:00 - 18:00

  • No closing days were defined in this example

  • Fulfillment buffer (e.g., the amount of time that an employee needs to fulfill an order) = 2 hours

    • Order was created Monday 13:30 → generated target time is Monday 16:00 (since 13:30 + 2 hours = 15:30 < 16:00 (pickup time))

    • Order was created Monday 14:30 → generated target time is Tuesday 16:00 (since 14:30 + 2 hours = 16:30 > 16:00 (pickup time); Therefore the next pickup time is only next day)

Example 2

  • Order has type ship-from-store and DHL as the selected carrier.

  • DHL’s pickup times within the facility is Mo-Fr 11:00.

  • fulfillment times at this facility is Tu-Fr 09:00 - 17:00

  • No closing days were defined in this example

  • Fulfillment buffer (e.g. the amount of time that an employee needs to fulfill an order) = 2 hours

    • Order was created Monday 08:00 → generated target time is Monday 11:00 (since 09:00 + 2 hours = 11:00 = 11:00 (pickup time))

    • Order was created Monday 14:30 → generated target time is Tuesday 16:00 (since 14:30 + 2 hours = 16:30 > 11:00 (pickup time); Therefore the next pickup time is only next day)

Calculating a click and collect order's target time

If no target time was supplied in the order, the systems predict when the pickjob is ready for pickup taking the fulfillment buffer as well as the fulfillment times into consideration.

The target time is calculated by adding the fulfillment process time to the point of time when the pick job was created. The fulfillment process time is only considered within the defined fulfillment times of a facility.

Example 1

  • Order has the type click and collect

  • fulfillment times at this facility is Mo-Fr 09:00 - 18:00

  • No closing days were defined in this example

  • Fulfillment process buffer (e.g. the amount of time that an employee needs to fulfill an order) = 4 hours

    • Order was created Monday 16:00 → generated target time is Tuesday 11:00 (since 16:00 + 2 hours (50% of the buffer) + 09:00 (fulfillment times next da) + 2 hours(remaining 50% of the buffer) = 11:00)

Example 2

  • Order has the type click and collect

  • fulfillment times at this facility is Mo-Fr 09:00 - 18:00

  • No closing days were defined in this example

  • Fulfillment process buffer (e.g. the amount of time that an employee needs to fulfill an order) = 4 hours

    • Order was created Monday 8:00 → generated target time is Monday 13:00 (since the facility opens at 9:00 and only from here the buffer time is counted)

Calculating target time with service jobs

If the order is connected to a service job or multiple service jobs, the execution time of the service job(s) will be taken into account for the calculation of the target time by adding the execution time to the order time.

Example: Order was created Monday 16:00. The cumulated execution time of related service jobs is 80 minutes, then the target time calculation will be based on Monday 17:20.

Default Target Time

If it is not possible to determine a target time, the target time is being set to 2 days after the order creation date at 12:00 noon. This happens mostly due to configuration errors if the process buffer is too high and the provided fulfillment times are not sufficient.

Calculating target time with capacities

Setting maximum capacities per day/fulfillment slot can have an impact on the calculated target time of a pick job. In case there is no fulfillment capacity left before the CEP-pick up time on the same day the order is placed, the target time is adjusted to the next free capacity slot and its corresponding pick up time.

Nevertheless, if the target time is defined within the order (“hard” target time), the target time is simply passed on.

In order to consider capacities, systems check for the next pickup-time of the selected carrier which is reachable when the order is picked within the planned fulfillment-slot. Only if the pickup-time can be reached including free capacity this pickup time is selected as the new target time

In addition to checking the capacity, systems also consider whether the task can be picked before the target time. In case the time at which the order was created plus the average picking duration exceeds the target time, the next upcoming slot is selected. If the target was supplied in the order it might happen that the order can not be routed and therefore, gets the status unroutable.

  • Example:

    • Order comes in on Monday 14:00

    • avg. fulfillment duration 30 min

    • Order should be fulfilled by DHL, DHL' pickup-time is daily 16:00

    • if we do not plan capacities (rating / fence is inactive) the TT would be Monday 16:00

    • if we do plan capacities and the slot is planned < Monday 15:30 the TT would be Monday 16:00

    • if we do plan capacities and the slot is planned e.g., Wednesday 15:00 the TT would be Wednesday 16:00

      • we use the starting point of the future capacity slot

        • if starting point + avg. duration < pickup time (1) then pickup time (1) otherwise pickup time (2 (next TT))

        • if date now is within the slot, we use date now + avg. duration < pickup time (1) then pickup time

  • If our time triggered reroute function is active and the target time, without this feature active would be after the time triggered timeframe, the target time would be: PJ created + set reroute timeframe

  • If our time triggered reroute function is active and the target time, without this feature active would be before the time triggered timeframe and it can be met (pj created + avg. FF duration < PJ created + set reroute timeframe), the target time would be: carrier cutoff time, which can be met

    • e.g. 14:00Pj created / 2 hours time to start picking / 30 min avg. FF duration / Carrier cutoff 15:00 -> target time would be 15:00

    • e.g. 14:00Pj created / 2 hours time to start picking / 3 hours! avg. FF duration / Carrier cutoff 15:00 -> target time would be 16:00

The setting “Time frame for future capacity planning” ensures that systems do not occupy capacities that are too far in the future. In the setting, a limit can be set which defines how many days in the future capacities can be used and “booked”. This serves as the base for the capacity fence.

The value includes always the capacity of a calendar day. The value can be set as a tenant wide default via API and/or via the Backoffice or for a specific facility. If one changes the default only the facilities using the default value changes - facilities which have their own value defined, are not changed (even if this value is the same as the default).

Example:

  • Today is Monday 14:00

  • the parameter is set to 3 Days

  • → the capacity till Thursday (including Thursday) can be used for planning.

Capacities do have an own collection within the database where one can find the already planned capacity for a slot.

The collection is called ocff-XXX-git/pre/prd.routing-v1-reservation-slot

Users of our platform have the possibility to define:

  • a Ship-from-Store cutoff time for a specific facility carrier connection

  • a tenant-wide default value

  • a tenant-wide cutoff time for click and collect orders via our API

Those cutoff times in combination with the concept of a lead time, allows systems to predict whether or not an incoming order can be fulfilled in time in order to be shipped via a certain carrier.

Picking / Fulfillment Buffer

The picking or fulfillment buffer is a timespan that represents the complete fulfillment process including picking and packing.

This buffer time can be defined on facility level via API and in the Backoffice by users with the role Admin or Supervisor. Furthermore, an admin can define a tenant-wide default fallback via API, which is initially set to 240 minutes.

Last updated