Ithaca
For independent hotels and small groups.
Check guests in, settle bills, turn rooms and close the day. Housekeeping and maintenance work from an app on their phone, and the desk sees every room the moment it's clean.
Behind this: a Saturday at Alderline Pendrake, a 44-room resort that does not exist, its bookings and dinner bills from our calibrated demand generator. Hover a room for its stay. The floor plan and housekeeping times are illustrative.
Built in the order the day runs.
The queue at three in the afternoon, the room still dirty at four, the bill that won't close at eleven, the audit that has to run before any of it counts. Ithaca was built in that order, one screen at a time, against a hotel with guests in it.
Built for independent hotels and small groups. Ithaca is demonstrable today; it is not yet generally available.
A minute at the front desk.
Recorded on Ithaca itself, on a hotel with a full day ahead: arrivals waiting, guests in house, bills to settle. The guests are made up; every click is the real product.

Click through a day at the desk.
Sixteen real screens: check a guest in, send a bill to a company, clean the room from the mobile app, and close the day. Click the highlighted control at each step, at your own pace.
Take the tourHousekeeping and maintenance, on a phone, not a paper sheet.
Housekeepers and engineers work from one app on their phone, connected to the same hotel as the desk — so a room finished upstairs is ready downstairs before anyone says so, and a fault reported in a room is with maintenance straight away. Staff sign in on a shared phone with an employee number and passcode, or on their own.
The Ithaca mobile app is coming to the App Store and Google Play. Today it runs in the phone's browser and installs to the home screen.

Start with the PMS. Add what you need.
Ithaca is one system, not a bundle of products to connect. Every add-on works on the same rooms, guests and bills as the desk, so there is nothing to sync and nothing to reconcile.
Pricing is shared in a walkthrough while Ithaca is with its first hotels.
The whole front office, not the demo half.
A system is usually judged on the awkward jobs: commissions, disputes, credit notes, the group's banquet order. Ithaca covers arrivals through the night audit, housekeeping and maintenance, groups and events, and the money in both directions.
The audit says what's in the way before you start.
Night audits fail the same four ways everywhere: guests who never checked in, departures still in house, charges not posted, a cash drawer left open. Ithaca lists them at the top before the auditor starts, so the desk can clear what it wants cleared — the close never stops on them — and shows a preview of exactly what closing will do, so the first time anyone sees the result isn't while it's happening.
The end-of-day report comes straight off the close: rooms and occupancy, the day's arrivals and departures, revenue by department, payments by method, rooms out of order, ADR, RevPAR and TRevPAR, and a trial balance across every ledger.
- 01 Sweep no-shows
- 02 Post room and tax
- 03 Enforce deposits
- 04 Release block cut-offs
- 05 Accrue commission
- 06 Expire the waitlist
- 07 Retire expired cards
- 08 Balance packages
- 09 Open tomorrow
Checked against what desks complain about.
We read what front-desk staff say about the systems they already have — unfiltered, in their own words — and turned the recurring complaints into rules every screen is checked against.
Our own PMS is just another caller.
Ithaca has no privileged access. Every screen writes through the typed, permissioned, validated actions the platform exposes to everyone — and when a screen needed something the platform lacked, the platform grew and every integrator got it too.
# The Arrivals board checking a guest in. No private door: # this is the request any integrator, SDK, or agent would make. POST /v1/actions/hospitality.action.check_in/apply Idempotency-Key: 0f4c7e21-9b3d-4a17-8c55-2e9a61d0b7f3 { "target": { "object_type": "hospitality.reservation", "id": "0192f3c4-…" }, "params": { "arrival_actual": "2026-10-31T15:42:00Z" } } → 200 OK { "correlation_id": "…", "modified_objects": [ … ] } # …and on the append-only log, for every board tailing it: event reservation.checked_in.decided
The desk signs in as a person through WorkOS, resolved to their staff record. Every check-in, posting and payment carries a name; a leaver's record is refused.
A retried click cannot double-charge, double-refund, or check a guest in twice — on the desk, on the mobile app's offline queue, and for any other caller alike.
Every write lands on an append-only log. The audit trail is not a feature of Ithaca; it is the only way anything gets written.
Every board follows one event stream and refreshes quietly when another surface writes — a phone, an agent, another desk.
Ithaca does not run the restaurant or the bar. A charge-to-room rung on any till — ours or a third party's — posts to the guest's Ithaca bill through the same public interface any integrator could call. The products stay separate; the guest's bill does not.
Ithaca is Odysseus's island — the place at the end of the journey. A hotel is where a traveller arrives and rests, and the front desk is the door they arrive through.
Walkthrough
See a day at the desk,
end to end.
We set up a hotel shaped like yours, with today's arrivals, guests in house, departures, a housekeeping sheet and a group block, and work the day with you live. Check a guest in, settle a bill, run the night audit.
Book a walkthroughWalkthroughs run live, over a video call. Or take the self-guided tour first.