Skip to main content
A Voyant application is assembled from domain modules. Each module owns one subdomain of the travel business: its tables, its services, its HTTP routes, and its React UI. You install the ones you need and link them together. This page is the index. For how modules work under the hood (anatomy, isolation, generation, and custom modules), see Modules in Fundamentals. For the relationships between them, see Links.

How a module is packaged

A single domain ships as a small family of packages:
  • @voyant-travel/<domain> is the headless core: Drizzle schema, services, and HTTP routes.
  • @voyant-travel/<domain>-contracts describes the wire types shared between server and client.
  • @voyant-travel/<domain>-react provides hooks, clients, query keys, view-model helpers, and reusable components for that domain.
For example, bookings ships as @voyant-travel/bookings, @voyant-travel/bookings-contracts, and @voyant-travel/bookings-react.

Selling and sourcing

ModuleWhat it owns
catalogThe normalized sellable catalog and the projection that interleaves operated and sourced inventory.
inventoryAvailability rules, slots, closeouts, allotments, and capacity.
commercePricing, the cost, rate, and price distinction, markets, FX, promotions, and sellability.
distributionChannels, commission rules, channel push, reconciliation, and settlement.

Sales and relationships

ModuleWhat it owns
relationshipsThe CRM core: people, organizations, contact points, and addresses.
quotesThe sales pipeline: quotes, quote versions, stages, and activities.

Commitment and operations

ModuleWhat it owns
bookingsThe durable first-party commitment: bookings, items, allocations, fulfillments, and provenance.
tripsTrip envelopes that group component bookings into one customer-facing itinerary.
operationsGround operations, dispatches, resources, and resource holds.

Money and compliance

ModuleWhat it owns
financeInvoices, credit notes, payments, payment schedules, guarantees, and collection plans.
legalContracts, contract templates, signatures, policies, and policy acceptances.
notificationsTemplated notifications and multi-channel delivery.

Travel verticals

ModuleWhat it owns
cruisesCruise catalog, sailings, cabin categories, and itinerary modeling.
flightsFlight search, pricing, booking, and order management.
accommodationsAccommodation as catalog inventory for resale, packaging, and trip composition.
chartersCharter operations and inventory.

Platform packages

These are not domain modules, but the runtime and surfaces everything builds on: @voyant-travel/core, @voyant-travel/db, @voyant-travel/hono, @voyant-travel/auth, @voyant-travel/storage, @voyant-travel/i18n, the storefront, and the admin shell. There are also supporting modules such as catalog-authoring, identity, and octo (OCTO-standard connectivity for tours and activities).
Each headless module has matching -contracts and -react packages where a UI surface exists. The tables list the core module name; install the family that fits your app.

Next steps

How modules work

The anatomy of a module, isolation, and custom modules.

Links

How modules relate without coupling.

Data models

How module schemas are authored.

Glossary

The vocabulary these modules share.