Configuration · Mobile app configuration
Per-centre settings for the customer mobile app: which app sections are on (welcome, featured, events, cinema, directions, play centre, services, visit list, WhatsApp support, call alert, VIP discount), the login screen’s image or video, privacy text, how proposals are ordered (by date or recommended), short-link and URL templates for sharing proposals and lottery QR codes, and required registration data.
| Area | Configuration |
| Routes | configuration.centers.new · configuration.centers.edit |
| Centre modules | always available |
| Staff levels | root · admin · manager · scmanager |
| Models | app-config · app-login · app-module · app-module-direction · app-module-registration-data · app-module-service · app-module-welcome · app-modules |
| UI label | configuration.center.app-configuration |
| Coverage | 4 use cases · 1 happy · 3 failure |
How it works
Lives inside the centre editor’s app-configuration tab and is persisted as fragments under center.appConfig.modules. canShowProposalUrlTemplate / copyUrlTemplate expose a public proposal URL pattern, and copyUrlLotteryQr the lottery QR pattern, both copied to the clipboard with cms.proposal.copy-url-success. Proposal ordering offers date or recommended. The visit-list switch also changes the proposal editor (hasVisitListEnabled). These settings change the app, not the back office, so a mistake is only visible on a phone.
Use cases
Why someone opens this (4)
- Turning the cinema or play-centre section of the app on for a centre that has them.
- Replacing the login-screen video for a seasonal campaign.
- Switching the app home to ‘recommended’ proposals ordering.
- Copying the proposal URL template to share content outside the app.
Path map
flowchart LR F(["Mobile app configuration"]):::feat F --> H1["App section enabled"]:::ok F -.-> X1["Section enabled without its data"]:::bad F -.-> X2["Rich text with images"]:::bad F -.-> X3["Clipboard blocked"]:::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
App section enabled
- Admin opens My centre → App configuration.
- Ticks e.g. ‘Directions active’ and enters the directions URL.
- Saves the centre; the app shows the new section on next launch.
Failure paths
Section enabled without its data
Cause — e.g. directions on with no URL.
What happens — Only some sections have presence rules; others save and render an empty section in the app.
Rich text with images
Cause — An
<img>inside the centre’s info/privacy translations.What happens — The centre model’s
infocustom rule rejects it (error.configuration.center.extra.image-not-suported).
Clipboard blocked
Cause — Browser denies clipboard access.
What happens — No error copy — only the success toast exists.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ App section enabled
- ⛔ Section enabled without its data
- ⛔ Rich text with images
- ⛔ Clipboard blocked
Implementation
app/templates/configuration/centers/new.hbsapp/models/app-config.jsapp/models/app-modules.jsapp/models/app-module.jsapp/models/app-module-welcome.jsapp/models/app-module-direction.jsapp/models/app-module-service.jsapp/models/app-module-registration-data.jsapp/models/app-registration-data-subtype.jsapp/models/app-login.js
Translation keys (25)
Key English configuration.center.app-configurationApp configuration configuration.center.app-modulesModules configuration.center.app-modules.welcomeWelcome configuration.center.app-modules.featuredFeatured configuration.center.app-modules.eventsEvents configuration.center.app-modules.cinemaCinema configuration.center.app-modules.directionsDirections configuration.center.app-modules.play-centerPlay center configuration.center.app-modules.servicesServices configuration.center.app-modules.visit-listVisit list configuration.center.app-modules.support-whatsappwhatsapp support configuration.center.app-modules.call-alertCall alert configuration.center.app-modules.discount-vipDiscount VIP configuration.center.app-loginLogin center.app-login.img-urlImage center.app-login.video-enabledEnable video center.app-login.video-urlVideo (mp4, ogg, avi) configuration.center.app-config.privacityPrivacy Settings configuration.center.app-config.proposalsProposals configuration.center.app-config.proposals-order.dateDate configuration.center.app-config.proposals-order.recommendedRecommended configuration.center.app-config.bitly-urlBitly URL configuration.center.app-config.proposal-url-templateProposal url configuration.center.app-config.qr-url-lotteryURL of QR lottery cms.proposal.copy-url-successURL has been copied!
Related
- Same area — Centre list & export · Centre editor (modules, app config, integrations) · Staff member list, deletion & restore · Staff member editor (levels, scope, API token) · Channels · Extra attributes · Email template preview & test send · Dashboard configuration · Influence zones · Server incidents · Server command runner (CLI) · Accessibility statement · Customer login methods (Google, Facebook) · Third-party integrations & connectors · Social wifi & location services
Generated from doc/feature-inventory.json · id config-mobile-app · commit 276788ca6