# TransactionDecisionNote

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

A single, system-emitted explanation of a decision made about a transaction.
Stored append-only in the top-level `Transaction.DecisionNotes` collection.

## Fields
- `category` ([TransactionDecisionNoteCategory](https://devportal.demo.winkpg.io/docs/api/models/TransactionDecisionNoteCategory.md)): The subsystem that made the decision.
  Values:
  - `ConvenienceFee`: The convenience-fee evaluator (first consumer).
  - `Surcharge`: The surcharge eligibility pipeline. Records why a surcharge was not applied to a transaction on an enabled merchant (e.g. debit/prepaid card, restricted state, unsupported network), so the veto reason is queryable/displayable rather than buried in the /SurchargeResult snapshot. The code is a SurchargeIneligibilityReason value name.
  - `FraudReview`: The manual fraud-review hold. Records that a transaction was parked for human disposition and how that hold ended, so the timeline explains a gap between screening and authorization rather than leaving an operator to infer it from /FraudReviewData. The code is one of ReviewHeld, ReviewApproved, ReviewDeclined, or ReviewExpired.
- `outcome` ([TransactionDecisionNoteOutcome](https://devportal.demo.winkpg.io/docs/api/models/TransactionDecisionNoteOutcome.md)): The decision's effect on the transaction.
  Values:
  - `Applied`: The thing was applied (e.g. a fee was assessed).
  - `Suppressed`: The thing was deliberately not applied (e.g. a fee was waived/suppressed).
  - `Adjusted`: The thing was applied at a modified value (e.g. a capped/percentage amount).
  - `Blocked`: The transaction was blocked by the decision.
  - `Info`: Purely informational; no effect on amounts or flow.
- `severity` ([TransactionDecisionNoteSeverity](https://devportal.demo.winkpg.io/docs/api/models/TransactionDecisionNoteSeverity.md)): Display severity (styling only).
  Values:
  - `Info`: Neutral/informational styling.
  - `Warning`: Attention styling (e.g. an expected fee that did not apply).
- `createdAt` (string(date-time)): UTC timestamp the note was recorded.
- `code` (string): The discriminated reason within the `category` (e.g. `"SuppressedChannel"`).  Owned by the consuming subsystem; resolved to copy with `category` at render time. (nullable)
- `amountDelta` (number(double)): Signed amount impact where meaningful (e.g. the waived/assessed fee). Currency is implied by  the transaction. Null when not applicable. (nullable)
- `occurredOnStage` (string): Optional pipeline stage the decision occurred on, for ordering/diagnostics. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
