Configuration · Channels
Manages the registration/publication channels (app, web, play centre, social wifi, totem, other) that customers, proposals and extra attributes are attributed to.
| Area | Configuration |
| Routes | configuration.channels · configuration.channels.index · configuration.channels.new |
| Centre modules | always available |
| Staff levels | authenticated staff with configuration access |
| Models | channel |
| UI label | title.header.configuration.channels / menu.navbar.channel.show |
| Coverage | 3 use cases · 1 happy · 2 failure |
Known issues (1)
- 🔵 Low — Channels cannot be edited
How it works
Small list (id + name) but structurally load-bearing: channels are a required field on the customer model (error.channels.required), on proposals (error.proposal.channel.required), on extra attributes (error.extra-attributes.channel.required), on staff members (channel-required) and on the CSV import (error.load.channels.required). The dashboard also breaks registrations down by channel. There is no edit route — only index and new — so renaming a channel is not possible from the UI.
Use cases
Why someone opens this (3)
- Attributing registrations to the source that produced them for dashboard analysis.
- Publishing a proposal to the app but not the web.
- Adding a new acquisition channel such as a totem.
Path map
flowchart LR F(["Channels"]):::feat F --> H1["Channel added and used"]:::ok F -.-> X1["Name missing"]:::bad F -.-> X2["No way to edit"]:::bad classDef feat fill:#566066,stroke:#566066,color:#ffffff,font-weight:bold classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13
Happy paths
Channel added and used
- User creates a channel with a name.
- It becomes selectable on customers, proposals, extras and staff members.
- Registrations attributed to it appear in the dashboard’s channel breakdown.
Failure paths
Name missing
Cause — Blank name.
What happens — Rejected through the shared form save pipeline.
No way to edit
Cause — The router defines only
indexandnew.What happens — A mistyped channel name cannot be corrected in the UI — a genuine gap rather than a guarded failure.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ Channel added and used
- ⛔ Name missing
- ⛔ No way to edit
Implementation
app/controllers/configuration/channels/index.jsapp/routes/configuration/channels/*.jsapp/models/channel.js
Translation keys (9)
Key English title.header.configuration.channelsChannels menu.navbar.channel.showChannels configuration.new-channelNew Channel channels.appApp channels.webWeb channels.play-centerPlay center channels.social-wifiSocial wifi channels.otherOther error.channels.requiredChannels is required
Related
- Same area — Centre list & export · Centre editor (modules, app config, integrations) · Staff member list, deletion & restore · Staff member editor (levels, scope, API token) · Extra attributes · Email template preview & test send · Dashboard configuration · Influence zones · Server incidents · Server command runner (CLI) · Accessibility statement · Mobile app configuration · Customer login methods (Google, Facebook) · Third-party integrations & connectors · Social wifi & location services
- Shares data with — Customer list & filtering · Customer create & edit · Customer CSV import
Generated from doc/feature-inventory.json · id config-channels · commit 276788ca6