ADR-DS-020_슬롯 사용 확정 전략

ADR-DS-020_슬롯 사용 확정 전략

## 1. 기본 정보

  • ADR ID: ADR-DS-020
  • 제목: 슬롯 사용 확정 전략
  • 상태: Accepted
  • 작성일: 2026-03-06
  • 작성자: YSY
  • 관련 ADR: ADR-DS-010, ADR-DS-012, ADR-DS-021, ADR-U-020
  • Supersedes: N/A
  • Superseded By: N/A

2. 배경 (Context)

초기 설계에는 중간 인증 단계를 두는 안이 있었지만, 운영/UX 관점에서 다음 문제가 반복되었다.

  • 상태 전이가 불필요하게 증가한다.
  • 위치 오차나 현장 상황으로 사용자는 실제 이용했어도 중간 단계에서 실패할 수 있다.
  • 업종별로 검증 강도를 다르게 가져가야 하는데, 인증 단계 중심 모델은 유연성이 낮다.

도메인 모델은 예약-사용의 핵심 흐름을 유지하고, 사용 증빙은 검증 수단으로 분리해야 한다.


3. 결정 (Decision)

  1. 서비스의 핵심 상태는 reserved -> redeemed/expired/cancelled로 유지한다.
  2. 중간 인증이라는 별도 도메인 단계/상태는 사용하지 않는다.
  3. 사용 확정(redeemed)은 단일 액션으로 처리하고, 검증 방식은 verification_method로 선택한다.
  4. verification_methodnone | location | qr를 사용한다.
  5. qr 방식은 스캔 성공 시 즉시 redeemed 처리한다.
  6. location 방식은 위치 검증 성공 시 redeemed 처리한다.
  7. 검증 실패는 상태 추가가 아니라 이벤트(usage_verify_fail)로 기록한다.
  8. 종료 시점까지 redeemed가 아니면 expired 또는 cancelled로 확정한다.

In Scope

  • 사용 확정 시점과 검증 방식
  • 만료/취소 확정 규칙

Out of Scope

  • 결제 승인/정산 정책
  • 제재 점수 계산 세부식(ADR-DS-014)

4. 경계 및 책임 (Boundaries)

  • Domain(본 ADR): 상태 전이, 사용 확정 규칙, 검증 방식 enum
  • UX(ADR-U-020): 사용자/파트너 화면 플로우
  • Tech(ADR-T-060): API, 이벤트, 저장 구조
  • Product Policy: 업종별 기본 검증 방식 운영 기준

5. 단일 출처(SoT) 참조

  • 상태 모델 SoT: ADR-DS-010
  • 시간/만료 SoT: ADR-DS-012
  • 파트너 보조 검증 SoT: ADR-DS-021
  • UX SoT: ADR-U-020

6. 대안 (Alternatives Considered)

대안 A: 중간 인증 단계를 상태로 유지

  • 장점: 중간 지점 추적 용이
  • 단점: 상태/예외 증가, 사용자 마찰 증가
  • 미채택 이유: 핵심 흐름 단순성 훼손

대안 B: 모든 슬롯에 QR 강제

  • 장점: 현장 증빙 강함
  • 단점: 파트너 준비 부담, 저관여 업종 과도한 제약
  • 미채택 이유: 업종별 운영 유연성 부족

대안 C: 검증 없이 사용 확정 허용

  • 장점: UX 단순
  • 단점: 부정 사용 탐지력 저하
  • 미채택 이유: 운영 통제 불충분

7. 결과 (Consequences)

긍정적 결과

  • 상태 전이가 단순해지고 문서/코드 정합성이 높아진다.
  • 검증 수단 추가(beacon 등)가 상태 변경 없이 가능하다.

부정적 결과

  • 검증 실패 분석은 상태가 아닌 이벤트/로그 품질에 의존한다.

8. 영향 범위 (Impact)

  • API: 사용 확정 요청은 검증 방식별 입력만 달라진다.
  • 데이터: verification_method, verified_at, verify_fail_reason 이벤트 기록 필요
  • 운영: 업종별 기본 방식 템플릿 운영 필요

9. 검증 및 운영 확인 (Validation)

  • 상태 전이 테스트: reserved -> redeemed, reserved -> expired, reserved -> cancelled
  • 동시성 테스트: 중복 사용 확정 요청 idempotency
  • 운영 지표: 방식별 성공률, 실패 사유, expired/cancelled 비율

10. 재검토 조건 (Revisit Conditions)

  • 검증 실패율이 임계치 초과
  • 부정 사용률 증가
  • 특정 업종의 전환율 급락