---
title: "Change a booking's location and/or conferencing"
method: PATCH
path: "/appointments/bookings/{booking_uid}/location"
tags: ["Appointments"]
---

# Change a booking's location and/or conferencing

`PATCH /appointments/bookings/{booking_uid}/location`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/appointments/bookings/{booking_uid}/location`
- Auth: HTTP bearer

Change a booking's physical location and/or its conferencing.

Two independent fields; send only the one you change. An omitted field is
left as is, and ``null`` clears it:

* ``selected_location``: a location object, e.g.
  ``{"kind": "in_person_host", "address": "1 Market St"}``,
  ``{"kind": "phone_host", "phone": "+14155550100"}`` or
  ``{"kind": "custom", "display_label": "Lobby"}``.
* ``selected_conferencing``: ``{"kind": "link", "link": "https://..."}`` for a
  meeting URL, or ``{"kind": "conferencing", "provider": "zoom"}`` (also
  ``roam_auto``, ``ms_teams``, ``google_meet``), which creates a NEW meeting room.
* ``notify_attendees`` (default true): the host is always emailed.

The host's calendar event is updated too; ``calendar_synced`` in the response
is false when that update failed (the change is saved either way). Errors:
404 when the booking is not visible to the caller, 409 when it is cancelled,
past, imported or changed meanwhile, 422 for an invalid value or a provider
the host has not connected, 429 past the per-booking edit limit, 502 when a
new meeting room could not be created (nothing is changed then).

## Path parameters

- `booking_uid` string, required: Booking UID (uuid string).

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- UpdateLocationRequest: Change a booking's location and/or conferencing. Send only the field you change: an omitted field is left as is, and ``null`` clears it. ``selected_location`` is a physical, phone or custom location; ``selected_conferencing`` is a meeting link or a conferencing app (a new meeting room is created for zoom, roam_auto, ms_teams and google_meet). ``location`` is deprecated: a plain address, kept for older clients.
  - `selected_location` LocationItem: A single location option on an event type.
    - `kind` 'in_person_host' | 'in_person_attendee' | 'phone_host' | 'phone_attendee' | 'link' | 'conferencing' | 'custom', required: Rich location types for event types.
    - `address` string, nullable
    - `link` string, nullable
    - `phone` string, nullable
    - `provider` string, nullable
    - `display_label` string, nullable
    - `public` boolean
  - `selected_conferencing` LocationItem: A single location option on an event type.
    - `kind` 'in_person_host' | 'in_person_attendee' | 'phone_host' | 'phone_attendee' | 'link' | 'conferencing' | 'custom', required: Rich location types for event types.
    - `address` string, nullable
    - `link` string, nullable
    - `phone` string, nullable
    - `provider` string, nullable
    - `display_label` string, nullable
    - `public` boolean
  - `notify_attendees` boolean
  - `location` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
