transfers-provider-servicecontract
WCF service-contract NuGet library (TC.Transfers.Provider.ServiceContract) defining amendment and cancellation operations for transfers providers in the Phenix booking flow.
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 | WCF |
| Runtimes | .NET Framework 4.5.2 |
| Tests / CI | none / CI in place |
| Last commit | 2018-11-02 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Selling and quoting (system generated; curate in repo-owners.json to override) |
| Product area | Phenix |
| Hosted | No signal No hosting signal in its pipelines (typical for libraries and contract packages) |
| Releases | 2 release pipeline(s): transfers-provider-servicecontract - CD; transfers-provider-servicecontract release |
| 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: transfers-provider-servicecontract, application-framework
- Speaks WCF (host)
Detaches when its pinning dependencies are cut or multi-targeted (application-framework); and when it is itself a binding point: unpinning it releases its consumers; and when its WCF surface gains a modern interface or its WCF calls move to one.
This repo is itself a binding point: see what cutting it unlocks.
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. Ships as a package; ZDD applies to the services that consume it.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Not applicableLibraries ship as packages, not as running services. There is nothing to containerise.
Recommended actions
Re-publish transfers-provider-servicecontract with modern targets
Frozen at .NET Framework 4.5.2; consumers cannot leave the old platform while pinned to it.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedAssessment notes
transfers-provider-servicecontract
Purpose
Single-project contract library published as the TC.Transfers.Provider.ServiceContract NuGet package. It defines ITransfersProviderServiceContract (a [ServiceContract] interface composed of ICancellationProcess and IAmendmentProcess) with request/response DTOs for GetCancellationCharge, CancelBooking, GetAmendmentDetails and AmendBooking — the interface transfers-provider services implement and Phenix clients call.
Tech stack
C# SDK-style class library targeting .NET Framework 4.5.2 only, with GeneratePackageOnBuild and symbol/source packages, versioned 1.0.0 via version.props. Sole dependency is TC.Phenix.ApplicationFramework 1.2.4. System.ServiceModel attributes make it WCF-specific.
Deployment
Included with release_count 2. Classic build pipelines transfers-provider-servicecontract develop and ... release (no YAML in the repo) feeding release pipelines transfers-provider-servicecontract - CD and ... release — a NuGet publish flow rather than an app deployment.
Dependencies
Internal: TC.Phenix.ApplicationFramework (application-framework), pinned at a 2018-era 1.2.x version. No external services.
Data stores
None — pure contract types.
Integration points
Defines a WCF contract; it has no runtime integrations itself but every consumer communicates over WCF using these types.
Code health
No tests (none really applicable for a DTO/interface package, though contract-serialisation tests are absent too). README is untouched Azure DevOps boilerplate. Dormant since 2018-11-02 while still release-linked.
Modernisation risks
The package pins consumers to full-framework WCF (net452 only, no netstandard/net8 targets), so any transfers provider or client moving to modern .NET must retarget or replace this contract — likely with REST/gRPC contracts as part of a wider WCF retirement. Low change risk in itself (frozen for eight years), medium priority because it is a blocking dependency for modernising the transfers integration chain.