Skip to main content

Booking Feed

The booking feed displays external booking data alongside the roster grid so supervisors can make informed staffing decisions. Bookings from systems like Planyo or Sessiq appear as context while planning shifts -- they are not converted into shifts automatically.

How It Works​

  1. An external booking system sends a webhook to Vuoro when a booking is confirmed, changed, or cancelled.
  2. Vuoro drops bookings excluded by your title filters, stores the rest, and maps each to a location using configured source mappings.
  3. Supervisors see the bookings on the roster grid while planning shifts. Changed bookings show their new details; cancelled bookings disappear.
External System → Webhook → Vuoro → Roster Grid

Setting Up a Booking Source​

1. Get Your Webhook URL​

  1. Navigate to Settings > Booking Sources.
  2. Your webhook URL and secret are shown in the Webhook Configuration section.
  3. Copy the URL and secret -- you will need both to configure the external system.

2. Configure Source Mappings​

Source mappings connect site identifiers in the external system to Vuoro locations.

  1. In the Source Mappings section, click Add mapping.
  2. Enter the Source name (e.g., "planyo").
  3. Enter the External site ID -- the identifier the external system uses for a particular site.
  4. Select the corresponding Vuoro location.
  5. Click Save.

Repeat for each site. If a booking arrives for an unmapped site, it is stored but not shown on the roster grid. A warning banner appears in settings showing how many bookings are unmapped, and the Unmapped bookings list lets you create the missing mapping with one click (Map this).

3. (Optional) Filter Out Noise​

If the booking system sends every ticket sale, add Allowed booking terms or Excluded booking terms so only the bookings that matter for staffing reach the grid. See Booking Sources → Filtering Incoming Bookings.

4. Configure the External System​

In your booking system, set up a webhook that sends a POST request to your Vuoro webhook URL when a booking is created, changed, or cancelled. For Planyo, use the Planyo URL. Other systems (such as Sessiq) use the generic Webhook URL and must include the X-Webhook-Signature header.

Expected payload format:

FieldRequiredDescription
sourceYesSystem identifier (e.g., "planyo")
externalIdYesUnique booking ID in the external system
externalSiteIdYesSite identifier to map to a Vuoro location
titleYesBooking description
customerNameNoCustomer name
startsAtYesStart time (ISO 8601)
endsAtNoEnd time (ISO 8601)
notesNoAdditional notes
statusNoactive (default) or cancelled
addOnsNoFull list of add-ons, e.g. [{ "name": "Pizza", "quantity": 12 }]

Sending the same source + externalId again updates the existing booking rather than creating a duplicate.

Webhook security: The request must include an X-Webhook-Signature header containing an HMAC-SHA256 signature of the JSON body, in the format sha256=<hex>. Use the webhook secret shown in settings as the HMAC key.

Viewing Bookings on the Roster Grid​

When bookings exist for a location and date range, a Bookings row appears at the top of the roster grid, above the open shifts row. Each day cell shows the bookings for that day:

  • Time and title are shown for each booking.
  • Click a booking to see its full time range, customer name, add-ons (with quantities), and notes.
  • Tick Handled in the booking's details once you have planned staffing for it. Handled bookings are shown greyed out and struck through with a check mark, so the team can see at a glance which bookings still need attention. If the booking's time, site or add-ons later change in the booking system, the tick is cleared automatically so someone reviews it again.
  • Copy to shift notes: in the booking's details, pick a shift from the list and click Copy to shift notes. The list shows that day's shifts at the location, with shifts that overlap the booking's time first. Vuoro adds the booking's time, title, customer and add-ons to the end of the shift's notes, and ticks Handled. The booking's own notes are not copied, because they can contain prices and employees can see shift notes. The details then show which shift the booking was copied to. Copying again adds the text again. If the day has no shifts yet, add one first. If the shift's notes would go over 1000 characters, shorten them first.
  • Days with no bookings show nothing -- no visual clutter.

The bookings row only appears when there are bookings for the visible week. Supervisors use this information to decide staffing levels while creating shifts below.

Regenerating the Webhook Secret​

If the webhook secret is compromised:

  1. Go to Settings > Booking Sources.
  2. Click Regenerate Secret.
  3. Update the secret in the external booking system.

The old secret is immediately invalidated.

Permissions​

ActionRoles
View bookings on roster gridSupervisors, managers, company admins
Mark a booking handledSupervisors, managers, company admins
Copy a booking to shift notesSupervisors, managers, company admins (own locations)
Manage source mappings and title filtersCompany admins
View/regenerate webhook credentialsCompany admins