univoozAPI

Scheduling

Three modes, and how Univooz calculates the times.

schedule is necessary. There is no default mode.

The earliest possible times. Univooz calculates both.

{ "mode": "asap" }

Rules for all modes

RuleResult if you break it
Times must be ISO-8601 with an offset400 invalid_request
Send fields of your mode only400, with param as schedule.mode
schedule is necessary400. Univooz never uses asap as a default.

The times you get

The response gives the agreed times in schedule.resolved, for all modes:

"schedule": {
  "mode": "deliver_by",
  "resolved": {
    "pickupTime": "2026-07-29T15:15:00.000Z",
    "deliveryTime": "2026-07-29T15:30:00.000Z",
    "basis": "busy_hours"
  }
}
basisMeaning
busy_hoursCalculated in a busy period
quiet_hoursCalculated at another time
shift_startUnivooz moved the pickup to the next shift
caller_suppliedexact — your times

Univooz records mode and basis at creation and does not calculate them again. If the fleet changes its zone later, the order keeps its original values.

How Univooz calculates a time

Univooz uses the distance from the branch to the door, and the period of the day. You do not need the exact values, because every response gives the agreed times.

SettingDefaultNotes
Busy periods10:00–13:00, 17:00–20:00On the fleet's clock, not yours
Minimum notice, busy period20 minutesApplies to exact also
Minimum notice, other times15 minutesApplies to exact also

A fleet can set different values for each zone. Times are estimates, not a guarantee of capacity.

Shifts

Univooz compares the pickup time with the shifts the fleet has planned in the zone.

ModeBehaviour
asapUnivooz moves the pickup to the next shift, up to 240 minutes, and sets basis to shift_start. After that: no_shift_coverage.
deliver_byThe pickup cannot move, so Univooz gives no_shift_coverage.
exactUnivooz does not check shifts.

Drivers. Inside 240 minutes, a shift must also have a driver. Outside 240 minutes, a planned shift is enough. So an order for next week is not rejected because the fleet did not select its drivers yet.

Change a schedule

A PATCH uses the same rules. asap and deliver_by calculate new times against the original zone. exact uses your times.

On this page