Skip to main content
The admin is Voyant’s staff-facing surface. It is the operations console where your team manages quotes, bookings, inventory, finance, legal documents, and the rest of the back office. Like the Public API, it is a first-class platform surface rather than UI thrown together per project.

Shared runtime, application-owned shell

The admin is split into two layers on purpose:
  • The admin runtime is framework-owned. It provides shared providers, an auth-aware admin context, locale and timezone runtime, and base layout primitives. This lives in the common admin packages so it is not reimplemented in every app.
  • The admin shell is application-owned. Your app composes the final layout, navigation defaults, and route composition on top of the shared runtime.
This keeps every Voyant admin consistent at the runtime level while leaving you free to shape the product.

Extension points

The admin is extensible through explicit extension points rather than ad hoc patching. Each domain module contributes its admin surface, and the platform assembles them. The CLI generates the wiring from your voyant.config.ts manifest:
Run voyant admin generate --check to verify the generated files are in sync without rewriting them, which is useful in CI.

Localization

The admin supports its own localization for the operator interface. This is kept separate from business-content translation: translating the admin UI for your staff is a different concern from translating customer-facing catalog content, and the two do not share a pipeline.

Packages

The shared admin shell lives in @voyant-travel/admin, with @voyant-travel/admin-react and the per-domain -react packages contributing the views. Cross-cutting UI primitives live in @voyant-travel/ui.

Next steps

Modules

The domain modules that contribute admin surfaces.

Public API

The customer-facing counterpart.