POST/v1/trains/book/:gdsprovider/:bookingId/order

Crear y confirmar una orden de tren

Envía los datos de pasajeros para crear y confirmar una orden desde una pre-reserva.

Compartir

Envía los datos de pasajeros para crear y confirmar una orden desde una pre-reserva.

Autenticación y headers

HeaderDescripción
AuthorizationBearer <secret_key>. Conserva el secret en el servidor y nunca lo escribas en logs del cliente.
X-Travelandz-Id<public_key>:<profile_code>, donde el profile code persistido tiene el formato dp_<12 alfanuméricos>.
Content-Typeapplication/json para peticiones con body JSON.

Petición

El body requiere passengers[]. Cada pasajero requiere id, title (mr, ms, mx), firstName, lastName, phone y email; envía los campos adicionales indicados por required-fields.

json
json
{"passengers":[{"id":"passenger_1","title":"mr","firstName":"John","lastName":"Doe","phone":"+34123456789","email":"john.doe@example.com","countryCode":"ES","bornDate":"1988-04-20","nationality":"ES","identityDocument":{"documentNumber":"X1234567","type":"passport"}}]}

Schema de parámetros

gdsprovider
enum
0
Currently 0
bookingId
string
Booking id returned by prebook.

Schema del body

passengers
array
passengers[]id
string
Passenger id returned by prebook.
passengers[]title
enum
mrmsmx
passengers[]firstName
string
passengers[]lastName
string
passengers[]age
numberNo
passengers[]nationality
string
Formato: 2-letter country code
No
passengers[]phone
string
Formato: E.164
passengers[]email
string
Formato: email
passengers[]countryCode
stringNo
passengers[]bornDate
string
Formato: YYYY-MM-DD
No
passengers[]cityOfBirth
stringNo
passengers[]countryOfBirth
stringNo
passengers[]address
stringNo
passengers[]city
stringNo
passengers[]postalCode
stringNo
passengers[]identityDocument
object
passengers[]identityDocumentdocumentNumber
string
passengers[]identityDocumenttype
enum
passport

Respuesta exitosa

Devuelve orderId, bookingId, bookingReference y bookingStatus. El estado puede ser pending, confirmed o cancelled.

Schema de respuesta

orderId
string
bookingId
string
bookingReference
string
bookingStatus
enum
pendingconfirmedcancelled

Errores

  • 400 por validación o campos desconocidos.
  • 401 o 403 por credenciales API inválidas.
  • 500 internal_communication_error o unknown_error por fallos del proveedor.
  • booking_not_found cuando la pre-reserva no existe o expiró.

Notas de uso

Usa los ids de pasajero devueltos por prebook. Conserva exactamente los identificadores de la orden para consultas y reembolsos posteriores.

Ejemplo cURL

bash
bash
curl --request POST \
  --url "https://api.sandbox.travelandz.com/v1/trains/book/0/booking_123/order" \
  --header "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  --header "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
  --header "Content-Type: application/json" \
  --data '{"passengers":[{"id":"passenger_1","title":"mr","firstName":"John","lastName":"Doe","phone":"+34123456789","email":"john.doe@example.com"}]}'