ADR 0021: customer-owned Channex connections
- Status: accepted
- Date: 2026-10-26
- Supersedes: ADR 0020’s deployment-based outbound integration switch
- Extended by: ADR 0050, the Channex environment of a workspace
Every hosted installation runs the same application. A Vercel preview URL does not create a separate GuestCraft product mode. Runtime configuration supports production and local development; neither controls whether a workspace can connect its Channex account.
First-run setup creates an operator, company and production workspace. After sign-in, onboarding lets a workspace administrator supply the company’s Channex API key. A bounded read against Channex’s production API validates that key before the encrypted credential is saved. An operator may complete that step later. Connection status belongs to the workspace, and the dashboard links back to its configuration.
Stored credentials are encrypted with authenticated encryption and bound to the instance, organization and workspace. Credentials never appear in connection responses or logs. Channex credentials are installation data managed by the customer, rather than a developer-provided deployment environment variable.
The first connection implementation validates credentials and lists accessible Channex properties. It does not start booking, rate or availability synchronization. Those operations require their own durable handlers and reconciliation behavior; the UI and developer reference must describe the implemented operations accurately.
Developer documentation is available at /docs, the interactive API reference at
/api/v1/docs, and the OpenAPI contract at /api/v1/openapi.json. The first MIT
GuestCraft SDK exposes these implemented operations with workspace selection and
the session authentication the server actually supports. API key authentication
is not advertised until implemented.