Target time and sorting

Target Time

The idea of the target time is that we make use of the information when an order should be picked up by a carrier driver for delivery or when the customer is expected earliest to pick up the fulfilled order.

Therefore we have the possibility to specify a date & time for each order. Either we get this information from our connected shop system where the customer defined the target time or we will calculate the target time like described in the following paragraph, which allows us to sort the entries in an optimal way. In the end in the persisted task there is always a target time.

Calculating a Ship-from-Store target time if this information is missing in the order

If this is the case, we check for cutoff times / pickup times of carriers at a facility. Cutoff times are connected to the facility and carrier.

The systems checks whether it is possible to fulfill the order (operationally) before the selected carrier arrives at this day. If this is the case, the target time equals the pickup time of the selected carrier at this day.

If it is not possible anymore to fulfill the order before today' 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.

This check also 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 process 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 process 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 target time if this information is missing in the order

If this is the case the systems predicts when the pickjob is ready for pickup taking the fulfillment process 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 pickjob 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)

Default Target Time

In theory it is possible to not be able to determine a target time if the process buffer is to high and the provided fulfillment times are not sufficient to be fulfilled. This case will most likely be due to a configuration error. In this case target time is being set to 2 days after the order creation date at 12:00 noon.

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.

Sorting & filtering

Sorting (outdated; was valid until Dec. 6th 2023, version 1.17)

The idea behind the sorting of entries in our app is that the lists can be viewed as a prioritized to-do-list. The fulfiller should always check the first open entry, which he/she finds at the top of the lists.

All entries in the pick-, print- and handover-list are sorted in the same way.

The first sorting criteria is the status. One will always find the entries with the status “open” and “in progress” in the first section whereas the finished entries are sorted in the second section which is sorted below the first section.

open/in progress ⬇️ finished

The second sorting criteria is the target time described in the upper section. Entries with the status “open” (red) and “in progress” (yellow) are sorted in an ascending order looking at the target time slots. Those entries with the same target time slot are always in the same section. With this we make sure that the most urgent entry is at the top of the list.

Entries with the status “open” or “in progress” with the same target-time are sorted by a third sorting criteria which is the order create date.

Entries with the status “finished” (which can be found after the “open” and “in progress” entries) are sorted differently. Here, the last-modified timestamp is used to sort the entries - youngest timestamp first.

The tasks in our Android app are sorted in ascending order by target time, regardless of their status. The oldest first, the newest last.

Picking tasks can be filtered by status (open, in progress, closed) and additionally by service type (Click & Collect, Ship from Store). Per default the filter for open and in progress tasks is active. If closed tasks are needed, these must be made visible by selecting the filter for closed tasks.

Packing tasks only have one filter when load units (new version) in picking were used.

Handover tasks can be filtered by status (open, handed over) and carrier (depends on availability in the facility).

More filter will be added to the product in the future.

Picking/Fulfillment Buffer

We introduced a timespan which we call “picking buffer” into our platform. For now this buffer time represents the complete fulfillment-circle. Later more buffers (e.g. for packing etc.) might be added and actual durations for processes which will be measured might be used.

This buffer time can be defined on facility level via our API and with our Backoffince 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