SCENARIO-PARTNER-010_매장 등록 흐름
SCENARIO-PARTNER-010_매장 등록 흐름
SCENARIO-PARTNER-010 매장 등록 흐름
1. Metadata
- Status: draft
- Date: 2026-03-09
- Owner: YSY
- Related ADRs: ADR-130, ADR-150, ADR-220, ADR-260, ADR-270
2. Goal
파트너가 앱에서 매장을 등록할 때 입력 단계, 위치 인증 단계, 발행 권한 활성 조건을 자연스럽게 이해하고 중간 이탈 없이 완료할 수 있는 표준 흐름을 정의한다.
3. UX-First Principles
- 매장 정보 입력과 위치 인증 단계를 분리해 보여준다.
- 현재 상태(등록 완료/인증 대기/인증 실패/활성)를 화면 상단에서 즉시 확인할 수 있게 한다.
- 권한 제한이 있으면 이유와 복구 경로를 함께 안내한다.
- 위치 좌표는 핀 선택 기반으로 확정하고 자동 위치는 보조 기능으로만 사용한다.
- 실패 화면은 다음 행동 1개를 기본으로 제시한다.
4. Preconditions
- 파트너 계정 로그인 및 기본 프로필 입력이 완료됐다.
- 네트워크 연결이 정상이다.
- 파트너 상태는
partner_registered 또는 등록 진행 상태다. - 구독 상태는 활성/비활성 모두 가능하다.
5. Main Scenario (매장 등록 -> 인증 -> 활성)
- 파트너가
매장 등록 시작 CTA를 선택한다. - 기본 정보 화면에서 매장명/업종/주소를 입력하고 지도에서 핀으로 좌표를 확정한다.
- 선택 항목(매장 사진/상세 설명)을 입력한 뒤 등록을 제출한다.
- 시스템은 매장 등록을 저장하고 위치 인증 대기 상태를 표시한다.
- 파트너가 위치 인증을 진행하면 결과(완료/실패/보류)를 즉시 안내한다.
- 위치 인증이 완료되고 구독이 활성 상태이면 발행 권한이 활성화된다.
- 완료 화면에서 다음 행동 CTA(슬롯 발행 시작, 매장 정보 확인)를 제공한다.
6. UX Flow Spec (화면 단위)
| Phase | Screen/Surface | 사용자 질문 | UI가 답해야 할 내용 | Primary CTA | Secondary CTA | 종료 조건 |
|---|
| P1 | 파트너 홈(등록 전) | “무엇부터 해야 하나?” | 등록 필요 상태, 전체 단계 요약 | 매장 등록 시작 | 나중에 | 등록 폼 진입 |
| P2 | 매장 정보 입력 | “무엇을 입력해야 하나?” | 필수/선택 항목 구분, 입력 가이드 | 다음 단계 | 임시 저장 | |
| P3 | 위치 확정(지도) | “위치를 어떻게 확정하나?” | 핀 선택 기준, 주소-좌표 확인 | 위치 확정 | 현재 위치 불러오기 | |
| P4 | 등록 완료/인증 대기 | “이제 무엇이 필요한가?” | 인증 대기 상태, 제한 기능 안내 | 위치 인증 진행 | 매장 정보 보기 | |
| P5 | 인증 결과 화면 | “인증이 되었나?” | 완료/실패/보류 결과와 이유 | 재시도 또는 다음 단계 | 고객센터 문의 | |
| P6 | 권한 활성 화면 | “발행할 수 있나?” | can_issue 여부, 구독/상태 조건 | 슬롯 발행 시작 | 구독 관리 | |
7. Branches (상태/권한 분기)
| Case | 조건 | 결과 상태 | 사용자 안내 핵심 | 다음 행동 |
|---|
| B1 | 위치 인증 완료 + 구독 활성 | partner_active, can_issue=true | “이제 발행 기능을 사용할 수 있어요” | 슬롯 발행 시작 |
| B2 | 위치 인증 완료 + 구독 비활성 | partner_registered, can_issue=false | “매장 등록은 완료됐지만 구독이 필요해요” | 구독 시작 |
| B3 | 위치 인증 대기 | partner_registered, can_issue=false | “위치 인증 완료 후 발행 가능해요” | 위치 인증 진행 |
| B4 | 위치 인증 실패/보류 | partner_registered, can_issue=false | “인증 실패 사유를 확인하고 다시 진행해 주세요” | 인증 재시도 |
| B5 | 주소/좌표 변경 발생 | 재인증 필요 | “정보 변경으로 위치 재인증이 필요해요” | 재인증 진행 |
8. Recovery UX (예외/복구)
A1. 필수 입력 누락
- 안내: 누락 필드를 인라인으로 강조한다.
- 행동: 첫 오류 필드로 포커스를 이동하고 다시 제출을 유도한다.
A2. 주소-좌표 불일치
- 안내: 주소와 핀 위치가 다를 수 있음을 알려준다.
- 행동: 핀 재조정 CTA를 기본 제공한다.
A3. 인증 미완료 상태에서 발행 시도
- 안내: 현재 권한 제한 사유를 명시한다. (
LOCATION_VERIFICATION_REQUIRED 또는 PARTNER_CAPABILITY_DENIED) - 행동: 위치 인증 또는 구독 활성화 경로로 즉시 이동시킨다.
A4. 인증 실패 반복
- 안내: 실패 사유 요약과 문의 경로를 함께 제공한다.
- 행동: 재시도 우선, 반복 실패 시 문의 전환을 제안한다.
A5. 구독 만료/해지 직후
- 안내: 발행 권한이 회수된 시점과 이유를 표시한다.
- 행동: 구독 복구 CTA를 기본 제공한다.
9. Domain Mapping (참조용 상태/권한)
| 이벤트 | 상태/권한 결과 | 비고 |
|---|
| 매장 등록 제출 성공 | partner_registered 유지 | 매장 데이터 저장 완료 |
| 위치 인증 완료 + 구독 활성 | partner_active, can_issue=true | 발행 기능 활성 |
| 위치 인증 완료 + 구독 비활성 | partner_registered, can_issue=false | 구독 필요 안내 |
| 인증 미완료 상태 발행 시도 | 상태 유지, 권한 거부 | LOCATION_VERIFICATION_REQUIRED 또는 PARTNER_CAPABILITY_DENIED |
| 주소/좌표 변경 | 상태 유지, 재인증 필요 | 재인증 플로우 강제 |
정책 메모:
- 매장 등록 완료만으로는 발행 권한이 부여되지 않는다.
- 위치 인증과 구독 활성 조건을 모두 만족해야 발행 가능하다.
- 권한 제한 시 사유와 복구 경로를 함께 안내한다.
10. ADR Impact
- ADR-150: 등록/인증 단계 분리와 핀 선택 기반 위치 확정 기준을 시나리오로 구체화한다.
- ADR-220:
partner_state + subscription_state -> can_issue 권한 분기 UX를 시나리오로 연결한다. - ADR-130: 권한/인증 실패 코드의 사용자 메시지 매핑 필요 포인트를 명시한다.
- ADR-260: 등록 전/인증 대기/인증 실패 상태 표현 밀도와 CTA 우선순위를 보강한다.
- ADR-270: 구독 상태/플랜 정보 노출과 복구 CTA 기준을 시나리오에 고정한다.
11. Acceptance Criteria