Route
/terms/refund환불/취소 정책공개/브랜드 · P0/terms/refund
정책 원문만 받으면 채울 수 있는 약관 화면
개인정보·이용약관·환불정책의 문서 typography와 CTA 위치를 디자인과 분리해 둡니다.
서툰 우리의 옆자리Concept C — Social Event
Concept C 포인트는 최소화하고 읽기성, 개정일, 동의 복귀 CTA를 우선한다.
환불 기준
고객이 전달한 오프라인 모임 환불 원문을 화면 기준으로 정리했습니다. 최종 정책 URL과 법무 검토 문구는 별도 확인이 필요합니다.
서툰 우리의 옆자리고객 원문 반영
환불 가능 여부는 구매 시점만 보지 않고, 환불 문의가 들어온 날짜와 모임까지 남은 기간을 함께 봅니다.
고객 원문 수령 전
고객 원문 대기: 취소 가능 시점, 부분 환불, 노쇼, 수수료 기준은 고객 확정본 수령 후 반영합니다.
고객 원문 수령 후 문구 교체 · 필수/선택 동의 구분 · 최종 문구 확정 전
문서 자리
모임 5일 전까지는 결제 당일 요청에 한해 100% 환불, 결제 다음날 이후에는 80% 환불로 봅니다. 모임 4일 전은 80%, 3일 전은 50%, 2일 전부터는 환불 불가로 안내합니다.
Template family
고객 정책 원문 수령 대기
UI primitives
State contract
디자인과 실데이터를 기다리는 동안에도 모든 route가 같은 실패/대기/빈값 골격을 유지하도록 화면별 상태 계약을 고정합니다.
Loading
환불/취소 정책 화면은 정책 원문와 공통 primitive 계약을 동시에 기다리는 로딩 상태를 노출합니다.
Empty
실제 정책 원문가 비어 있어도 레이아웃이 무너지지 않도록 안내문과 다음 행동을 유지합니다.
Error
실제 계정·정책·결제 연동 전에는 외부 요청을 만들지 않고, 재시도·문의·뒤로가기 위치만 계약으로 고정합니다.
Blocked
brandSkin, policyContent, legalOwnerContact 항목이 확정되기 전까지 디자인과 실데이터를 잠그지 않습니다.
Success
정책 문서를 읽고 다음 동의 단계로 넘어갈 수 있습니다. 다음 단계는 결제내역에서 이어서 확인할 수 있어요.
Primary action
동의 흐름으로 이동/paymentscustomer input requiredRequired data
Customer input
Next routes
/payments/Action/Form contract
`screen-action-contract.json` 기준 primary CTA, form field, 상태전이, provider 차단, audit requirement를 화면에 직접 표시합니다. 현재 경계는 fixture-only-no-provider-call이며 no provider calls before customer accounts 정책을 유지합니다.
Primary CTA
환불/취소 정책 화면의 주 CTA를 navigate contract로 고정합니다.
navigate동의 흐름으로 이동/paymentsProvider block
Firebase·Toss·Storage·Auth production call은 고객 계정 수령 전까지 차단합니다.
Audit requirement
none
noneForm preview
입력 폼 없음이 화면은 primary CTA 또는 상태전이만 fixture로 표시합니다.동의 흐름으로 이동을 누르면 약관 확인 흐름으로 자연스럽게 이어집니다.
잠시만 기다리면 환불/취소 정책 상태가 화면에 정리됩니다.
정책 문서를 읽고 다음 동의 단계로 넘어갈 수 있습니다. 다음 단계는 결제내역에서 이어서 확인할 수 있어요.
입력한 내용과 화면 안내를 확인한 뒤 동의 흐름으로 이동을 다시 눌러 주세요.
최신 원문과 운영자 연락처 확인이 필요합니다. 준비되면 동의 흐름으로 이동을 다시 진행할 수 있습니다.
사용자가 primary action을 실행합니다.
외부 provider 호출 없이 fixture 성공 상태를 표시합니다.
검증/fixture 오류 상태를 표시합니다.
고객 로고/계정/정책 blocker가 남아 있으면 blocked 상태를 유지합니다.
필수 입력이 해결되면 기본 상태로 돌아갑니다.
Fixture interaction runner
실 provider 호출 없이 primary CTA, role decision, form submit, state transition, audit requirement를 fixture-only로 점검합니다.
Role access
anonymous, user5 denied rolesPrimary flow
동의 흐름으로 이동/paymentsForm submit
none0 required fields provided by fixtureAudit/provider
audit not required0 blocked providers, 0 callsFixture payload
실제 Firebase/Toss/정책 원문 대신 사용할 최소 payload입니다. 화면 구조와 DTO 슬롯을 먼저 맞추고, 고객 계정·정책 수령 후 실제 데이터로 교체합니다.
Payload contract
legalDocumentpayload-terms-refundpolicyDocumentSummary
환불/취소 정책 화면에 표시할 최소 policyDocument fixture payload입니다. 실제 provider 호출 없이 layout과 DTO 슬롯만 확인합니다.
route-terms-refund-fixturefixture
blocked
legalDocument 화면 검증용 fixture
policyContent blocked
legalDocument template
brandSkin blocked