Skip to main content

Delays and cancellations: update a trip

The coach leaves 30 minutes late. The ferry moves to another berth. You have 200 passengers on that departure. You do not update 200 tickets: you update one trip.

The key: tripNumber​

tripNumber groups every ticket for the same service (one departure, one date). Set it on every ticket you issue (POST/transits/{transitId}/passes or POST/transits/{transitId}/passes/bulk). No tripNumber, no group update.

One tripNumber per departure

Use a unique id per dated departure (line + date + time, e.g. MUL-GVA-20261112-0930), not the line number alone. Otherwise a Monday delay also changes Tuesday’s tickets.

The flow​

Step 1 · Update the data​

PATCH/transits/{transitId}/passes/trip/{tripNumber} takes new departure and arrival times and dates, origin and destination stations, and the expiry date. Every ticket on the trip updates. The passenger sees the new time without doing anything.

PATCH/transits/{transitId}/passes/trip/{tripNumber}Try it
curl -L -X PATCH 'https://api-v2.test.eldowallet.fr/transits/$TRANSIT_ID/passes/trip/MUL-GVA-20261112-0930' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: en' \
-H 'Authorization: Bearer <token>' \
-d '{
"departureTime": "10:00",
"arrivalTime": "12:35"
}'
Dates

If you change departureDate, send arrivalDate too. Arrival must stay after departure (ARRIVAL_TIME_MUST_BE_AFTER_DEPARTURE_TIME_CONSIDERING_DATES).

Step 2 · Explain​

A new time does not say why. Add a message with POST/transits/{transitId}/passes/trip/{tripNumber}/notify:

POST/transits/{transitId}/passes/trip/{tripNumber}/notifyTry it
curl -L 'https://api-v2.test.eldowallet.fr/transits/$TRANSIT_ID/passes/trip/MUL-GVA-20261112-0930/notify' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: en' \
-H 'Authorization: Bearer <token>' \
-d '{
"message": "Departure moved to 10:00 due to weather. Your ticket is up to date."
}'

Special cases​

SituationWhat to do
Delay or earlier departurePATCH/transits/{transitId}/passes/trip/{tripNumber} on the times, then a message.
Platform or berth changeA message with POST/transits/{transitId}/passes/trip/{tripNumber}/notify.
Station changeoriginName / originStationCode in PATCH/transits/{transitId}/passes/trip/{tripNumber}.
One passenger only (seat, name)PUT/transits/{transitId}/passes/{passId} on their ticket.
Several tickets, different valuesPATCH/transits/{transitId}/passes/bulk
The line template changes (terms, visual)PATCH/transits/{id} on the template.
Departure cancelledA message, then remove the tickets with DELETE/transits/{transitId}/passes/bulk if needed.

Go further​

API news, once a month

New endpoints, upcoming changes, guides and use cases. No spam, one-click unsubscribe.

Report a technical problem

An API error, a pass that does not update, an email that does not arrive? Describe the problem: our technical team will answer.

For a fast answer, include:

  • The method and endpoint (e.g. POST /clients)
  • The error code returned (errorCode) and the body sent
  • The date and time of the call
  • The identifiers involved (customer, template, pass)

Never include an API token or a password.

AI assistant

Beta

Loading…

AI-generated answers (Claude): double-check important details.

Sign in to use the assistant