Booking & offers
Manage availability, pricing rules, offers with multiple options, booking changes and cancellations. Build booking websites with the CMS and use localised SEO for each language.
In production
We build and operate Reynt, a multi-tenant booking platform hosted in the EU. It took eleven months to reach production, with thirteen packages covering bookings, payments, tenant isolation and tax compliance. Our open-source libraries grew out of that work.
Reynt is a pnpm + Nx monorepo of thirteen packages: four Hono APIs on Bun with end-to-end typed clients, three Nuxt 4 frontends, an Astro marketing and documentation site, and a headless SDK for operators who want to build their own storefront.
Business services receive their tenant when they are created. PostgreSQL also enforces row-level security on every tenant-scoped table with FORCE ROW LEVEL SECURITY. Personal data is encrypted at rest with a per-tenant X25519 keypair, remains searchable through keyed blind indexes, and can be made unreadable by destroying the key.
The HTTP framework is confined to the transport layer. Static tests prevent framework imports in domain packages. When we migrated all four APIs from Elysia to Hono, we changed the route files without changing the domain logic.
Reynt now uses the libraries developed within it as standalone packages. Its AI agent submits proposals for an operator to accept or reject. Applied changes are recorded in a hash-chained ledger, using the same review process as the oversight kit.
Features
Manage availability, pricing rules, offers with multiple options, booking changes and cancellations. Build booking websites with the CMS and use localised SEO for each language.
An append-only payment ledger records invoices, settlements and payouts. Existing entries stay unchanged. This let us remove two payment providers without changing the settlement logic.
Row-level security separates tenant data. Personal data is encrypted with a per-tenant X25519 keypair and remains searchable through keyed blind indexes. Destroying the key makes the encrypted data unreadable.
AI features include a tool-calling agent with operator approval, an MCP server, in-app help based on retrieval-augmented generation, and assistance with guest communication. Access and approval rules apply to all of these features.
The stack
Our platform
We release these packages, including their tests, under the MIT licence in November 2026. You will be able to inspect how the product works and check the implementation yourself.
@octabits-io/proposal@octabits-io/agent-ui@octabits-io/agent-ledgeroctaflow@octabits-io/rls@octabits-io/events@octabits-io/activity@octabits-io/queue@octabits-io/storage@octabits-io/backfill@octabits-io/postgres@octabits-io/pii@octabits-io/data-subject@octabits-io/data-lifecycle@octabits-io/signing@octabits-io/result@octabits-io/server@octabits-io/session@octabits-io/telemetryWe help customers with tenant isolation, payment ledgers, AI review workflows and migrations during live operation.