Skip to content

Recurring Trips

Taxi & Private HireProductsTrip › Recurring Trips

Generally available

A recurring trip pairs a master booking — pickup, dropoff, customer, segments — with a schedule, and the platform releases a live trip for each occurrence at the right lead time. Set it up once; it runs itself. Used heavily for school runs, medical transport and corporate commute contracts.

Set it up once, it runs itself

A recurring trip is a master booking — pickup, dropoff, customer, segments — plus a schedule that says when it should happen. The platform then releases a real worker trip for each occurrence, at the configured lead time before pickup. A Home→School run at 09:00 Monday–Friday becomes five live trips a week, and each one can be edited on its own day without touching the master.

Master booking the template, set once Schedule when it should happen Worker trip · Mon 09:00 Worker trip · Tue 09:00 — independently editable … one per occurrence
The master is never dispatched; it spawns an independent worker trip for each date the schedule lands on.

One schedule, many shapes

A schedule is a set of times, and each time runs on the days you choose — so a morning outbound run and an afternoon return can each have their own days. Marking a time as a return reverses the journey automatically (the drop-off becomes the pickup), so a single schedule covers the there-and-back of a school or commute contract.

MonTueWed ThuFriSatSun 09:00 outbound → paused 17:00 return ← → 17:45 → outbound ← return (reversed) paused day off · per-day time shift (17:00 → 17:45)
Two times, different days each, with a one-off pause and a per-day time shift — all on one schedule.

Skips and exceptions, without breaking the pattern

Real schedules have gaps. You can pause a single day (a passenger isn't travelling), and you can attach shared exclusion calendars — school terms, public holidays — so every schedule that uses them skips the same dates automatically. The underlying weekly pattern stays intact; the exclusions just suppress the instances inside their windows.

A week of the pattern, with exclusions applied: Mon09:00 run Tue09:00 run Wedpaused Thu09:00 run Frischool holiday Sat Sun released as a live trip paused (one day) excluded by a shared calendar
The Mon–Fri pattern is unchanged; Wednesday is paused for this passenger and Friday is suppressed by the shared school-holiday calendar.

Always know what's coming — and when it ends

Operators see the resolved instances two ways: a compact list of the next few occurrences on the booking screen, and a calendar of upcoming dates. Schedules can run open-ended, end on a set date, or — for a single time within the schedule — stop on its own date, so you can wind one run down while the rest keep going. The platform keeps a rolling horizon of upcoming instances materialised ahead of time.

Wed 24/06 → 09:00 Run ← 17:00 Return Thu 25/06 → 09:00 Run Fri 26/06 excluded Mon 29/06 → 09:00 Paused → 17:45 Run Tue 30/06 ← 04:17 Return schedule ends 30/06
The resolved calendar after the pattern, overrides and exclusions are applied — outbound, return, a shifted time, an excluded day, and the schedule's end date.

Shared term/holiday calendars are managed as Schedule Exclusions; the underlying booking each instance produces is a normal trip.

Example request

GET /client/{clientId}/trip/{tripId}/schedule/{tripScheduleId}

See the API reference for the full request and response schema.

Endpoints

MethodPath
GET /client/{clientId}/trip/{tripId}/schedule/{tripScheduleId} · primary
GET /client/{clientId}/trip/{tripId}/schedule
GET /client/{clientId}/trip/{tripId}/schedule_plan
POST /client/{clientId}/trip/{tripId}/schedule_plan
POST /client/{clientId}/trip/{tripId}/schedule/{tripScheduleId}

Full request/response schemas and an interactive explorer will live in the API reference (coming soon).

Use cases

Operator flows that exercise this feature.

Edit a schedule plan

config risk: low

Adjust the forward schedule plan for a recurring trip.

  1. POST /client/{clientId}/trip/{tripId}/schedule_plan
Create a standing order

action risk: low

Set up a recurring booking that spawns trips on a pattern (e.g. dialysis Mon/Wed/Fri).

  1. POST /client/{clientId}/trip/{tripId}/schedule/{tripScheduleId}