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.
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.
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
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"
}'
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:
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
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
| Situation | What to do |
|---|---|
| Delay or earlier departure | PATCH/transits/{transitId}/passes/trip/{tripNumber} on the times, then a message. |
| Platform or berth change | A message with POST/transits/{transitId}/passes/trip/{tripNumber}/notify. |
| Station change | originName / originStationCode in PATCH/transits/{transitId}/passes/trip/{tripNumber}. |
| One passenger only (seat, name) | PUT/transits/{transitId}/passes/{passId} on their ticket. |
| Several tickets, different values | PATCH/transits/{transitId}/passes/bulk |
| The line template changes (terms, visual) | PATCH/transits/{id} on the template. |
| Departure cancelled | A message, then remove the tickets with DELETE/transits/{transitId}/passes/bulk if needed. |