# Update the booking contact

> The update_trip_contact MCP tool: update the booking contact.

`update_trip_contact` · writes · reaches people outside bymundi

[REST: `PATCH /v1/trips/{tripId}/contact`](https://api.bymundi.com/docs/reference/travelers.contact.update.md)

## What the model reads

Changes the booking contact's details (send only what changes; null clears). ⚠️ A new email on a booked (`reservada`) trip moves the app access to it and emails it — call with dryRun: true first to see `movesAccess`. No undo.

Permissions: travelers:write.
Set `dryRun: true` to preview the effect without writing anything.
This cannot be undone.

## Input

| Field | Type | Required | Description |
|---|---|---|---|
| `tripId` | uuid | yes |  |
| `name` | string \| null |  |  |
| `email` | email \| null |  |  |
| `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 |  |  |
| `dryRun` | boolean |  | Preview only: plan the change and return its effect without writing. |

## Input schema (JSON)

```json
{
  "type": "object",
  "properties": {
    "tripId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 160
        },
        {
          "type": "null"
        }
      ]
    },
    "email": {
      "anyOf": [
        {
          "type": "string",
          "format": "email",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "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"
        }
      ]
    },
    "dryRun": {
      "type": "boolean",
      "description": "Preview only: plan the change and return its effect without writing."
    }
  },
  "required": [
    "tripId"
  ],
  "additionalProperties": false
}
```
