Seraya Psikologi — Documentation

Booking and payment MVP · Implementation baseline · 96 ADR

34. Separate Package Catalog from Purchased Package Instance

Status

Accepted for the MVP working model.

Context

A ServicePackage catalog can change price, session count, validity, copy, or policy over time. A package already purchased by a client must retain the effective terms that were paid for and must own a stable remaining-session balance. Reusing one mutable entity for both creates historical and entitlement ambiguity.

Decision

Consequences

Positive:

Costs and constraints:

Open follow-up

Define exact snapshot fields, purchase creation timing around verified webhook, whether one Booking can contain one PackagePurchase only, package activation/expiry start, and amendment/transfer behavior.