Application scaffoldP0 25/70

/applications/[applicationId]

신청 상세

관리자 승인제 신청부터 승인 후 참가권까지 이어지는 단계형 흐름

승인 대기, 대기자, 프로필 잠금, 참가권 QR 지점을 미리 나눠 결제·체크인과 충돌하지 않도록 합니다.

ASBU서툰 우리의 옆자리

Concept C — Social Event

행사 신청 퍼널

신청 후 바로 확정되는 흐름이 아니라 관리자 승인·대기자·프로필 잠금 상태를 단계별로 보여준다.

PDF 로고 반영 · 폰트/앱 아이콘 미확정

Route

/applications/[applicationId]신청 상세사용자 모바일 · P0

Template

applicationFlow시안 변경 시 family plan과 componentSet을 먼저 수정합니다.Balanced expression

Reusable components

ExtractedLogoApplicationStepperEventSummaryCardEligibilityPanelStickyActionBar

Guardrails

검증된 오프라인 이벤트에 초대받는 밝고 설레는 경험투표/매칭 화면은 밝게, 인증/결제/관리자 화면은 절제한다실시간 채팅, AI 매칭, OCR, 구독/IAP처럼 보이는 UI를 만들지 않는다

Primary CTA

참가권 상태 확인계약상 route action을 유지하고, 시각 표현만 Concept C 컴포넌트로 교체합니다.참가권 상태 확인
ASBU
신청 상세검증된 오프라인 이벤트

신청 상세

운영 검토 기준을 확인합니다

정원, 성비, 대기자 전환 가능성처럼 승인 전에 알아야 할 항목을 먼저 보여줍니다.

상세 확인승인 기준참가 신청
ASBU서툰 우리의 옆자리

03 신청 상세

신청 상세 요약

행사 정보, 승인 상태, 대기자 가능성을 간단히 보여줍니다.

접수승인대기자참가권

신청할 모임

ASBU 금요일 디너

신청 후 운영자가 정원과 성비를 확인해 승인합니다.

성수24석승인 후 결제
01확인

행사 정보

참석할 행사와 신청 정보를 다시 확인합니다.

02정리

승인 상태

운영 승인 여부와 보완 필요 여부를 구분합니다.

03이동

참가권 기준

승인 후 결제와 참가권 기준으로 연결합니다.

입력 정보

상세 확인 항목

결제·대기자 승격 알림의 정확한 타이밍은 운영 세부 정책 확정 후 연결합니다.

  • 행사비공개 · 필수
  • 운영자에게 남길 메모긴 문장 · 선택
fixture-only no-provider-call audit log preview

Template family

applicationFlow

승인/대기자/티켓 API 대기

01Stepper
02Application summary
03QRCodeCard
04StatusBadge

UI primitives

공통 컴포넌트 슬롯

MobileShellPageHeaderStepperSummaryCardQRCodeCardStatusBadge

State contract

로딩·빈값·오류·차단·주요 행동

디자인과 실데이터를 기다리는 동안에도 모든 route가 같은 실패/대기/빈값 골격을 유지하도록 화면별 상태 계약을 고정합니다.

Loading

신청 상세 불러오는 중

관리자 승인, 대기자, 프로필 잠금 정책이 반영된 신청 상태를 불러오는 중입니다.

Empty

신청 상세에 표시할 항목이 없습니다

아직 신청 내역이 없습니다. 신청하면 관리자 검토 후 승인 또는 대기자로 표시됩니다.

Error

신청 상세 데이터를 확인하지 못했습니다

실제 계정·정책·결제 연동 전에는 외부 요청을 만들지 않고, 재시도·문의·뒤로가기 위치만 계약으로 고정합니다.

Blocked

신청 상세 고객 입력 대기

실제 저장/알림/결제 타이밍은 운영 세부 정책과 Firebase 연결 후 활성화합니다.

Success

신청 상세이 완료됐어요

신청 결과와 참가 준비 정보를 확인할 수 있습니다. 다음 단계는 참가권/QR에서 이어서 확인할 수 있어요.

Primary action

참가권 상태 확인/tickets/[ticketId]customer input required

Required data

applicationDrafteventEligibilityticketStatusprimitive:MobileShellprimitive:PageHeaderprimitive:Stepperprimitive:SummaryCardprimitive:QRCodeCardprimitive:StatusBadge

Customer input

brandSkinapplicationPolicyticketPolicyfirebaseProject

Next routes

/tickets/[ticketId]/me

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 정책을 유지합니다.

Provider block

no-provider-call-before-customer-accounts

Firebase·Toss·Storage·Auth production call은 고객 계정 수령 전까지 차단합니다.

Cloud Firestore

Audit requirement

audit log not required

none

none

Form preview

form-applications-applicationidrequiredField · clientShapeOnly · noLiveProviderCredential · fixtureOnlySubmit
준비idle

참가권 상태 확인을 누르면 신청 상태 확인으로 자연스럽게 이어집니다.

진행 중submitting

잠시만 기다리면 신청 상세 상태가 화면에 정리됩니다.

완료success

신청 결과와 참가 준비 정보를 확인할 수 있습니다. 다음 단계는 참가권/QR에서 이어서 확인할 수 있어요.

다시 확인error

입력한 내용과 화면 안내를 확인한 뒤 참가권 상태 확인을 다시 눌러 주세요.

확인 필요blocked

신청 조건과 참가 안내 기준 확인이 필요합니다. 준비되면 참가권 상태 확인을 다시 진행할 수 있습니다.

action-applications-applicationid-primaryidlesubmitting

사용자가 primary action을 실행합니다.

fixtureSuccesssubmittingsuccess

외부 provider 호출 없이 fixture 성공 상태를 표시합니다.

fixtureErrorsubmittingerror

검증/fixture 오류 상태를 표시합니다.

customerInputMissingidleblocked

고객 로고/계정/정책 blocker가 남아 있으면 blocked 상태를 유지합니다.

customerInputResolvedblockedidle

필수 입력이 해결되면 기본 상태로 돌아갑니다.

Fixture interaction runner

role·CTA·form·provider·audit 시뮬레이션

실 provider 호출 없이 primary CTA, role decision, form submit, state transition, audit requirement를 fixture-only로 점검합니다.

Role access

user6 denied roles

Primary flow

참가권 상태 확인/tickets/demo-ticket

Form submit

submitFixture1 required fields provided by fixture

Audit/provider

audit not required1 blocked providers, 0 calls

Mock navigation fixture

실데이터 없이 클릭 가능한 대표 흐름

Firebase·Toss·정책 원문을 호출하지 않는 fixture-only 링크입니다. 동적 segment는 demo id로 치환해 브라우저에서 바로 route reachability를 확인합니다.

Seed

신청 상세 demo flowroute-applications-application-id-fixturefixture-only-no-provider-call

Mocked entities

fixture:eventApplicationfixture:eligibilityCheckfixture:ticketPreviewprimitive:MobileShellprimitive:PageHeaderprimitive:Stepperprimitive:SummaryCardprimitive:QRCodeCardprimitive:StatusBadge

Fixture payload

화면별 최소 DTO preview

실제 Firebase/Toss/정책 원문 대신 사용할 최소 payload입니다. 화면 구조와 DTO 슬롯을 먼저 맞추고, 고객 계정·정책 수령 후 실제 데이터로 교체합니다.

Payload contract

applicationFlowpayload-applications-application-ideventApplication

Summary

관리자 승인 단계의 정원·성비 조정과 대기자 전환 가능성을 보여주는 eventApplication fixture payload입니다. 실제 provider 호출 없이 layout과 DTO 슬롯만 확인합니다.

route-applications-application-id-fixture
pending운영자 확인

검토 단계

neutral잠금

프로필 수정

운영 검토 중

신청 상세 검토 중

운영자가 정원과 성비를 확인한 뒤 승인하는 fixture

userP0gender-ratio-admin-stageadmin-review

Form fields

행사 · hidden · required운영자에게 남길 메모 · textarea · optional

admin-approval-policy-applied

waitlist-enabled

profile-lock-after-application

qr-security-needed

participant ticket shell