ADR-DS-010_예약 상태 머신
ADR-DS-010 예약 상태 머신
1. Metadata
- ADR ID: ADR-DS-010
- Title: Reservation State Machine
- Status: draft
- Date: 2026-03-08
- Owner: YSY
- Related ADRs: ADR-DS-000, ADR-DS-030, ADR-DS-040
- Supersedes:
- Superseded By:
2. Context
예약 상태 용어를 단일 상태 머신으로 통일하지 않으면 결제/검증/권한 규칙이 문서마다 충돌한다.
3. Decision
예약 상태 집합을 아래로 고정한다.
hold: 결제 진행 중 임시 점유 상태reserved: 예약 확정 후 사용 대기 상태redeemed: 사용/수령 완료 상태expired: 시간 만료 상태cancelled: 사용자/시스템 취소 상태
기본 전이 규칙:
hold -> redeemed: 결제 성공(기본 정책)hold -> expired | cancelled: 결제 실패/타임아웃reserved -> redeemed: 검증 완료 또는verification_method=nonereserved -> expired: 만료 시간 도달reserved -> cancelled: 취소 정책 충족
4. Consequences / Impact
arrived,checkin같은 중복 개념을 제거할 수 있다.- 결제·검증·권한을 상태 전이 조건으로 분리할 수 있다.
- 수량 계산은
hold + reserved를 점유로 본다.
5. Validation
- DB/앱에서 상태 집합이 동일하다.
- 허용되지 않은 전이는 서버에서 차단된다.
- 수량 계산 시
hold + reserved가 반영된다.