Passengers
Passengers are saved travelers attached to a Movmo user. Each carries name, gender, date of birth, nationality, contact details, and a traveler_type (adult/child/infant) computed against a target departure date. Identity documents (passport, visa, KTN) are a child resource and KMS-encrypted at rest.
Common patterns
Section titled “Common patterns”- Soft-delete only.
DELETEsetsdeleted_atrather than removing the row; list queries filter ondeleted_at IS NULL. Booking-passenger FKs areRESTRICT, so a passenger that already shipped on a booking remains queryable. PUTis full-body replace, not patch. Read, mutate, PUT the merged record. Sparse PUTs fail server-side validation.?departure_date=YYYY-MM-DDon the list endpoint computestraveler_typeagainst that date. Without it, infants can mis-classify on flights months out.- Identity documents are KMS-encrypted at rest. Cleartext over TLS, encrypted on disk.
REST endpoints
Section titled “REST endpoints”| Operation | Path |
|---|---|
listPassengers | GET /v1/users/{userid}/passengers |
createPassenger | POST /v1/users/{userid}/passengers |
getPassenger | GET /v1/users/{userid}/passengers/{passengerid} |
updatePassenger | PUT /v1/users/{userid}/passengers/{passengerid} |
deletePassenger | DELETE /v1/users/{userid}/passengers/{passengerid} |
listIdentityDocuments | GET /v1/users/{userid}/passengers/{passengerid}/identity-documents |
createIdentityDocument | POST /v1/users/{userid}/passengers/{passengerid}/identity-documents |
getIdentityDocument | GET .../identity-documents/{documentid} |
updateIdentityDocument | PUT .../identity-documents/{documentid} |
deleteIdentityDocument | DELETE .../identity-documents/{documentid} |
Full schemas in the OpenAPI spec under tags: [Passengers].
MCP tools
Section titled “MCP tools”Model Context Protocol (MCP) wrappers for this domain:
| Tool | Maps to |
|---|---|
get_passengers_profile | GET /v1/users/{userid}/passengers |
create_passenger_profile | POST /v1/users/{userid}/passengers |
update_passenger_profile | GET + PUT .../passengers/{passengerid} |
delete_passenger_profile | GET + DELETE .../passengers/{passengerid} |
create_passenger_profile exposes only the core fields (no middle_name, no is_default, no KTN). For the full set, use the REST endpoint.
There is no MCP tool for identity-documents CRUD today. Documents are read/write over REST only.
Watch out for
Section titled “Watch out for”update_passenger_profile(MCP) reads, merges, and writes for you; RESTPUTdoes not — supply the full body.update_passenger_profilewrites the saved record;update_passenger(booking-flow tool) fills the offer slot. Different operations.