# 03. User Flows

## 1. 공통 상태 정의

| 상태 | 설명 |
|---|---|
| Guest | 비로그인 탐색자 |
| Light Member | 소셜/간편 로그인만 완료 |
| Verified Member | 본인확인 및 주소지 검증 가능 |
| Donor | 1회 이상 기부 완료 |
| Traveler | 1회 이상 예약 완료 |
| Admin | 내부 운영자 |
| LocalGov Operator | 지자체 담당자 |
| Supplier | 체험/숙소/상품 공급자 |

## 2. 홈에서 지역 발견

```text
홈 진입
  -> 통합 검색 또는 추천 지역 클릭
  -> 지역 홈
  -> 여행/답례품/지정기부/스토리 중 선택
  -> 상세
  -> 예약 또는 기부 또는 관심 저장
```

요구사항:

- 홈의 모든 카드에는 지역이 명확히 표시되어야 한다.
- 지역 홈으로 들어가는 링크는 카드 유형과 무관하게 일관된 위치에 둔다.
- 비로그인 사용자는 관심 저장 시 로그인 모달을 본다.

## 3. 답례품 중심 기부

```text
답례품 PLP
  -> 품목/지역/기부금액 필터
  -> 답례품 상세
  -> 기부금액/예상 세액공제/답례품 가치 확인
  -> 기부 시작
  -> 로그인/본인확인
  -> 주소지 검증
  -> 기부 가능 지역 확인
  -> 기부금 납부/e음 연동
  -> 기부 포인트 생성
  -> 답례품 선택/배송지 입력
  -> 완료
```

예외:

- 주소지와 같은 지자체인 경우: 기부 불가 안내와 대체 지역 추천.
- 연간 한도 초과: 가능한 금액 자동 제안.
- e음 연동 실패: 재시도 가능 상태로 보존하고 중복 납부 방지.
- 답례품 품절: 포인트 유지, 대체 답례품 추천.

## 4. 지정기부 중심 기부

```text
지정기부 PLP
  -> 분야/지역/마감/모금률 필터
  -> 캠페인 상세
  -> 사업 스토리/사용처/목표금액 확인
  -> 기부하기
  -> 로그인/본인확인
  -> 주소지/한도 검증
  -> 금액 입력
  -> 기부금 납부/e음 연동
  -> 완료
  -> 결과보고 알림 구독
```

요구사항:

- 지정기부 상세에는 목표금액, 현재 모금액, 달성률, 마감일, 사용처가 반드시 있어야 한다.
- 기부 완료 후 해당 캠페인의 결과보고 알림을 기본 제안한다.

## 5. 여행 예약 후 지역 기부

```text
여행 PLP
  -> 체험/숙소/캠핑 상세
  -> 예약
  -> 예약 완료
  -> 완료 화면에서 "이 지역 응원하기" CTA
  -> 지역 홈 또는 기부 모듈
  -> 답례품/지정기부 탐색
```

요구사항:

- 예약 완료 화면은 단순 영수증이 아니라 지역 관계 확장 지점으로 설계한다.
- 여행 상세에도 해당 지역 답례품과 지정기부를 노출한다.

## 6. 지역 홈에서 모든 활동

```text
지역 홈
  -> 여행 탭: 체험/숙소 예약
  -> 답례품 탭: 기부금액 기반 답례품 탐색
  -> 지정기부 탭: 캠페인 참여
  -> 스토리 탭: 축제/콘텐츠 탐색
  -> 관심지역 저장
```

요구사항:

- 지역 홈은 각 섹션의 "더보기"가 같은 지역 필터를 유지해야 한다.
- 사용자가 지역을 저장하면 홈과 추천에서 해당 지역 콘텐츠를 우선 노출한다.

## 7. AI 추천

```text
추천 진입
  -> 목적 선택: 여행 / 기부 / 답례품 / 잘 모르겠음
  -> 질문: 관심 지역, 예산/기부금액, 일정, 취향, 세액공제 목표
  -> 추천 결과: 지역 + 여행 + 답례품 + 캠페인 묶음
  -> 저장 또는 상세 진입
```

요구사항:

- 추천 결과는 단일 상품이 아니라 지역 묶음으로 제시한다.
- AI 답변은 법령/세액공제 계산을 임의 생성하지 않고 계산 모듈 값을 참조한다.

## 8. 관리자 플로우

```text
운영자 로그인
  -> 대시보드
  -> 제출 콘텐츠/상품/캠페인 검수
  -> 승인/반려
  -> 게시
  -> 성과 확인
  -> 정산/CS 처리
```

요구사항:

- 모든 승인/반려는 사유와 변경 이력을 남긴다.
- 법령 문구가 포함된 콘텐츠는 정책 검수 상태를 별도로 둔다.

