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 storefront, it is a first-class framework surface rather than starter-local UI thrown together per project.

Shared runtime, starter-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 starter-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 framework assembles them. The CLI generates the wiring from your voyant.config.ts manifest:
voyant admin generate              # emit admin.extensions.generated.ts from the manifest
voyant admin generate --routes     # emit the code-assembled admin route module
voyant admin generate --destinations # emit the generated destination resolver map
voyant admin doctor                # check manifest, extension, and route parity
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.

Storefront

The customer-facing counterpart.