Booking and operations platform

One console. A branded front for every location.

Turnhouse runs the operator side and the customer side of the same product. What an operator sets up in the console — services, capacity, pricing, staff — is what a customer sees on that location's own booking site, with no sync step in between.

Operator consoleHarbour Lane Studios
  • Service and route builder5 steps, validated one at a time
  • Capacity and calendarPer service, per location, per day
  • Pricing rulesResolution order is shown, not inferred
Harbour Lane StudiosCustomer-facing front
  • Harbour tour, 90 minutesfrom $34
  • Sunset sail, 3 hoursfrom $89
  • Private charteron request

The two surfaces

Built for the person who sets it up, and the person who books.

Two groups of people use this product and they never meet. The console is a working day; the front is four minutes. They read and write the same records.

Operator console

The console is where the work happens. An operator opens it in the morning and leaves it open.

Console

Service and route builder

Operators build what they sell on a map and a calendar rather than in a form, and see the shape of it before committing.

In practice5 steps, validated one at a time

Console

Capacity and calendar

How many can be sold, on which days, with the exceptions that make a real calendar different from a repeating rule.

In practicePer service, per location, per day

Console

Pricing rules

Season, group size, lead time and channel, resolved in a stated order so two rules cannot silently disagree.

In practiceResolution order is shown, not inferred

Everything in the console

Customer-facing front

Every connected location gets its own site. Same records, its own colors, its own domain.

Front

Search and booking

One search across everything a location offers, and a booking flow that works without an account.

In practiceNo account required to book

Front

Confirmation and tickets

The confirmation a customer keeps, in the format they will actually have on them on the day.

In practiceEmail and wallet pass from one record

Front

White-label front

Each location's site, in its own colors and on its own domain, from the same codebase.

In practiceOne codebase, one row per storefront

Everything the customer sees

The line between them

A price change is live before the tab closes.

There is no export, no nightly job and no publish button. The console writes to the same records the storefronts read from, so a rate edited at 09:14 is the rate a customer is quoted at 09:14.

  1. An operator edits in the console

    A service, a rate, a capacity rule, an opening hour.

  2. One data layer

    The record changes once. There is no second copy to fall behind.

  3. Every connected front

    Each location's site reads the new value on the next request.

Connections

Connects to what you already run.

Six of the most-used connections. The full directory says which way the data moves on each one.

  • Stripe

    Takes the payment at checkout and writes the settlement back against the booking, so a refund in the console is a refund at the provider.

    Two-wayPayments
  • Adyen

    The same contract as Stripe, for operators who already settle through Adyen. Payment methods available per location come from the tenant record.

    Two-wayPayments
  • Twilio

    Booking confirmations and change notices by SMS, sent from your own number rather than a shared one.

    OutboundMessaging
  • Postmark

    Transactional email for confirmations, reminders and cancellations, on your own sending domain.

    OutboundMessaging
  • Google Calendar

    Staff availability read in, assigned work written out. A calendar block created here appears against the right person in the console.

    Two-wayCalendars
  • Okta

    Single sign-on for console accounts. Roles map from directory groups, so an offboarded staff member loses access when the directory says so.

    InboundIdentity

All integrations

Pricing

Three tiers, and the limits are written down.

Per tenant, billed monthly. A limit is a limit rather than a suggestion, and the console says so before one is reached.

  • Single

    One location, running its own bookings on its own domain.

    $89/month

    Limits

    Locations
    1
    Staff accounts
    5
    Bookings
    1,500 / month
    Support
    Email, next working day
    Book a demo
  • Operator

    For networks past ten locations, where the questions are about data residency and rollout rather than about features.

    Talk to usPriced per deployment.

    Limits

    Locations
    Unlimited
    Staff accounts
    Unlimited
    Bookings
    Agreed per contract
    Support
    Named contact, agreed response times
    Book a demo

Compare every plan

Releases

Shipped recently

Every release, dated. The version a customer runs is written at the top of the console.

2.6.0

  • AddedPricing rules now show their resolution order on screen, and a test panel that quotes a sample booking before the rule is saved.
  • AddedSCIM provisioning entered beta for Okta and Entra ID directories.
  • ChangedThe audit log filters by account as well as by record, which is the way support was already using it.
  • FixedA capacity exception created on the last day of a month applied to the first day of the next one in timezones behind UTC.

2.5.0

  • AddedWallet passes are issued alongside confirmation emails and reissue automatically when a booking changes.
  • ChangedAvailability is computed per request rather than from a cached table. A console change is now visible on the next page load instead of within fifteen minutes.
  • FixedRefunds initiated in the console against an Adyen payment were reconciled a day late in the daily accounting push.

Full changelog

See it with your own inventory in it.

A demo runs on your services and your pricing, not on a sample account. Thirty minutes, and you keep the setup.

Book a demo