---
title: "Update booking location for an existing booking"
method: PATCH
path: "/v2/bookings/{bookingUid}/location"
tags: ["Bookings"]
---

# Update booking location for an existing booking

`PATCH /v2/bookings/{bookingUid}/location`

Updates the location for an existing booking.

**Integration Fallback Behavior:**
- **Google Meet**: Requires Google Calendar to be connected. If the booking has no Google Calendar event, it will automatically fall back to Cal Video.
- **MS Teams**: If Office 365 Calendar is connected, generates the meeting link via calendar. Otherwise, uses the MS Teams video integration directly.

<Note>The cal-api-version header is required for this endpoint. Without it, the request will fail with a 404 error.</Note>

## Path parameters

- `bookingUid` string, required

## Headers

- `cal-api-version` string, required
- `Authorization` string, required

## Request body

- UpdateBookingLocationInput20240813
  - `location` union — One of the event type locations. If instead of passing one of the location objects as required by schema you are still passing a string please use an object.
    - UpdateInputAddressLocation20240813
      - `type` string, required — only allowed value for type is `address` - it refers to address defined by the organizer.
      - `address` string, required
    - UpdateBookingInputAttendeeAddressLocation20240813
      - `type` string, required — only allowed value for type is `attendeeAddress`
      - `address` string, required
    - UpdateBookingInputAttendeeDefinedLocation20240813
      - `type` string, required — only allowed value for type is `attendeeDefined`
      - `location` string, required
    - UpdateBookingInputAttendeePhoneLocation20240813
      - `type` string, required — only allowed value for type is `attendeePhone`
      - `phone` string, required
    - UpdateBookingInputLinkLocation20240813
      - `type` string, required — only allowed value for type is `link` - it refers to link defined by the organizer.
      - `link` string, required
    - UpdateBookingInputPhoneLocation20240813
      - `type` string, required — only allowed value for type is `phone` - it refers to phone defined by the organizer.
      - `phone` string, required
    - UpdateBookingInputIntegrationLocation20240813
      - `type` string, required — only allowed value for type is `integration`
      - `integration` 'cal-video' | 'google-meet' | 'zoom' | 'whereby-video' | 'whatsapp-video' | 'webex-video' | 'telegram-video' | 'tandem' | 'sylaps-video' | 'skype-video' | 'sirius-video' | 'signal-video' | 'shimmer-video' | 'salesroom-video' | 'roam-video' | 'riverside-video' | 'ping-video' | 'office365-video' | 'mirotalk-video' | 'jitsi' | 'jelly-video' | 'jelly-conferencing' | 'huddle' | 'facetime-video' | 'element-call-video' | 'eightxeight-video' | 'discord-video' | 'demodesk-video' | 'campfire-video', required

## Response `200`

- UpdateBookingLocationOutput20240813
  - `status` 'success' | 'error', required
  - `data` union, required — Booking data, which can be either a BookingOutput object, a RecurringBookingOutput object, or an array of RecurringBookingOutput objects
    - BookingOutput20240813
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` BookingAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
      - `guests` string[]
      - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
    - RecurringBookingOutput20240813
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` BookingAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
      - `guests` string[]
      - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
      - `recurringBookingUid` string, required
    - RecurringBookingOutput20240813[]
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` BookingAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
      - `guests` string[]
      - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
      - `recurringBookingUid` string, required
    - GetSeatedBookingOutput20240813
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` SeatedAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
        - `seatUid` string, required
        - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
        - `metadata` object
    - GetRecurringSeatedBookingOutput20240813
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` SeatedAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
        - `seatUid` string, required
        - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
        - `metadata` object
      - `recurringBookingUid` string, required
    - GetRecurringSeatedBookingOutput20240813[]
      - `id` number, required
      - `uid` string, required
      - `title` string, required
      - `description` string, required
      - `hosts` BookingHost[], required
        - `id` number, required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `username` string, required
        - `timeZone` string, required
      - `status` 'cancelled' | 'accepted' | 'rejected' | 'pending', required
      - `cancellationReason` string
      - `cancelledByEmail` string
      - `reschedulingReason` string
      - `rescheduledByEmail` string
      - `rescheduledFromUid` string — UID of the previous booking from which this booking was rescheduled.
      - `rescheduledToUid` string — UID of the new booking to which this booking was rescheduled.
      - `start` string, required
      - `end` string, required
      - `duration` number, required
      - `eventTypeId` number, required — Deprecated - rely on 'eventType' object containing the id instead.
      - `eventType` EventType, required
        - `id` number, required
        - `slug` string, required
      - `meetingUrl` string — Deprecated - rely on 'location' field instead.
      - `location` string, required
      - `absentHost` boolean, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `metadata` object
      - `rating` number
      - `icsUid` string — UID of ICS event.
      - `attendees` SeatedAttendee[], required
        - `name` string, required
        - `email` string, required
        - `displayEmail` string, required — Clean email for display purposes
        - `timeZone` string, required
        - `language` 'ar' | 'ca' | 'de' | 'es' | 'eu' | 'he' | 'id' | 'ja' | 'lv' | 'pl' | 'ro' | 'sr' | 'th' | 'vi' | 'az' | 'cs' | 'el' | 'es-419' | 'fi' | 'hr' | 'it' | 'km' | 'nl' | 'pt' | 'ru' | 'sv' | 'tr' | 'zh-CN' | 'bg' | 'da' | 'en' | 'et' | 'fr' | 'hu' | 'iw' | 'ko' | 'no' | 'pt-BR' | 'sk' | 'ta' | 'uk' | 'zh-TW' | 'bn'
        - `absent` boolean, required
        - `phoneNumber` string
        - `seatUid` string, required
        - `bookingFieldsResponses` object, required — Booking field responses consisting of an object with booking field slug as keys and user response as values.
        - `metadata` object
      - `recurringBookingUid` string, required

---

[API](https://skmtc.net/calcom/apis/cal-diy-api-v2.md) · [All operations](https://skmtc.net/calcom/apis/cal-diy-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/calcom/cal-diy-api-v2/versions/16de9d3eb7b3/schema)
