Add the booking contact
The add_trip_contact MCP tool: add the booking contact.
add_trip_contact · writes · reaches people outside bymundi
REST: POST /v1/trips/{tripId}/contact
What the model reads
Makes a person the trip's booking contact (who books and pays; they need not travel). Needs their email; name, phone, address and identity document are optional. Creates their traveler account; on a booked (reservada) trip it also emails them their app access. Refused if the trip already has a contact — use update_trip_contact.
Permissions: travelers:write. Undo: call remove_trip_contact.
Input
| Field | Type | Required | Description |
|---|---|---|---|
tripId |
uuid | yes | |
name |
string | null | ||
email |
yes | The contact's email — their app access goes here. max 200 chars | |
phone |
string | null | ||
address |
object | null | ||
address.line1 |
string | null | yes | |
address.line2 |
string | null | yes | |
address.postalCode |
string | null | yes | |
address.city |
string | null | yes | |
address.region |
string | null | yes | |
address.country |
string | null | yes | |
docType |
"dni" | "nie" | "passport" | "other" | null | ||
docNumber |
string | null | ||
docCountry |
string | null | ||
taxId |
string | null |
Input schema (JSON)
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"format": "uuid"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 160
},
{
"type": "null"
}
]
},
"email": {
"type": "string",
"format": "email",
"maxLength": 200,
"description": "The contact's email — their app access goes here."
},
"phone": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"address": {
"anyOf": [
{
"type": "object",
"properties": {
"line1": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
]
},
"line2": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
]
},
"postalCode": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{2}$"
},
{
"type": "null"
}
]
}
},
"required": [
"line1",
"line2",
"postalCode",
"city",
"region",
"country"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"docType": {
"anyOf": [
{
"type": "string",
"enum": [
"dni",
"nie",
"passport",
"other"
]
},
{
"type": "null"
}
]
},
"docNumber": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"docCountry": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{2}$"
},
{
"type": "null"
}
]
},
"taxId": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
}
},
"required": [
"tripId",
"email"
],
"additionalProperties": false
}