provider-transaction-reader
Internal support tool for viewing request/response logs between TC systems and external providers, currently a WinForms desktop app mid-migration to a Blazor Server web app.
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 | Windows Forms, Blazor Server (ASP.NET Core 8) |
| Runtimes | .NET 8 |
| Tests / CI | none / CI in place |
| Last commit | 2026-05-07 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Selling and quoting (system generated; curate in repo-owners.json to override) |
| Product area | Phenix |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 3 release pipeline(s): \commercial\provider\provider-transaction-reader; \tools\provider-transaction-reader WEB; provider-transaction-reader-beta |
| Integration | rest, wcf-client, smtp |
| Source | Open in Azure DevOps |
Risk flags
Each flag links to its glossary definition.
Dependencies in context
Entanglement
loosely attached Bound into the core by 1 mechanism(s).
- Speaks WCF (client)
Detaches when its WCF surface gains a modern interface or its WCF calls move to one.
Depends on / used by
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. Desktop application distributed to user machines; server-side ZDD does not apply.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Not appropriateThis is a desktop application distributed to user machines; containers do not apply. Its modernisation path is replacement by a web application, not containerisation.
Recommended actions
No specific actions for this repo. It either needs only normal maintenance, or its work is covered by an estate-level action. See the full programme.
Assessment notes
provider-transaction-reader
Purpose
Support-team tool for inspecting communication logs (XML/JSON request-response pairs) between TC systems and external accommodation, flight and P2P providers. Users search transactions, view formatted payloads, and can email logs out via SMTP. A documented migration (PDR-001) is moving it from a WinForms MDI desktop app to a Blazor Server web app; both live in the solution today.
Tech stack
Three C# SDK-style projects: a net8.0-windows WinForms app (WebView2 payload viewer, Azure AD authentication), a net8.0 Blazor Server web app (PhenixAuth authentication scheme, New Relic app name configured), and a shared Common library holding the API clients and content-processing services. Modern dependency versions throughout (ConnectionBroker 1.22, Newtonsoft 13).
Deployment
Included as prod_application with 3 releases across \commercial\provider\provider-transaction-reader, \tools\provider-transaction-reader WEB and provider-transaction-reader-beta. YAML pipelines in the repo (azure-pipelines.yml using the shared azure-pipelines-templates CI template plus older build-init.yml/build-ptr.yml), publishing the Web app and the desktop build separately. A deployment-scripts submodule supports the classic deployment.
Dependencies
Internal packages: TC.ConnectionBroker.Api/Wcf (tc-connectionbroker), Phenix.Providers.Api.Client and TC.Phenix.ProviderTransactionLogging.Api.Client (phenix-provider), TC.UserAccount.ServiceClient over WCF (backoffice-useraccount-service), plus PhenixAuth/TC.Authentication.ActiveDirectory auth libraries. No third-party services beyond Azure AD sign-in.
Data stores
None owned — transaction logs are read through the provider transaction logging API rather than direct database access.
Integration points
Outbound REST to the providers and transaction-logging APIs via ConnectionBroker; a WCF client for user-account lookups; SMTP (smtp.travelcounsellors.com) for emailing logs.
Code health
No test projects at all despite an otherwise well-organised codebase with ADRs, a migration PDR and a CLAUDE.md. Actively developed (last commit 2026-05-07). Documentation is unusually good for the estate.
Modernisation risks
Low: already on .NET 8 with a funded migration path from thick client to web. Residual risks are the half-finished WinForms/Blazor split (two UIs to maintain until the desktop app is retired), the WCF client dependency for user accounts, and zero automated tests to protect the migration.