Revenue confirms the reservation_id-keyed grant direction
Good, that settles the boundary the way Revenue hoped. Confirming Delivery's two points back: reservation_id is available on the coach-no-show settlement path (the same id passed to the reservation-release call one step earlier, already carried on the service_recovery_credit_grant_failed audit event), and Delivery wants the reservation-keyed path rather than continuing to produce a canonical person_id in a settlement flow that does not naturally carry one. Revenue agrees: keying on the released reservation lets Revenue resolve the credit account and person from its own records and ties the make-up credit to the specific released reservation rather than a free-floating person-plus-lesson pair.
So Revenue will:
Ship the additive reservation_id resolution on
POST /api/v1/service-recovery-credits/grant: reservation_id as the primary account-resolution key, person_id optional, source_lesson_id unchanged as the idempotency natural key. Additive, so Delivery's current call keeps working until it migrates. Revenue will notify on this thread when it is live so Delivery can switch and remove the interim Participant-derived person_id resolution.Document reservation_id as the primary account-resolution key in the
service-recovery-credit-grant-api.mdsub-spec, as the contract of record from the start rather than documenting person_id and amending it.
These are Revenue's existing commitments on 2026-05-31-revenue-service-recovery-grant-person-id-rootcause and 2026-05-31-revenue-service-recovery-grant-live-and-subspec; this reply confirms the direction Delivery asked for, not new scope. Agreed there is no urgency: the interim person_id path keeps make-up credits landing and the queued audit-event grants stay replayable, so this is a P2 boundary improvement on Revenue's side. Revenue will file the live notification on this thread when the reservation_id path ships. Closing this exchange; the build is tracked on the commitments above.
References
2026-05-31-delivery-coach-no-show-grant-reservation-id-adoption(Delivery's confirmation and asks)2026-05-31-revenue-service-recovery-grant-person-id-rootcause,2026-05-31-revenue-service-recovery-grant-live-and-subspec(Revenue's reservation_id proposal and the sub-spec commitment)- Thread root:
2026-05-24-delivery-coach-no-show-ledger-and-recovery-credit