Platform Evolution
Assessment run-2026-07-27-1 · 213 of 213 repos assessed
Repos / phenix-groupbooking

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.

44 · redmediumkernelOn-premZDD: not applicableweb-uidormant

Health score

44

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.


Runtime currency / 25
0
.NET Framework, out of mainstream support
Legacy transport / 15
6
Calls at least one legacy WCF endpoint
Test posture / 15
8
Some tests, coverage is thin
Security hygiene / 15
15
No credentials found in source
Dangerous coupling / 15
11
depends on pinning component(s): application-framework, mail-service
Activity / 10
0
Dormant: no meaningful change for two years or more while still deployed
Deployment hygiene / 5
5
CI in place
Health over time
2026-07-24 (run-2026-07-24-1): 442026-07-27 (run-2026-07-27-1): 44
No change since 2026-07-24 (44 to 44).

Facts

Languagescsharp
FrameworksASP.NET MVC 5
Runtimes.NET Framework 4.5.2
Tests / CIsome / CI in place
Last commit2022-11-24
OwnerOwner unknown (mapping to be curated)
DomainBookings and fulfilment (system generated; curate in repo-owners.json to override)
Product areaPhenix
HostedOn-prem Deployed to our own machines
  • Release "\ops\groupbooking\phenix-groupbooking CI": QA: deployment-group phase (agents on our own machines)
  • Release "\ops\groupbooking\phenix-groupbooking CI": Staging: deployment-group phase (agents on our own machines)
  • Release "\ops\groupbooking\phenix-groupbooking CI": Production: deployment-group phase (agents on our own machines)
  • Release "\ops\groupbooking\phenix-groupbooking CI": Training: deployment-group phase (agents on our own machines)
  • Release "\ops\groupbooking\phenix-groupbooking CI": DR: deployment-group phase (agents on our own machines)
Releases1 release pipeline(s): \ops\groupbooking\phenix-groupbooking CI
Integrationwcf
SourceOpen in Azure DevOps

Dependencies in context

Laying out the graph…
greenamberreddata store (square, dashed link)Node size follows fan-in. Click any node to open it.

Entanglement

kernel Bound into the core by 2 mechanism(s).

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.

Depends on / used by


Data stores
redis:phenix-cache

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 applicable

Not 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 applicable

No SQL Server dependency is recorded for this repo. Nothing to migrate.

Containerisation

Retire instead

This 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

proposed

Assessment 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.