Direct Booking Plugin

Implementation Guide

For developers and agencies building or redesigning a website for an accommodation operator who uses Guesty. It covers what the plugin does, the three ways to present a property, the full set of shortcodes, the hooks and template overrides available to you, and the things worth checking before you design against it. Where a capability is not built in today it is marked so you never design against something before it exists.

About the Direct Booking Plugin →

Current as at 10 August 2026. Most of this guide covers the WordPress plugin. For Squarespace, Wix and Webflow see section 20.

01What it does

The plugin pulls live property data, availability and pricing from Guesty. The static content, photos, description, amenities, location and from-price, syncs into WordPress and renders as native HTML on your own pages. The live quote and the search are real time. There is no iframe and nothing to maintain by hand.

The plugin is enabled with the operator's own per-organisation Guesty API credentials, which we set up. Until those are in place it is installed but inactive. Once connected, the listings pull in.

02How it works

Each property becomes a real WordPress post under a custom post type, with a permanent URL and server-rendered HTML. The factual content arrives from a scheduled sync, and only the price quote and search run live in the browser. That means the pages behave like any native WordPress page for SEO, caching and speed, while availability and pricing stay current.

The URL base for plugin-built property pages is yours to set, so the pages can sit inside a hierarchy you already use rather than at a path that announces a booking plugin. Goodwins Real Estate in Auckland run theirs under their existing executive rentals structure.

03Three ways to present a property

Option 1 — the plugin builds and owns the page

Leave the default on and the plugin creates and maintains a page for every listing. Lowest effort, no template work. You can switch sections off and restyle it without touching code.

By default the page shows the title, the photo gallery, the specs and the live booking panel. Beneath that come an About this stay block that opens with the property summary then Guesty's 'the space' copy, the amenities, the location map and neighbourhood, then any video, a good to know block with the host note, then guest reviews and, if enabled, a row of similar properties. Each of those sections can be switched off under Properties, then Settings, then Sections. Two Guesty fields are off by default and switched on in the same place when you want them: the Guesty notes and the house rules. The video is the one section that is not Guesty data: paste a YouTube link on the listing in WordPress and it appears between the map and good to know, with no link meaning no video.

Option 2 — the plugin's page, restructured by you

Between the two extremes. Keep the plugin-owned page but reorder or replace the sections through the developer surface in section 09, or override a template from your theme. You get the plugin's page lifecycle without being stuck with its section order. This is the route most agencies want and it did not exist in earlier versions of this guide.

Option 3 — you build the page yourself

The route for a full custom design. You build the page however you like, attach the live listing to it, and the plugin syncs the Guesty content onto that page and renders each piece through a shortcode you place. Your markup, layout and photos are never touched. The content blocks render server side, so the description, amenities and the rest sit in the page source for SEO, and the data comes from the sync, so there is nothing to upload by hand.

All three models can run on the same site. Let the plugin own the simple listings and hand-build the hero properties.

04Requirements and compatibility

The plugin runs on a current WordPress site. Because it is centrally maintained, it is kept in step with WordPress releases, so you are not chasing compatibility. The content blocks are standard shortcodes and Gutenberg blocks, so they work in the block editor and in any page builder that renders shortcodes. We confirm the exact environment, including the PHP version, when we connect your site.

If the operator is not on WordPress, the same booking experience is delivered a different way. See section 20.

05Installation and updates

The plugin is not distributed through the public WordPress directory. We provide it directly and connect it to your Guesty account. Updates are delivered automatically from our maintained release channel, so it stays current without manual reinstalls, and a fix reaches every site we look after at once.

06Connecting your site

The live search and quote only answer requests from approved domains. Send us your production domain and any staging or preview domains up front and we register them. A domain that is not on the list returns no search results or quotes, so this is the first thing to sort on any new environment.

Switching a listing to your own page

  • Go to Properties, then Settings, then the Connection tab. Under Listing pages, untick Create a property page for each Guesty listing. That switches the plugin to adopt mode. It only stops new pages being created and changes nothing that already exists.
  • Build or redesign the listing page however you want, on any post type. You can do this later, you just need the record type to exist.
  • Go to Properties, then Match listings, and attach the live listing to that page. This binds the page to the property without altering your content.
  • Run a sync from Properties, then Settings, then Sync now. That pulls the Guesty content onto the matched page.
  • Drop the tags where you want each piece.

Matching attaches the Guesty connection to your existing post and leaves it in place. It never migrates the page or creates a second one, so a property never ends up with two competing pages.

07Shortcodes and blocks

You do not have to hand-type any of this. The admin carries a shortcode builder under Booking Engine, then Shortcode builder. Pick the block, set the options from real checkbox lists built from the operator's own synced areas, tags and amenities, and copy the finished shortcode. It only writes the attributes you actually changed, so you get a clean tag rather than a wall of defaults. The reference below is for reading someone else's markup and for knowing what is possible.

Content blocks

Each reads the listing attached to the current page and renders server side from the synced data, so it sits in the page source.

  • [tac_title] the property title
  • [tac_gallery] the photo gallery
  • [tac_price] the from-price per night
  • [tac_specs] bedrooms, bathrooms and capacity
  • [tac_description] the property summary and description
  • [tac_space] Guesty's 'the space' detail, shown beneath the summary
  • [tac_amenities] the amenities list
  • [tac_map] the location map
  • [tac_notes] the Guesty notes, off by default in the plugin layout
  • [tac_house_rules] the house rules, off by default in the plugin layout
  • [tac_callouts] the listing's call-out pills, where the operator has marked tags as call-outs
  • [tac_video] a YouTube video for the listing, set in WordPress and not in Guesty. On a listing page it reads the saved link; on any page you can pass one with [tac_video url="https://youtu.be/..."]

Live blocks

  • [tac_quote] the booking box: dates, guests, a live price breakdown and the reserve button. No attributes, reads the current page's listing.
  • [tac_reviews] guest reviews. No attributes, hides itself if there are none.
  • [tac_calendar] an availability calendar. Optional months (defaults to 2) and an optional listing by ID.

Search bar styles

The search page ships with an extended bar by default: Where, dates and a Guests and rooms popup that carries guest, bedroom and bathroom steppers, where bedrooms and bathrooms are a minimum and Any means no filter, plus up to five tag toggles with operator-set wording, so a tag like pet friendly can read Travelling with pets. A simpler single-row bar is available as the alternative under Properties, then Settings, then Tags, then Search bar style.

Standalone search bar

[tac_searchbar] places the search bar on its own, with no results grid, for a home page or a hero section. The guest sets where, dates and guests, and on Search the bar sends them to your results page with those choices carried in the URL, where the full [tac_search] grid opens already filtered. By default it points at your configured search page. Send it somewhere specific with target, and pre-set an area with suburb.

[tac_searchbar target="/find-a-stay" suburb="Bondi"]

Index, landing and showcase pages

[tac_search] is the search and results grid. Use show="all" or show="available". For landing pages, pre-filter with suburb, amenities (comma separated), tags (comma separated) and lock="true" to fix the filters.

[tac_search tags="pet friendly" suburb="Bondi" lock="true"]

With lock on, the filter is permanent and the locked controls are hidden, which suits a fixed page like a pet-friendly or single-suburb page. Without lock, it is a starting point the guest can change. Amenity and tag values must match the actual strings in the operator's Guesty data, which Guesty does not name consistently, so set the block to the real values found across the synced listings. Tag matching is not case sensitive. The suburb value can be a single suburb or the name of a suburb group the operator has set up under Areas, in which case it matches every suburb in that group.

[tac_grid] shows the results grid on its own, with no search bar and no filter controls, for a showcase page that presents a fixed set of properties without letting the guest search on dates. It takes the same suburb, amenities and tags pre-filters, plus max to cap how many show and order, which is random by default or first for feed order. When more match than the cap, a random set is drawn on each load.

[tac_grid tags="pet friendly" max="6"]

[tac_collection] renders a defined collection of properties, scoped by a single Guesty tag through its tag attribute. Use it for a curated set that lives on its own page, a corporate portfolio, a seasonal collection, or a group of properties you send guests to directly rather than surfacing in the main search. It takes suburb and amenities as further pre-filters, and the same card and sort options below.

[tac_collection tag="corporate"]

Matching several values at once

suburb accepts multiple comma-separated values, and group names expand to their member suburbs. Three attributes control how multiple values combine: suburb_match, amenities_match and tags_match, each any or all. Suburb defaults to any, because a property sits in one suburb and requiring all of them would return nothing. Amenities and tags default to all, which is the long-standing behaviour, so nothing changes unless you ask for it. [tac_search] and [tac_grid] take all three; [tac_collection] takes suburb and amenities, since its tag is the collection scope rather than a filter.

[tac_grid suburb="Bondi,Bronte,Coogee" amenities="pool,pets" amenities_match="any"]

Sorting

A guest-facing sort control sits above the results: Price low to high, Price high to low, and Name A to Z. It is on by default for [tac_search] and off by default for [tac_grid] and [tac_collection], switched either way with sort_ui="true" or sort_ui="false". The first option reads Recommended only where the operator has deliberately set an order on the block, and Default otherwise, since raw feed order is not a recommendation.

Choosing the map view

The results can show as cards, as a full map, or as a split view with the map beside the results. Set which of those a page offers with map, taking all, split, full or off, and set which one the page opens on with view, taking cards, split or full. With map="all" the guest gets a switch between the three. With anything else the page is locked to the one view and no switch is drawn. See section 12 for how each view behaves.

[tac_search map="all" view="split"]

A button on each card

[tac_search], [tac_grid] and [tac_collection] take an optional cta="true" that adds a button to every result card, sitting next to the price. The whole card is already clickable, so the button is off by default and there for layouts where an explicit button reads better. Set its wording with cta_label, which defaults to View. The button inherits your brand colour and button style, so it matches the rest of the site.

[tac_grid tags="featured" cta="true" cta_label="View stay"]

Block equivalents exist for the search grid and calendar, tac/booking-search and tac/booking-calendar, if blocks are easier than shortcodes.

08Theming and styling

The components inherit your site fonts and colours by default, so they blend with your CSS out of the box. To override anything, every colour, font, corner radius and button style is exposed under Properties, then Settings, then Look & feel. Each field is blank by default, which means inherit, so you only set what you want to change. The plugin's styles are scoped to their own classes, so they do not bleed into the rest of the site, and it only loads its CSS and JS on pages that carry one of the tags or a matched listing.

CSS variables and the Custom CSS box

The components are driven by CSS variables declared on the plugin's own root element, so a brand change is a value change rather than a rewrite. Look & feel also carries a Custom CSS box with a variable reference and a class list beside it, which is the supported way to push past the settings without forking anything. Scope what you write to the plugin's root so it cannot leak into the rest of the site. One thing to know before you plan a dark treatment: a small number of surfaces, mainly the search bar, pills, calendar and review card, are still fixed white rather than variable-driven, so a dark theme needs those overridden by hand today.

Spec row as icons

Under Look & feel, the beds, baths and guests row can render as icons instead of words. It applies everywhere the spec row appears, on search cards, in the split view, on the property spec bar and in map popups, and the icons inherit the surrounding text colour. Off by default.

Custom WordPress blocks can sit between the plugin's shortcodes on a property page. Once the page is matched, each shortcode renders its piece and you can place whatever you like around them, a brief-us CTA, a related-properties carousel, an editorial block.

09Extending the plugin

There are three levels of control, and you should pick the lowest one that gets you there. Settings first, then the CSS box, then the developer surface below. The point of all of it is that you never need to fork the plugin, because a fork stops receiving updates.

Template overrides

Any plugin template can be overridden from your theme by placing a file at /tac-booking-engine/{name} in the theme. The plugin resolves your version first and falls back to its own. Each template carries a version handshake, so when the plugin ships a change to a template you have overridden, an admin notice tells you the override has gone stale rather than letting it drift silently.

Filters

  • tacbe_property_sections the ordered list of main-column sections on a property page, keyed by slug: about, availability, amenities, neighbourhood, video, goodtoknow and house-rules. This is how you reorder, remove or inject sections on the plugin-owned page.
  • tacbe_property_html the rendered property markup, for a final pass over the whole page.
  • tacbe_config the configuration handed to the front end.
  • tacbe_load_default_css switch the plugin's own stylesheet off entirely and style it yourself.
  • tacbe_should_enqueue take control of which pages load the assets.
  • tacbe_template_locations and tacbe_template_path change where templates are resolved from.

Actions

  • tacbe_enqueue_assets add your own CSS or JS alongside the plugin's.
  • tacbe_before_property and tacbe_after_property wrap the property page.
  • tacbe_before_section and tacbe_after_section wrap any individual section.

Cards are rendered in the browser rather than in PHP, so there is no server-side filter for card markup. Style them through the variables and the CSS box.

10Booking patterns

  • Instant Book or Request to Book Built in
    Whichever the operator has set in Guesty. The plugin follows the Guesty setting rather than imposing a mode. The reserve button hands the guest to the Guesty hosted checkout, which runs whatever mode Guesty is set to: an instant booking, or a request to book with the card captured and no charge until the operator confirms.
  • Enquiry on every listing Built in Tag-driven enquiry-only on the roadmap
    With enquiries turned on, an Enquire about this property button sits beneath the booking box on every listing and opens an inline enquiry form on demand, whatever the availability. The form takes the guest's name, email and phone and an optional message, and carries through the dates they had chosen. It also stands in automatically when a property has no availability for the chosen dates, and before the operator's Guesty account is connected. Driving a chosen listing into enquiry-only mode from a Guesty tag, with the calendar suppressed, is on the roadmap.
  • Reserve and enquire together Built in
    A listing can show both at once: the reserve button for a live booking, and an Enquire about this property button directly beneath it, so a guest who is not ready to book can still get in touch on the same page.
  • Enquiry delivery Built in
    Enquiries reach the operator through our own delivery service, so they arrive reliably with no mail server or SMTP setup on the operator's site. Each message leads with the property name and the page it came from, so the operator always knows which listing it relates to, and replies go straight back to the guest. We provide a delivery key that goes in Properties, then Settings, then Enquiries, and the operator sets the address enquiries are sent to.
  • Similar properties Built in
    A row of similar stays can sit at the foot of every property page, below the reviews. Set how many to show and the priority order of the criteria, same area, shared tags, shared amenities and random, each of which can be turned off. It uses the same card as the search results, so it matches the rest of the site by construction, and it keeps a guest who is not sold on one property inside your site.
  • Hidden or by-invitation listings Built in
    Listings carrying a nominated tag can be kept out of the public search while their pages stay reachable by direct link, which is how an invitation-only or corporate property is handled. Pair it with [tac_collection] to give that set a page of its own. To keep listings off the site entirely, by tag, see Exclude tags under Tags and filtering.

11Guesty tags and filtering

  • Tag-driven search filters Built in
    The plugin pulls Guesty tags and keeps them fresh on the daily sync. The operator chooses which tags appear as filters, and guests see them alongside amenities as one combined Filters set, so there is no tag-versus-amenity distinction on the front end.
  • Call-out tags Built in
    Mark tags as call-outs and give each a colour. They show as a pill on the search card, up to two, and in the property header, all of them, with the text colour set automatically for contrast. [tac_callouts] places a listing's call-outs anywhere on a custom page.
  • Bedroom and bathroom filters Built in
    The extended search bar lets guests set a minimum number of bedrooms and bathrooms in the Guests and rooms popup, alongside the tag toggles.
  • Exclude tags from the site Built in
    List tags under Properties, then Settings, then Connection to keep matching listings out of the site entirely, which is how a second brand sharing one Guesty account is kept off. A listing already imported that later gains an excluded tag is flagged for review rather than deleted.
  • Locked filtered pages Built in
    Pre-set tags and amenities into a locked search block, or use the grid shortcode, to build fixed filtered pages, for example long-term versus short-term, or a themed landing page. Sub-groups on a single page, such as waterfront, executive and family within one suburb, can be built by locking different tag combinations into separate blocks.
  • Featured property sets Built in
    Drive a featured or themed set of properties from a tag with the grid shortcode, for example [tac_grid tags="featured"]. Deal or offer labels are handled by the call-out tags above.
  • Live pricing and promotions on search Built in
    When a guest searches on dates, each card shows the real all-in price per night including fees, and any Guesty promotion that applies to those dates shows as a struck original price with a small Save badge naming the offer. It reads live from Guesty, so it always matches the property page. Switch it off under Properties, then Settings, then Behaviour. The badge colour is set under Look and feel.
  • Special offers filter Built in
    With dates set, a Special offers toggle in the Filters narrows the grid to only the stays that carry a promotion for those dates. It is greyed until dates are chosen, since an offer only exists against specific dates.
  • Suburb grouping Built in
    Guesty splits an area into separate suburbs from the address, for example Bondi, North Bondi and Bondi Junction. Group them under one guest-facing name under Properties, then Settings, then Areas, and the group appears in the Where picker and the neighbourhood pills, returning every listing in any member suburb. Each group can also keep showing its suburbs individually, or fold them in. A group name works as the suburb value in a locked [tac_search] block, so you can build a fixed page for a whole area.

12Maps, location and privacy

The three search views

Search results can be shown as cards, as a full-width map, or as a split view with a sticky map on the left and the results scrolling on the right. In the split view, hovering a property lights up its price pin and hovering a pin lights up its card, and clicking a pin scrolls to the property. Pins carry the brand colour rather than the map being recoloured, so the map stays readable. On a phone, the split and full views collapse to a card list with a floating Map button that opens the map full screen. Which views a page offers is set per page with the map and view attributes in section 07, or site-wide under Properties, then Settings, then Maps.

  • Maps Built in
    An interactive map ships by default on the free OpenStreetMap base, with no key and no cost. Add a Google Maps API key to switch to Google, with basic in-plugin controls to hide points of interest, hide transit and mute the palette, or paste a Google cloud Map ID to apply a fully custom style built in the Google console. Google is a paid Google product, billed per map load above a free monthly allowance, and the key should be restricted to your live and test domains. The hover link between card and pin in the split view is built for the free map; on Google the pins, popups and click-to-scroll all work and the hover highlight degrades gracefully.
  • Default zoom Built in
    Set how close in the property map opens, on both the free and Google maps, under Properties, then Settings, then Maps.
  • Location privacy Built in
    Turn on approximate location and the property map shows a shaded circle instead of a pin, with a radius, colour and opacity you set and the operator logo in the centre. The centre is shifted on the server, so the exact coordinates never reach the page. It carries to the search map too, where the pins sit approximately rather than on the exact address. Because the map sits on a light background, the circle takes its own logo upload, set under Maps, rather than reusing a search logo built for a dark background.
  • Map off Built in
    Use map="off" on the search block, or on a build-your-own page simply leave [tac_map] off the template.

13Reviews

The plugin pulls reviews from the Guesty API, with moderation, and the block auto-hides on any property with none. Reviews cannot be hard-coded per property, they need to be in Guesty.

Reviews render as HTML, not as Review or AggregateRating structured data. Because the pages are real server-side HTML the markup can be added to the template, but it is not generated out of the box and is treated as defined work.

14SEO and crawlability

  • Render model. Server rendered. Each plugin-built property is a real WordPress post, output as HTML, so it sits in your XML sitemap and is indexed like any page. The URL base is yours to set. The only client-side call is the live quote, which loads after the page paints and does not affect crawlability. On a build-your-own page you have full control of the markup.
  • Meta and social. Per-property meta titles, descriptions, canonical tags and Open Graph are handled by your site SEO plugin, such as Yoast, which reads the property pages like any other post.
  • Image SEO. Image alt text is generated from the listing title and suburb on import.
  • Schema markup. RealEstateListing, Product, AggregateRating, Review, BreadcrumbList and ImageObject are not emitted out of the box. The pages carry the structured fields, so this markup can be added to the templates as defined work.
  • Preserving existing URLs. On the build-your-own model the plugin attaches to your existing property post, leaving its URL and content in place, so established SEO equity is kept. It never creates a second page for a property that already exists.
  • Removed properties. When a property is delisted in Guesty the plugin flags it for review rather than deleting or unpublishing it, and you set a 301 redirect target on the retired page, for example to its suburb page or a comparable home.
  • Landing pages. Build a normal, fully indexable WordPress page and drop in a filtered search block, so a suburb or a theme becomes a real page that can rank.

15Photos and content migration

The plugin pulls photos from Guesty into your WordPress media library, best for SEO and speed, keyed so the daily sync does not re-download them and so the same image shared across listings is stored once rather than many times. Hotlinking from Guesty is an option. On a page you have already built you can keep your own photography, replace it with Guesty's, or run both, and you can add extra photos and videos the sync never overwrites.

The plugin reads whatever is in Guesty, so photos need to live in Guesty first. Moving them from a previous system into Guesty is part of the property management migration rather than something the plugin does. Once they are in Guesty the plugin brings them across automatically.

16Booking flow and payment

The plugin's scope ends at the reserve CTA on the property detail page. The rest of the flow runs on Guesty.

  • Booking mode. Instant Book or Request to Book is whatever the operator has set in Guesty. The plugin reflects it, it does not set it.
  • Payment. Card capture and payment run through the operator's own payment setup inside Guesty. The payment is handled by Guesty, not by the plugin.
  • End to end. On the property page the plugin handles date selection and a live quote including fees. The reserve button hands the guest to the Guesty hosted checkout for guest details, terms, payment or card capture, and confirmation. Whether that is an instant charge or a card captured with no charge until the operator confirms is set in Guesty.
  • Confirmation. The confirmation page is handled by the Guesty booking engine. The confirmation email is branded to the operator through their Guesty account templates.
  • A fully branded, end-to-end checkout in a custom design system means building a custom checkout rather than using the hosted page. That is a defined, separate piece of work, and it is something we are actively building towards. If it is on your critical path, ask us where it stands rather than assuming either way.

17Analytics

You can run Google Analytics 4 on the site as normal, alongside the plugin. Richer in-funnel tracking, search and reserve events and conversion measurement, is part of our analytics work rather than something the plugin emits today, so treat it as defined work if you need it. Note that the checkout completes on Guesty, so full end-to-end conversion tracking spans the two domains.

18Performance, caching and security

  • Page load. Each property is its own static WordPress post with images served from the media library, not hotlinked, so individual page load is the same as any native WordPress page and does not degrade as the portfolio grows. The only live element is the quote, which loads asynchronously.
  • Caching and CDN. The static property pages can be cached and served through a CDN like any WordPress page. The live availability and quote are never cached, so prices and dates are always current even behind a page cache. Plugin assets are versioned on the enqueue, so a caching layer that keys on the query string refreshes on release; one that strips query strings needs a manual purge after an update.
  • Security. The operator's Guesty credentials are held by us and never stored in WordPress. The site talks to a single secured endpoint, so there are no API keys sitting in the WordPress database or theme.

19Working alongside a custom WordPress site

  • Coexistence. The plugin only governs the property pages and the blocks you place. Service pages, blog, about and owner content are standard WordPress and untouched.
  • CSS. The plugin's styles are scoped to their own classes, fonts inherit from your theme and colours are set in the plugin, so it unifies with a design system without bleeding into the rest of the site.
  • Components inside your own template. You can go further than adopting a page. An agency can keep its own single-property template and place only the booking components inside it, so the page is entirely theirs and the availability, quote, amenities and map are ours. Goodwins Real Estate in Auckland run their short-stay properties this way, inside the same page design as the rest of their agency site.
  • Recommended split. The plugin for the property and booking side, your team for the rest of the site. The right split depends on the end result you want.

20If the operator is not on WordPress

The booking engine is not WordPress-only. On Squarespace, Wix, Webflow or any platform that lets you add a block of code to a page, the same search, availability and live quote are delivered as code blocks placed on the pages the operator already has.

The model is deliberately different from the WordPress one. We create nothing and replace nothing. Their pages, URLs, navigation, design and content all stay exactly as they are, and the booking parts are added inside them. In practice that is three placements: a search bar on the home page, a search and results grid on the stays page, and availability with a live quote on each property page.

Two things follow from that model and are worth knowing before you plan a build. Each Guesty listing is mapped to the page it already has on the operator's site, so search results link to their real property pages rather than to anything we generate. And because their pages already exist and already rank, no sitemap, canonical or structured data work is in scope. We are adding behaviour to pages that already work.

Sun Haven Collection run ten homes across Florida and Arizona this way on Squarespace. As with WordPress, the domains have to be registered with us before the search and quote will answer, so send us production and staging up front.

21Support and maintenance

We maintain the plugin and apply updates and fixes as part of the service. When Guesty notifies us of upcoming changes we update the plugin in advance to avoid downtime. Issues are reported to us directly and response times run from when you report them: within one working day for anything that stops bookings, and within seven working days for everything else. The support arrangement and any service credit sit in the operator's service agreement.

22Roadmap and custom development

The plugin is a live product that we extend continuously. Some capabilities are planned, and others we build as scoped custom work for a specific site, for example listing and review schema markup, tag-driven enquiry-only listings, in-funnel analytics events, full variable coverage for dark themes, and a fully branded custom checkout. If one of these is on your critical path, tell us and we will confirm where it sits and what it would take.

23Getting started

The path onto the plugin is short. We have a quick setup call, connect your Guesty account, register your production and staging domains, run the first sync, and you build from there. For the product overview, see the Direct Booking Plugin page.

Get in touch

Talk to us about your build

Tell us about the site you are building and we will get you connected. If you would rather talk it through, book a call and we will walk you through the plugin.