Marketing · Fidcard
Embeds the external Fidcard loyalty-card platform, using the URL from the centre’s fidcard module.
| Area | Marketing |
| Routes | marketing.fidcard · marketing.fidcard.index |
| Centre modules | fidcard |
| Staff levels | root · admin |
| Models | module-fidcard |
| UI label | menu.navbar.marketing.fidcard |
| Coverage | 2 use cases · 1 happy · 3 failure |
How it works
The most tightly restricted marketing feature — root and admin only. Related MOF button types exist for the app side: fidcard, fidcard_manager and fidcard_client, and the app-button manager enforces that only one fidcard-type button can exist (cms.mofs.only-one-fidcard-type). The centre form validates the Fidcard URL (configuration.center.fidcard-url.error).
Use cases
Why someone opens this (2)
- Administering physical/virtual loyalty cards issued through Fidcard.
- Exposing the customer-facing Fidcard view as an app button.
Path map
flowchart LR F(["Fidcard"]):::feat F --> H1["Fidcard console opened"]:::ok F -.-> X1["Module off or role insufficient"]:::bad F -.-> X2["Invalid configured URL"]:::bad F -.-> X3["Duplicate fidcard app button"]:::bad classDef feat fill:#b0432c,stroke:#b0432c,color:#ffffff,font-weight:bold classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13
Happy paths
Fidcard console opened
- Centre has the fidcard module with a valid URL.
- An admin opens Marketing → Fidcard.
fidcardURLresolves and the console loads in the frame.
Failure paths
Module off or role insufficient
Cause —
fidcarddisabled, or the user is not root/admin.What happens —
module-marketing-fidcard#canAccesshides the entry and blocks the route.
Invalid configured URL
Cause — Centre’s Fidcard URL fails the URL check.
What happens —
configuration.center.fidcard-url.errorblocks saving the centre, preventing a broken embed.
Duplicate fidcard app button
Cause — A second fidcard-type MOF button is created.
What happens —
cms.mofs.only-one-fidcard-typerejects it.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ Fidcard console opened
- ⛔ Module off or role insufficient
- ⛔ Invalid configured URL
- ⛔ Duplicate fidcard app button
Implementation
app/controllers/marketing/fidcard/index.jsapp/routes/marketing/fidcard/index.jsapp/models/module-fidcard.jsapp/abilities/module-marketing-fidcard.js
Translation keys (4)
Key English menu.navbar.marketing.fidcardFidcard modules-fidcardFidcard configuration.center.fidcard-url.errorIt must be a valid URL, ex: https://www.google.com cms.mofs.only-one-fidcard-typeThere is already an active {name} button in this center.
Related
- Same area — Activity list & duplication · Activity editor (loyalty mechanics, rules & targeting) · Activity report & PDF · Activity campaigns (programme grouping) · Email campaign list, duplication & stop · Email campaign builder (wizard, A-B test, scheduling) · Digital games (lottery) · Present cards (Fideliza gift cards) · Book appointment
Generated from doc/feature-inventory.json · id marketing-fidcard · commit 276788ca6