{
  "example_id": "legal--fixed-fee-consultation-deposits",
  "ledger_model": "deposit",
  "entry_parameter_rules": {
    "fixed_fee_consultation_deposits_fund": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_reserve": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_release": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_complete": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_credit_service": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_reserve_refund": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_refund_settled": {
      "positive_integer_parameters": ["amount"]
    },
    "fixed_fee_consultation_deposits_refund_failed": {
      "positive_integer_parameters": ["amount"]
    }
  },
  "application_obligations": [
    "Authenticate and authorize every source, case and payee; bind them to one confirmed tenant and test ledger.",
    "Use opaque identifiers; never put patient, claimant or other sensitive details in account paths.",
    "Enforce positive/nonnegative integer rules before posting; the schema alone does not reject every negative parameter.",
    "Keep one immutable command record and deterministic idempotency key per business operation; reject key reuse with changed payload.",
    "Match callbacks to the exact case, source, payee, reservation and provider sub-operation; a balance condition is not identity authorization.",
    "Validate accepted service, compensation, refund and fee amounts against domain records; terminal outcomes must not be reopened.",
    "For partial outcomes, store each exact confirmed external sub-operation and ensure its amount is consumed at most once.",
    "Persist intent/outbox before effects; unknown provider outcome stays reserved until reconciled. Never release funds merely because a request timed out.",
    "Use only confirmed incoming cash for fund; record outgoing cash only after confirmed settlement.",
    "Reconcile the manually modeled cash account to external payment records. These schemas have no linked-account reconciliation integration."
  ],
  "domain_trigger": "A permitted operating-account consultation deposit is collected",
  "domain_boundary": "Client trust accounts, legal advice and fee-earning rules are not modeled"
}
