phenix-groupbooking
Tiny ASP.NET MVC form for raising Phenix group-booking enquiries, which formats the enquiry as plain text and emails it to the Phenix groups team via the mail service.
Health score
0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.
Facts
| Languages | csharp |
| Frameworks | ASP.NET MVC 5 |
| Runtimes | .NET Framework 4.5.2 |
| Tests / CI | some / CI in place |
| Last commit | 2022-11-24 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Bookings and fulfilment (system generated; curate in repo-owners.json to override) |
| Product area | Phenix |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 1 release pipeline(s): \ops\groupbooking\phenix-groupbooking CI |
| Integration | wcf |
| Source | Open in Azure DevOps |
Risk flags
Each flag links to its glossary definition.
Dependencies in context
Entanglement
kernel Bound into the core by 2 mechanism(s).
- Pinning dependency: application-framework, mail-service
- Speaks WCF (client)
Detaches when its pinning dependencies are cut or multi-targeted (application-framework, mail-service); and when its WCF surface gains a modern interface or its WCF calls move to one.
Migration playbooks
Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.
ZDD adoption
Not applicableNot a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Retirement or consolidation candidate; do not invest in ZDD adoption.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Retire insteadThis repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.
Recommended actions
Review phenix-groupbooking for retirement
Dormant (last commit 2022-11-24) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.
Impact: Shrinks the estate before the expensive work begins
proposedAssessment notes
phenix-groupbooking
Purpose
A single-controller Phenix web app (HomeController plus one enquiry form) for group-booking requests. GroupBookingService builds a plain-text confirmation email — with hard-coded copy, office address, currency and budget lists — and sends it to phenixgroups@travelcounsellors.com and the requesting agent through the TC mail service. There is no persistence; the enquiry lives only in the email.
Tech stack
C# ASP.NET MVC on .NET Framework 4.5.2 (old-style csproj with packages.config in the web project, SDK-style net452 for the domain/service libraries). Ninject DI, TC.Phenix.ApplicationFramework, TC.Phenix.User/User.Authentication for Phenix auth, TC.Cache with Redis/AppFabric/memory storage options, HtmlAgilityPack, per-environment Web.*.config transforms for eight environments.
Deployment
One classic build pipeline (phenix-groupbooking CI) feeding one release pipeline (\ops\groupbooking\phenix-groupbooking CI, release_count 1). No pipeline YAML in the repo. Runs under IIS as part of the Phenix web estate.
Dependencies
Internal packages: TC.Mail.ServiceClient/ServiceContract (mail-service, the only real integration), TC.Exceptions (tc-exceptions), TC.Phenix.ApplicationFramework (application-framework), TC.UserAccount.ServiceClient (backoffice-useraccount-service), TC.Phenix.User.* (phenix-user-api), plus the TC.Cache stack. No third-party services.
Data stores
No database of its own. TC.Cache is configured with pluggable storage including Redis (the shared Phenix cache); nothing domain-specific is stored.
Integration points
Outbound WCF call to the mail service to send the enquiry email. The UI itself is server-rendered MVC behind Phenix authentication; no REST API surface.
Code health
Two small MSTest/Moq test projects cover the service and controller. README is untouched boilerplate. Dormant: last commit 2022-11-24. Business copy (email text, address, helpline behaviour, currency list) is hard-coded in C#, so any content change is a code release.
Modernisation risks
.NET Framework 4.5.2 has been out of support since 2022, making this one of the older runtimes still deployed. The functionality is trivially small — an authenticated form that sends an email — so the pragmatic path is folding it into a modern Phenix UI or replacing it with a workflow/form tool rather than porting. Medium priority: badly outdated but tiny, low-churn and low-risk.