Rentals integration
BookingSync
- CategoryRentals
- AuthOAuth
- Scopes3
Overview
BookingSync (Smily) is supported by MessageMind's rental tools for read-only stay availability and exact-stay pricing. The server provides an OAuth connect route and callback, and the dashboard includes a BookingSync connect handler, although the standard integrations catalog does not currently list a BookingSync card. Availability on a particular account should be confirmed with MessageMind support. Once a valid connection is configured, the tools use BookingSync rental calendars, stay rules and live quotes; they do not create or modify reservations.
What MessageMind can do with it
- Read rental availability and change-over rules for a requested property and date range.
- Read minimum-stay rules and ask BookingSync for a live quote for the exact dates and party.
- Use the shared PMS tool configuration to enable availability and pricing for the connected account.
- Complete the server OAuth connect and callback flow with a validated state and a per-account token grant.
Requirements
- A BookingSync (Smily) account that can authorize the MessageMind OAuth application.
- A MessageMind deployment with BookingSync OAuth client credentials and the correct callback configured.
- An enabled connection path for the account. If BookingSync is not visible in the dashboard, ask support to confirm availability; the existence of a server handler is not a guarantee of self-serve enablement.
- No different PMS already active on the account, except where an existing BookingSync connection is being reconnected.
How to connect
- Confirm with MessageMind support whether BookingSync is enabled for your account when no card appears in /integrations.
- Use the account's enabled connection flow to open BookingSync authorization. The server initiates this through /integration/booksync/connect and receives /integration/booksync/callback; do not paste account credentials into the chat.
- Approve the requested BookingSync access. The callback validates the state, stores the token grant and returns to the integrations screen.
- After connecting, check the selected property and rental-tool settings and test availability and a price for exact stay dates.
Authentication and permissions
- Mechanism
- BookingSync OAuth2 authorization-code flow. The server mints an anti-forgery state token via generateState (features/integrations/bookingSync/bookingSync.utils.mjs), BookingSync redirects back with code and state, and bookingSyncCallbackController (controllers/v1/integration.controller.mjs) delegates to integrationService.bookingSyncOAuthCallback to exchange the code for tokens and persist the grant.
- Credentials
- The OAuth2 grant obtained at callback. The BookingSync client id and secret live on the MessageMind server; the per-tenant tokens are stored against the connected account.
Required scopes
publicrentals_readbookings_read
Available data and actions
Reads
- Rental names and calendars, including availability and change-over rules.
- Minimum-stay restrictions for the requested dates.
- Live BookingSync search results for the exact dates and guest party, used for the stay quote.
AI agent use cases
- Answer whether a BookingSync-managed rental is available for the requested dates.
- Quote a stay for specific dates and a party using BookingSync's live search response.
Configuration
- The BookingSync OAuth client id, client secret and callback URL are server-side configuration; a deployment without them cannot complete the callback.
- The AI-tools adapter advertises BookingSync's reads through the shared manifest; a tenant without a BookingSync grant simply does not see those tools resolve for their account.
- Availability and pricing are supported; booking links, reservation lookup and stay changes are not exposed by the current BookingSync rental-tool manifest.
Example workflows
OAuth2 callback
- An enabled account connection starts the server OAuth authorization route with a signed state for that account.
- BookingSync redirects back to the MessageMind callback route wired to bookingSyncCallbackController.
- The controller delegates to integrationService.bookingSyncOAuthCallback, which validates the state, exchanges the code for tokens, and persists the grant against the account.
- After the callback saves the grant, configured rental tools can read availability and exact-stay pricing.
Limitations
- The current standard dashboard catalog does not list BookingSync, even though a connect handler and server OAuth routes exist. Confirm account availability with support.
- The current rental tools are read-only: availability and exact-stay pricing are supported; reservation creation/changes, guest messaging and booking-link generation are not exposed by this adapter.
- A different active PMS blocks a new BookingSync connection under the one-PMS-per-account rule; reconnecting an already-active BookingSync connection remains permitted.
- The API budget is shared across connected accounts. Rate limiting or an invalid OAuth grant can prevent a live availability or pricing answer.
Troubleshooting
A tenant cannot find BookingSync on /integrations.
The standard integrations catalog currently omits BookingSync. Ask support to confirm whether a connection path is enabled for your account; no automatic support-run installation is promised by this guide.
The BookingSync OAuth round trip fails at the callback.
The callback is bookingSyncCallbackController, which delegates to integrationService.bookingSyncOAuthCallback. A failure here points to a mismatched state (regenerate via generateState and retry), a BookingSync-side rejection of the code, or missing BookingSync client credentials on the server.
The AI does not quote BookingSync availability for a connected account.
Confirm the OAuth grant was persisted at the callback and that the stayAvailability reader resolves for the tenant; the AI-tools adapter only exposes BookingSync tools once the grant is on the account.
Disconnect and reconnect
- If an enabled BookingSync connection is not exposed in your dashboard controls, contact support about disconnecting it. Revoke the MessageMind application in BookingSync when you want to stop its access.
- Removing authorization stops future live reads; it does not create, cancel or alter a BookingSync reservation.