For hospitality
One guest recordacross every storefront.
Restaurant, Lodging, Retail, Flow, Movie Theatre, Parking, Luggage, Check-in — purpose-built modules sharing one folio bus, one loyalty graph, and one Contact record per guest.
- Folio bus: any storefront charges to the room
- Recipe-based inventory depletion on paid orders
- iCal channel manager — paste into Airbnb / VRBO
- Cross-merchant Turtini Loyalty Network
Replace Your Stack
One platform. Built for hospitality.
Every POS, PMS, reservation tool, and pass issuer below is replaced by a module in Turtini.
Turtini charges 1% on payment volume processed through the platform. No seat fees, no module gates.
How it fits
Built for how hospitality actually runs.
Restaurant
Tickets, recipes, and the table — one record.
Restaurant ships a real POS with KDS, modifier groups (size / temp / add-ons with per-option price deltas), and recipe-based inventory depletion. When a paid order flips, the menu item's ingredients decrement automatically. Wally's smart-86 tool finds items whose ingredients ran out and pulls them off the menu before the next ticket prints.
Lodging
PMS that doesn't need a separate channel manager.
Lodging runs the front desk: reservations, rate plans (seasonal priority + LOS discounts via resolveRate), housekeeping board (mobile-first at /housekeeping), folio bus, and iCal channel manager. Paste the per-property iCal URL into Airbnb / VRBO / Booking.com and availability publishes; inbound iCal lands as inquiry reservations.
Retail + Folio Bus
The retail register that knows about the room.
Every storefront on the property — gift shop, spa, marina ship's store — runs Retail with room-charge as a payment method. The order picks a checked-in reservation through RoomChargePicker, posts the folio charge, and lifts the reservation's running total. Contacts unify across Retail, F&B, and Lodging — VIP flags, dietary, loyalty points all live on one record.
Flow (Passes + Boarding)
Phone-scanned passes, smart boarding zones, live upgrades at the gate.
Flow turns every ticket, season pass, day pass, cabin tier, crew badge, and excursion credential into a QR + Apple Wallet pass. Access points (gangway, lounge, dining venue, screening room, parking deck) enforce per-zone capacity and time windows server-side. Smart boarding zones sequence the line by group; sold-out upgrades happen right on the scan screen.
Movie Theatre
Showtimes, concession, projection, captions.
Movie Theatre runs concession (on Retail), ticketing at /movie-theatre/buy/:showtimeId, showtime scheduling, and the Cinema captioning rig — captions render to a per-viewer device while the room plays. Public-facing showtimes pull through your Builder site; loyalty miles accrue across visits.
Builder — your public site, with live operational data
Your visitors see what's actually true, right now.
The Website Builder ships live operational blocks no pure-builder competitor can match. "Open · Closes 9pm" pills flip on the close-of-business boundary. "5 rooms available tonight · from $189" reads directly from your Lodging reservations. "~12 min estimated wait" derives from your reservations + in-flight orders. "12 in stock" and "Almost gone — 3 left" come from your live inventory. Personalized welcome greets returning guests by name. The "Talk to us" chat widget books appointments, takes donations through Stripe, and pivots to a real person on demand. Brand-matched Print Kit (business cards, table tents, door hangers, decals, A4 one-pager) downloads in one click — all with QR codes pointing at your site.
Parking, Luggage, Check-in
The supporting cast that turns a destination into one platform.
Parking runs decks, gates, validations, and monthly permits. Luggage is the bag-tag, claim-ticket, and recovery chain — tagged at check-in, scanned through the property. Check-in is the tap-to-reserve placard primitive — NFC + QR placards anywhere on property that drop the guest straight into a Flow pass or folio charge.
Cross-module primitives
The plumbing that makes it one platform.
Hospitality at Turtini isn’t a stack of modules glued together — it’s a shared substrate so a guest, a check, a folio charge, and a loyalty point all reference the same record.
Folio bus everywhere
A guest charges from Retail, F&B, Spa, or any third-party storefront on property to their room. lodgingRoomCharges is the canonical bus; onRetailOrderPaid / onRestaurantOrderPaid auto-post if the payment method is "room-charge".
Turtini Loyalty Network
Guests earn cross-merchant points at any Turtini-powered business and redeem at any other. Your restaurant, your retail store, and the coffee shop down the block run a single loyalty graph — without a separate platform.
Recipe → inventory
MenuItem.ingredients[] (or recipeId) wires inventory into the order pipeline. Paid restaurant orders decrement currentStock by qty × itemQuantity. Smart-86 surfaces items at risk before they hit the floor.
iCal channel manager
exportLodgingICal serves a BEGIN:VCALENDAR feed per property, gated by an icalFeedToken. Paste into Airbnb / VRBO / Booking.com. importLodgingICal pulls external bookings, dedupes by externalUid, and writes them as inquiry reservations.
Marketplace seeders
First-activation seeders for retail / restaurant / lodging populate sample data — one store, restaurant, or property + 5–8 child docs — so the module opens populated, not empty.
DJ live + tip jar
DJ Business OS ships a public /dj/book page and a /live audience page with song requests and a Connect-routed tip jar. Tips land in your Stripe account, not held by a platform middleman.
Ready to open the doors?
Create your org in minutes. Every hospitality module on from day one.