canonical: https://jentic.com/apis/bookingsync.com/bookingsync

# Bookingsync Smily (BookingSync) API

Jentic publishes the only available OpenAPI specification for Smily (BookingSync) API, keeping it validated and agent-ready. Smily, formerly BookingSync, is a vacation rental property management platform used by short-term rental managers to centralise their inventory, bookings, rates, and channel distribution. The API follows REST principles and uses OAuth 2.0 authentication. Use it to manage rental property records, create and retrieve bookings, list rates, and check availability across a portfolio of properties.

## For AI agents

Manage vacation rental properties, create and list bookings, and check rates and availability through the Smily (BookingSync) API.

## Scope

Does not handle hotel inventory, payment capture, or guest messaging - use for Smily (BookingSync) vacation rental and booking management only.

## Capabilities

- List and update rental properties managed in Smily
- Create a new rental property record with photos, amenities, and pricing
- Create a booking against a rental for a specific guest and date range
- Retrieve a booking by ID to inspect status, dates, and guest information
- List configured rates across the rental portfolio for revenue management
- Check availability across rentals to power a search-and-book experience

## Use cases

### Channel-Manager Booking Sync

Push bookings created on a marketplace channel into Smily so the property's calendar stays current and double-bookings are avoided. POST /bookings creates the reservation against the matching rental, and GET /availability confirms the dates were free before insertion. Removes the manual reconciliation work that property managers do across booking sites.

Example prompt: POST /bookings with rental_id 9921, start_date 2026-08-12, end_date 2026-08-19, and guest_name 'Pereira'

### Rental Inventory Onboarding

Onboard a new vacation rental into Smily by creating the rental record with location, photos, amenities, and base rate, then updating it as content evolves. POST /rentals creates the listing and PUT /rentals/{id} amends it. Useful for property management companies adding new properties without using the Smily UI.

Example prompt: POST /rentals with name 'Lisbon Beach Studio', bedrooms 1, base_rate 95 EUR per night

### Revenue Management Dashboard

Pull rates and bookings into a revenue management dashboard so a property manager can see occupancy and ADR across the portfolio. GET /rates and GET /bookings return the data, and GET /availability confirms which dates remain open. Used by short-term rental operators that want analytics outside the Smily UI.

Example prompt: GET /rates and /bookings for rental_id 9921, then compute the ADR for the next 90 days

### AI Agent Property Manager Assistant

An AI agent uses Jentic to discover Smily operations, creates bookings, updates rental content, and pulls availability on behalf of a property manager. The OAuth refresh token lives in your Jentic One instance so it never enters the agent's prompt. Replaces a multi-day OAuth integration with a single search-load-execute cycle per action.

Example prompt: Search Jentic for 'create a Smily booking', load the operation, and execute it for the chosen rental and dates

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /rentals | List rental properties |
| POST | /rentals | Create a rental property |
| PUT | /rentals/{id} | Update a rental property |
| POST | /bookings | Create a booking |
| GET | /bookings | List bookings |
| GET | /availability | Check availability |
| GET | /rates | List configured rates |

## Key resources

- **Accounts** — List the Smily accounts the token has access to
- **Rentals** — Create, list, retrieve, and update rental property records
- **Bookings** — Create and list bookings, and retrieve a booking by ID
- **Rates** — List configured rates across rentals
- **Availability** — Check availability across rentals for a date range

## Why Jentic

- **Setup:** Wiring the Smily (BookingSync) API by hand means running its OAuth2 flow, refreshing bearer tokens, and mapping the rental and booking endpoints yourself. Through Jentic you install once, import Smily from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Smily puts the rental id in the URL path (/rentals/{id}) while bookings and availability carry their data in the body and query, so a rule can pin your agent to updating a given rental, or you limit it to the operations it needs, such as listing rentals or reading availability. You choose that set, so creating a booking is not included unless you add it.
- **Credential handling:** Your Smily OAuth refresh token is stored once, encrypted, by your own Jentic One instance, which mints short-lived bearer tokens at execution time. The refresh token never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Smily rentals' or 'create a booking', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the BookingSync developer docs.

## Related APIs

- **Booking.com API** — Booking.com is a hotel marketplace; Smily (BookingSync) manages vacation rental supply.
- **Boast API** — Trigger a Boast testimonial request when a Smily stay completes.
- **Bokio API** — Sync Smily booking revenue into Bokio's accounting ledger for Swedish operators.

## FAQ

### Why is there no official OpenAPI spec for Smily (BookingSync) API?

Smily (BookingSync) does not publish an OpenAPI specification - its developer site documents the API as HTML reference. Jentic generates and maintains this spec so AI agents and developers can call Smily (BookingSync) API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Smily (BookingSync) API use?

Smily uses OAuth 2.0 authorization code flow at https://www.smily.com/oauth/authorize and /oauth/token. Through Jentic the refresh token is stored encrypted in the vault and the agent only ever sees a scoped, short-lived bearer.

### Can I create a booking against a rental with the Smily API?

Yes. POST /bookings with the rental_id, start_date, end_date, and guest details. Call GET /availability beforehand to confirm the dates are free for that rental.

### How do I onboard a new rental property through Jentic?

Search Jentic for 'create a Smily rental', load the POST /rentals operation, then execute it with the property name, location, and base rate. Update content later with PUT /rentals/{id}.

### What are the rate limits for the Smily (BookingSync) API?

Formal rate limits are not declared in this OpenAPI specification. Smily applies fair-use limits on the OAuth-authenticated endpoints - back off on HTTP 429 responses and avoid tight polling on /availability.

### Can I list all bookings for a property over a date range?

Yes. GET /bookings accepts query parameters for the rental and the date range. Combine with GET /rates for revenue analytics across the portfolio.

### Can I limit what my agent is allowed to do with the Smily (BookingSync) API?

Yes. Because you run Jentic One yourself, your own rules decide which Smily operations and credential the agent may use. You can allow it only read paths such as GET /rentals, GET /rates, and GET /availability, or pin it to updating one rental through PUT /rentals/{id} by matching the id in the URL path. Since you choose that set, creating a reservation with POST /bookings is not included unless you explicitly add it.
