화면을 그릴 때 읽는 문서

화면과 사용 흐름

화면 10개가 각각 무슨 일을 맡고 어디서 어디로 이어지는지 적었습니다. 문자 링크로 들어온 사람이 인증 뒤 원래 보려던 화면으로 돌아가는 길도 여기 있습니다.

20,981자 · 시스템이 만든 그대로입니다

사람이 손댄 곳 2군데
  • · 문서와 화면 목록은 손대지 않았습니다. 이 사례에서 사람이 한 일은 수정 요청을 적어 보낸 것과, 검토가 되물은 것에 답한 것뿐입니다.
  • · 아래 ‘고쳐 가는 과정’의 요청문·검토문은 실제로 오간 원문입니다. 줄이거나 다듬지 않았습니다.

필라테스 공정 대기 예약

화면 및 사용 흐름 문서

1. 문서 목적

정원 5~15명의 기구 필라테스 스튜디오에서 다음 업무를 웹으로 처리한다.

  • 원장이 수업 날짜·시간·정원을 등록한다.
  • 회원이 휴대폰 웹페이지에서 수업을 예약하거나 대기 신청한다.
  • 취소 자리가 생기면 대기 신청 순서대로 문자 링크를 보낸다.
  • 회원이 빈자리를 수락하면 원장이 최종 승인한다.
  • 취소 시점에 따른 횟수 차감, 예외 복구, 노쇼를 기록한다.
  • 원장이 처리 과정과 오류 수정 이력을 시간순으로 확인한다.

회원과 원장 모두 별도 앱 설치 없이 Next.js 기반 웹페이지를 사용한다.


2. 서비스 기본 정보

항목내용
서비스명필라테스 공정 대기 예약
회원 이용 환경카카오톡이나 문자로 공유된 링크에서 여는 휴대폰 웹페이지
원장 이용 환경휴대폰·PC 웹페이지
핵심 회원 규모스튜디오당 약 31~60명
수업 정원5~15명
회원 확인 방식휴대폰 번호와 인증번호
회원권 결제서비스 밖에서 처리
서비스 내 회원권 관리횟수제 회원권의 총 횟수, 잔여 횟수, 기간, 회원권 이력
로고·색상제공되지 않음. 확인 필요
화면 말투공정한 기준과 처리 결과를 짧고 명확하게 안내하는 말투

공통 안내 문구 예시

대기 순번은 대기 신청 시각과 등록 순번에 따라 정해집니다.

무료 취소 마감 시각은 2026년 9월 3일 07:00입니다. 이후 취소는 원장이 횟수 차감 또는 미차감을 확인합니다.

다른 회원의 이름이나 연락처는 공개되지 않습니다.


3. 확정된 운영 규칙

3.1 예약과 대기

  1. 자리가 있으면 회원이 바로 예약한다.
  2. 만석이면 회원이 대기 신청한다.
  3. 대기 순번은 다음 두 값을 함께 사용한다.
    • 대기 신청 시각
    • 같은 시각의 신청을 구분하는 변경 불가능한 등록 순번
  4. 회원은 자신의 현재 대기 순번과 전체 대기 인원을 확인한다.
  5. 다른 회원의 이름과 휴대폰 번호는 볼 수 없다.

3.2 빈자리 제안

제안 발송 시점회원 응답 시간
수업 시작 2시간 전까지1시간
수업 시작 2시간 전 이후10분
  • 기준은 빈자리 제안 문자를 발송한 시각이다.
  • “수업 시작 2시간 전까지”에는 정확히 2시간 전인 시각도 포함한다.
  • 화면에는 남은 시간뿐 아니라 날짜가 포함된 응답 마감 시각을 표시한다.
  • 응답하지 않으면 해당 제안은 대기 수락 만료가 되고 다음 대기 회원에게 제안한다.

예시:

  • 수업 시작: 2026년 9월 3일 19:00
  • 16:30 제안: 17:30까지 응답
  • 17:00 제안: 18:00까지 응답
  • 17:10 제안: 17:20까지 응답

3.3 빈자리 수락과 원장 승인

  1. 회원이 문자 링크에서 빈자리를 수락한다.
  2. 상태가 수락 대기에서 승인 대기로 바뀐다.
  3. 해당 좌석은 원장이 승인하거나 반려할 때까지 임시 보류한다.
  4. 이 시간에는 다음 대기 회원에게 같은 좌석을 제안하지 않는다.
  5. 원장이 회원권 상태와 예외 여부를 확인한다.
  6. 원장이 승인하면 예약이 확정된다.
  7. 원장이 반려하면 좌석 보류가 풀리고 다음 대기 회원에게 제안한다.

회원권 잔여 횟수가 부족하거나 회원권이 만료된 회원도 빈자리를 수락할 수 있다. 이 경우 원장이 최종 예약 여부를 결정한다.

3.4 취소와 횟수 처리

  • 모든 취소에서 회원이 사유를 선택한다.
  • 기본 선택지는 지각, 건강, 개인 사정, 기타로 한다.
  • 필요한 경우 상세 내용을 추가한다.
  • 수업 12시간 전까지는 회원권 횟수 미차감이 기본이다.
  • 12시간 이내 취소는 원장이 차감 또는 미차감을 선택하고 이유를 기록한다.
  • 미차감 처리는 기존 차감 기록을 삭제하지 않고 예외 복구 이력을 추가한다.
  • 회원의 예약이 취소되면 횟수 처리 완료 여부와 관계없이 빈자리 안내를 시작한다.

3.5 노쇼와 오류 수정

  • 노쇼는 수업 시작 전 취소와 분리해 기록한다.
  • 원장은 수업 후 출석 상태를 출석, 지각 출석, 노쇼, 보류로 처리한다.
  • 기존 회원권 이력은 삭제하거나 덮어쓰지 않는다.
  • 잘못된 차감이나 노쇼는 원본 이력에 연결된 조정 이력을 추가해 수정한다.
  • 처리자, 처리 시각, 수정 전후 값, 사유를 남긴다.

4. 핵심 상태 흐름

대기 신청
→ 대기
→ 빈자리 발생
→ 수락 대기
   ├─ 무응답: 대기 수락 만료 → 다음 대기 회원에게 제안
   └─ 수락: 승인 대기
             ├─ 원장 승인: 예약 확정
             └─ 원장 반려: 다음 대기 회원에게 제안

좌석 수와 함께 바뀌어야 하는 정보

다음 정보는 한 번의 처리로 함께 저장해야 한다.

  • 수업의 예약 인원
  • 남은 좌석 수
  • 대기 신청 상태
  • 대기 제안 상태
  • 원장 승인 상태
  • 예약 상태
  • 회원권 이력

일부 정보만 저장되면 정원 초과, 중복 승인, 순서 누락이 발생할 수 있다.


5. 전체 화면 구조

회원 화면 흐름

카카오톡 예약 링크
→ 회원용 휴대폰 인증 화면 [member-phone-auth]
→ 회원용 수업 목록·예약·대기 신청 화면 [member-class-list]
→ 회원용 내 예약·대기 순번·취소 화면 [member-reservations]
→ 회원 화면 [member]
빈자리 수락 문자 링크
→ 인증이 필요한 경우 회원용 휴대폰 인증 화면 [member-phone-auth]
→ 문자 링크에서 여는 빈자리 수락 화면 [vacancy-accept]
→ 회원용 내 예약·대기 순번·취소 화면 [member-reservations]

원장 화면 흐름

원장용 날짜별 수업·예약 인원·대기 현황 화면 [owner-class-status]
├─ 원장용 수업 등록·수정 화면 [MS1]
├─ 수업별 화면 [class]
│  ├─ 원장용 빈자리 수락 승인 화면 [MS2]
│  └─ 원장용 오류 수정·조정 이력 화면 [MS3]
└─ 원장용 회원별 회원권 횟수·취소 예외·노쇼 기록 화면 [owner-member-records]
   ├─ 원장용 회원·회원권 초기 등록 화면 [MS4]
   └─ 원장용 오류 수정·조정 이력 화면 [MS3]

6. 회원 화면 상세

6.1 회원용 휴대폰 인증 화면 [member-phone-auth]

목적

회원가입을 따로 만들지 않고 휴대폰 번호와 인증번호로 회원을 확인한다. 인증 후에는 처음 열었던 수업, 내 예약 또는 빈자리 수락 화면으로 돌아간다.

진입 조건

  • 카카오톡 등에 공유된 예약 링크를 연 경우
  • 내 예약 확인 링크를 연 경우
  • 빈자리 수락 문자 링크를 열었지만 유효한 인증 상태가 없는 경우
  • 기존 인증 유지 기간이 끝난 경우

사용자가 보는 정보

  • 스튜디오명
  • 휴대폰 번호 입력란
  • 인증번호 입력란
  • 인증번호 유효 시간
  • 재전송 가능 시각
  • 인증 후 이동할 화면에 대한 짧은 안내

예시 문구:

스튜디오에 등록된 휴대폰 번호를 입력해 주세요.

인증이 완료되면 보려던 수업 화면으로 돌아갑니다.

할 수 있는 행동

  • 휴대폰 번호 입력
  • 인증번호 받기
  • 인증번호 입력
  • 인증번호 확인
  • 제한 시간이 지난 후 인증번호 재전송

상태

상태화면 처리
성공“휴대폰 확인이 완료됐어요.”를 보여주고 원래 요청한 화면으로 이동
빈 상태휴대폰 번호 입력란과 인증번호 받기 버튼 표시
등록되지 않은 번호“스튜디오에 등록되지 않은 번호예요. 원장에게 등록된 번호를 확인해 주세요.”
인증번호 불일치남은 입력 가능 횟수와 함께 다시 입력 안내
인증번호 만료새 인증번호 요청 안내
재전송 제한다시 요청할 수 있는 시각 표시
전송 실패“문자를 보내지 못했어요. 잠시 후 다시 시도해 주세요.”
반복 실패일정 시간 입력을 제한하고 해제 시각 표시

완료 조건

  • 입력한 번호가 등록된 회원 기록과 연결된다.
  • 인증 완료 시각과 인증 상태가 저장된다.
  • 처음 열었던 주소가 유지되어 해당 화면으로 복귀한다.

다음 화면

  • 일반 예약 링크: [member-class-list]
  • 내 예약 링크: [member-reservations]
  • 빈자리 수락 링크: [vacancy-accept]

6.2 회원용 수업 목록·예약·대기 신청 화면 [member-class-list]

목적

회원이 날짜별 수업을 확인하고 자리가 있으면 예약하며, 만석이면 대기 신청한다.

진입 조건

  • [member-phone-auth]에서 인증 완료
  • 인증 상태가 유지된 회원이 예약 링크로 재방문
  • [member-reservations]에서 다른 수업 찾기 선택

사용자가 보는 정보

수업 카드마다 다음 정보를 표시한다.

  • 수업 날짜
  • 시작·종료 시각
  • 수업명
  • 정원
  • 현재 예약 인원
  • 남은 자리 또는 전체 대기 인원
  • 예약 가능, 만석, 대기 가능, 예약 마감, 휴강 상태
  • 무료 취소 마감 시각
  • 회원권 잔여 횟수
  • 본인의 예약 또는 대기 신청 여부

예시:

2026년 9월 3일 19:00
그룹 리포머
예약 8/8명 · 대기 2명
신청하면 대기 3번이 됩니다.

할 수 있는 행동

  • 날짜 변경
  • 수업 선택
  • 자리가 있는 수업 예약
  • 만석 수업 대기 신청
  • 내 예약·대기 보기
  • 이미 예약하거나 대기 중인 수업 상태 확인

예약 처리

예약하기를 누르면 다음 내용을 확인한다.

  • 정원이 남아 있는지
  • 동일 회원이 같은 수업에 이미 예약했는지
  • 회원권의 잔여 횟수와 만료일
  • 같은 요청이 반복 전송된 것은 아닌지

마지막 자리를 여러 회원이 동시에 예약해도 한 명만 성공해야 한다.

대기 신청 처리

  • 대기 신청 시각과 등록 순번을 저장한다.
  • 신청 직후 현재 대기 순번을 보여준다.
  • 대기 중에는 회원권 횟수를 차감하지 않는다.

상태

상태화면 처리
예약 성공“예약이 확정됐어요.”와 수업 정보, 무료 취소 마감 시각 표시
대기 신청 성공“대기 신청이 완료됐어요. 현재 대기 3번이에요.”
빈 상태“선택한 날짜에 등록된 수업이 없어요.”
휴강예약 버튼을 숨기고 휴강 상태 표시
동시 예약 실패“방금 마지막 자리가 예약됐어요. 대기 신청을 할 수 있어요.”
중복 예약새 예약을 만들지 않고 기존 예약 상태 표시
중복 대기 신청새 대기 신청을 만들지 않고 기존 대기 순번 표시
회원권 확인 오류예약을 확정하지 않고 다시 시도 안내
통신 오류좌석과 회원권이 일부만 처리되지 않도록 전체 요청 취소 후 재시도 안내

완료 조건

  • 예약 성공 시 정원을 넘지 않는다.
  • 대기 신청 성공 시 변경 불가능한 등록 순번이 부여된다.
  • 회원이 새로고침해도 같은 예약·대기 상태가 표시된다.

다음 화면

  • 예약 완료 또는 대기 신청 완료: [member-reservations]
  • 대기 순번 상세 확인: [member]

6.3 회원용 내 예약·대기 순번·취소 화면 [member-reservations]

목적

회원이 자신의 예약, 대기 신청, 승인 대기 상태를 한곳에서 확인하고 예약을 취소한다.

진입 조건

  • [member-class-list]에서 내 예약·대기 선택
  • 예약 또는 대기 신청 완료
  • 빈자리 수락 후 현재 상태 확인
  • 내 예약 확인 링크로 접속

사용자가 보는 정보

예약 항목

  • 수업 날짜·시간·수업명
  • 예약 상태
  • 무료 취소 마감 시각
  • 현재 시점에 취소할 경우 예상되는 횟수 처리
  • 사용한 회원권과 잔여 횟수

대기 항목

  • 대기 신청 시각
  • 현재 내 대기 순번
  • 전체 대기 인원
  • 대기, 수락 대기, 대기 수락 만료, 승인 대기 상태
  • 응답 마감 시각
  • 대기 중에는 회원권이 차감되지 않는다는 안내

할 수 있는 행동

  • 예약 상세 확인
  • 예약 취소
  • 취소 사유 선택
  • 취소 상세 내용 입력
  • 대기 순번 상세 보기
  • 다른 수업 찾기
  • 승인 대기 결과 확인

취소 입력

모든 취소에서 다음을 받는다.

  • 취소 사유: 지각 / 건강 / 개인 사정 / 기타
  • 상세 내용: 선택 입력
  • 취소 결과 확인

12시간 이내 취소 안내 예시:

무료 취소 마감 시각이 지났습니다.
취소 후 원장이 회원권 횟수의 차감 또는 미차감을 확인합니다.

상태

상태화면 처리
무료 취소 성공취소 완료와 회원권 처리 결과 표시
12시간 이내 취소 성공“취소됐어요. 회원권 횟수 처리는 원장 확인 후 결정됩니다.”
빈 상태“현재 예약하거나 대기 중인 수업이 없어요.”
이미 취소된 예약중복 취소하지 않고 기존 취소 시각과 처리 결과 표시
수업 시작 후 취소 요청취소 가능 여부를 확인하지 못한 경우 요청을 처리하지 않고 안내
처리 중 좌석 변경최신 예약 상태를 다시 불러오고 중복 처리 방지
취소 사유 미선택사유 선택 전에는 취소 확정 버튼 비활성화
오류예약과 회원권 이력이 일부만 변경되지 않도록 전체 처리 취소

완료 조건

  • 취소 사유와 취소 시각이 저장된다.
  • 좌석이 비면 첫 번째 대기 회원에게 안내 절차가 시작된다.
  • 12시간 이내 취소는 원장 처리 항목에 표시된다.
  • 무료 취소는 회원권 이력과 잔여 횟수가 일치한다.

다음 화면

  • 대기 상세: [member]
  • 다른 수업 예약: [member-class-list]
  • 빈자리 수락 상태 확인: [vacancy-accept]

6.4 회원 화면 [member]

목적

특정 수업의 대기 신청 상태와 현재 내 대기 순번을 자세히 보여준다.

진입 조건

  • [member-class-list]에서 대기 신청 완료
  • [member-reservations]에서 대기 중인 수업 선택
  • 대기 상태 안내 링크 접속

사용자가 보는 정보

  • 수업 날짜·시간·수업명
  • 대기 신청 시각
  • 현재 내 대기 순번
  • 전체 대기 인원
  • 대기 운영 기준
  • 빈자리 제안 시 응답 시간
  • 회원권 미차감 안내
  • 개인정보 비공개 안내

예시:

현재 대기 3번입니다.
앞선 대기 회원의 예약 확정 또는 대기 수락 만료에 따라 순번이 달라질 수 있습니다.

할 수 있는 행동

  • 최신 대기 순번 새로 확인
  • 내 예약·대기 목록으로 이동
  • 다른 수업 보기
  • 대기 신청 취소는 지원 여부 확인 필요

상태

상태화면 처리
정상현재 순번과 마지막 갱신 시각 표시
순번 변경변경된 순번을 즉시 표시
수락 대기응답 마감 시각과 문자 링크 확인 안내
승인 대기“빈자리를 수락했어요. 원장 승인을 기다리고 있습니다.”
예약 확정대기 순번 대신 확정된 예약 정보 표시
대기 수락 만료제안 발송·만료 시각과 현재 처리 결과 표시
빈 상태해당 수업의 활성 대기 신청이 없다는 안내
오류순번을 임의로 계산하지 않고 다시 불러오기 안내

완료 조건

  • 다른 회원의 개인정보가 노출되지 않는다.
  • 대기 순번은 서버에 저장된 신청 시각과 등록 순번으로 계산된다.
  • 화면의 순번과 원장 화면의 순번이 일치한다.

다음 화면

  • [member-reservations]
  • [member-class-list]
  • 활성 제안이 있는 경우 [vacancy-accept]

6.5 문자 링크에서 여는 빈자리 수락 화면 [vacancy-accept]

목적

대기 회원이 자신에게 제안된 빈자리를 응답 마감 시각 안에 수락한다.

진입 조건

  • 대기 회원에게 발송된 문자 링크를 연 경우
  • 링크가 해당 회원과 대기 제안 건에 연결된 경우
  • 인증 상태가 없으면 [member-phone-auth]를 먼저 완료

사용자가 보는 정보

  • 스튜디오명
  • 수업 날짜·시간·수업명
  • 빈자리 제안 발송 시각
  • 날짜가 포함된 응답 마감 시각
  • 남은 응답 시간
  • 회원권 잔여 횟수와 만료일
  • 수락 후 승인 대기가 된다는 안내
  • 회원권 횟수가 부족한 경우 원장 확인이 필요하다는 안내

예시:

2026년 9월 3일 19:00 그룹 리포머 수업에 자리가 생겼습니다.
2026년 9월 3일 17:20까지 수락해 주세요.
수락 후 원장의 최종 승인을 거쳐 예약이 확정됩니다.

할 수 있는 행동

  • 빈자리 수락
  • 내 예약·대기 현황 보기
  • 응답하지 않고 화면 닫기

첫 개발 범위에서는 별도의 거절 버튼이 확인되지 않았다.

상태

상태화면 처리
수락 성공상태를 승인 대기로 변경하고 원장 확인 안내
승인 성공“예약이 확정됐어요.”와 회원권 처리 결과 표시
원장 반려반려 결과와 처리 시각 표시
빈 상태유효한 제안 정보가 없는 경우 링크 확인 안내
대기 수락 만료“응답 시간이 지나 이번 제안이 종료됐어요.”와 만료 시각 표시
이미 수락다시 처리하지 않고 기존 수락 시각과 승인 상태 표시
이미 다른 회원에게 배정현재 처리 결과 표시
잘못된 회원수락을 막고 본인 휴대폰 인증 안내
변조되거나 잘못된 링크수업 정보와 회원 정보를 노출하지 않고 유효하지 않은 링크 안내
동시 처리 오류좌석이 중복 확보되지 않도록 요청을 중단하고 최신 상태 표시

완료 조건

  • 같은 링크를 여러 번 눌러도 한 번만 수락된다.
  • 수락 시 좌석이 승인 대기 상태로 임시 보류된다.
  • 원장에게 승인 요청이 생성된다.
  • 원장 승인 전에는 예약 확정으로 표시하지 않는다.

다음 화면

  • 현재 상태 확인: [member-reservations]
  • 원장 처리 화면: [MS2]

7. 원장 화면 상세

7.1 원장용 날짜별 수업·예약 인원·대기 현황 화면 [owner-class-status]

목적

원장이 날짜별 수업과 예약 인원, 대기 현황, 처리할 업무를 한눈에 확인한다.

진입 조건

  • 원장 권한으로 웹서비스에 접속
  • 원장 인증 방식은 별도 확인 필요

사용자가 보는 정보

날짜별로 다음 정보를 표시한다.

  • 수업 날짜·시간·수업명
  • 정원과 예약 인원
  • 대기 인원
  • 수락 대기 인원
  • 승인 대기 인원
  • 12시간 이내 취소 처리 대기 건수
  • 출석·노쇼 처리 상태
  • 예약 가능, 만석, 휴강, 종료 상태
  • 문자 발송 실패 여부
  • 오류 확인 필요 표시

상단 처리 항목:

  • 승인 대기
  • 곧 만료되는 대기 제안
  • 문자 발송 실패
  • 취소 예외 처리 대기
  • 출석·노쇼 처리 대기
  • 잔여 횟수 부족 회원

할 수 있는 행동

  • 날짜 변경
  • 수업 등록
  • 수업 수정
  • 수업별 상세 열기
  • 승인 대기 건 처리
  • 회원 기록 열기
  • 오류 수정 화면 열기

상태

상태화면 처리
정상날짜별 수업과 최신 인원 표시
빈 상태“이 날짜에는 등록된 수업이 없어요.”와 수업 등록 버튼 표시
승인 대기 있음화면 상단에 건수와 가장 오래된 대기 시간 표시
문자 발송 실패실패 수업과 회원, 재시도 상태 표시
인원 불일치정원·예약·보류 좌석 계산 오류 경고
불러오기 오류마지막 갱신 시각을 표시하고 최신 정보 재요청
일부 처리 실패자동 수정하지 않고 오류 확인 항목에 등록

완료 조건

  • 수업별 예약 인원과 실제 예약 기록 수가 일치한다.
  • 대기 인원과 활성 대기 신청 수가 일치한다.
  • 승인 대기 좌석이 남은 좌석 계산에 포함된다.
  • 원장이 가장 급한 처리 항목을 첫 화면에서 확인할 수 있다.

다음 화면

  • 수업 등록·수정: [MS1]
  • 수업 상세: [class]
  • 승인 처리: [MS2]
  • 회원 기록: [owner-member-records]
  • 오류 수정: [MS3]

7.2 수업별 화면 [class]

목적

원장이 특정 수업의 예약자, 대기 순번, 취소 사유, 문자 제안, 회원 응답, 최종 처리 상태를 시간순으로 확인한다.

진입 조건

  • [owner-class-status]에서 수업 선택
  • 승인·오류 알림에서 특정 수업 선택

사용자가 보는 정보

수업 요약

  • 수업 날짜·시작·종료 시각
  • 수업명
  • 정원
  • 예약 인원
  • 임시 보류 좌석
  • 대기 인원
  • 무료 취소 마감 시각
  • 수업 상태

예약자 목록

  • 회원 이름
  • 마스킹된 휴대폰 번호
  • 예약 확정 시각
  • 회원권 잔여 횟수
  • 취소 또는 출석 상태
  • 노쇼 처리 여부

대기 목록

  • 대기 순번
  • 대기 신청 시각
  • 등록 순번
  • 현재 상태
  • 제안 발송 시각
  • 응답 마감 시각
  • 응답 시각

시간순 처리 기록

  • 예약
  • 취소와 취소 사유
  • 빈자리 발생
  • 문자 발송 요청과 결과
  • 대기 제안
  • 대기 수락 만료
  • 회원 수락
  • 원장 승인 또는 반려
  • 회원권 차감·예외 복구
  • 출석·노쇼
  • 오류 수정

할 수 있는 행동

  • 예약자와 대기자 상세 확인
  • 승인 대기 처리
  • 출석 상태 기록
  • 노쇼 기록
  • 취소 예외 처리
  • 오류 수정 화면 열기
  • 수업 정보 수정

상태

상태화면 처리
정상예약자·대기자·처리 기록을 최신 순서로 표시
대기 없음“현재 대기 신청자가 없어요.”
처리 기록 없음수업 등록 기록만 표시
승인 대기보류 중인 좌석과 대기 시간을 강조
문자 실패실패 코드와 재시도 횟수 표시
순번 불일치자동 재배정하지 않고 오류 확인 표시
정원 초과추가 승인을 막고 오류 수정 안내
불러오기 오류마지막으로 확인된 자료임을 표시하고 재시도 제공

완료 조건

  • 모든 처리 기록에 시각과 처리 주체가 남는다.
  • 대기 목록의 순번과 회원 화면의 순번이 일치한다.
  • 기존 기록이 수정되면 원본과 조정 이력을 함께 확인할 수 있다.

다음 화면

  • 수업 수정: [MS1]
  • 승인 처리: [MS2]
  • 회원 기록: [owner-member-records]
  • 오류 수정: [MS3]
  • 목록 복귀: [owner-class-status]

7.3 원장용 회원별 회원권 횟수·취소 예외·노쇼 기록 화면 [owner-member-records]

목적

원장이 회원별 회원권 잔여 횟수, 취소 예외, 노쇼, 예약·대기 이력을 확인하고 처리한다.

진입 조건

  • [owner-class-status]에서 회원 관리 선택
  • [class]에서 회원 이름 선택
  • 취소 예외 또는 노쇼 처리 항목 선택

사용자가 보는 정보

회원 요약

  • 회원 이름
  • 마스킹된 휴대폰 번호
  • 휴대폰 인증 여부
  • 활성 상태
  • 내부 메모

회원권

  • 회원권명
  • 총 횟수
  • 현재 잔여 횟수
  • 시작일
  • 만료일
  • 사용 상태

이용 기록

  • 예약
  • 대기 신청
  • 무료 취소
  • 12시간 이내 취소
  • 예외 복구
  • 출석
  • 지각 출석
  • 노쇼
  • 보류
  • 대기 제안 무응답

회원권 이력

  • 처리 일시
  • 처리 유형
  • 증감 횟수
  • 처리 전후 잔여 횟수
  • 연결 수업
  • 원본 이력
  • 처리자
  • 처리 사유

할 수 있는 행동

  • 회원 검색
  • 회원 상세 확인
  • 12시간 이내 취소의 차감 또는 미차감 선택
  • 처리 이유 입력
  • 예외 복구 승인
  • 노쇼 기록
  • 회원권 이력 확인
  • 회원·회원권 신규 등록
  • 잘못된 기록 수정

12시간 이내 취소 처리

선택처리
차감기존 차감을 유지하고 선택 이유 기록
미차감원본 차감 이력에 연결된 예외 복구 +1회 생성
나중에 확인처리 대기 상태 유지

상태

상태화면 처리
정상회원 요약과 최신 이력 표시
회원 없음“등록된 회원이 없어요.”와 회원 등록 버튼 표시
검색 결과 없음입력한 이름 또는 번호와 일치하는 회원이 없다는 안내
예외 처리 대기미처리 취소 건과 경과 시간 표시
이력 불일치현재 잔여 횟수와 회원권 이력 합계가 다르다는 경고
중복 회원같은 휴대폰 번호로 등록된 회원 기록 표시
저장 오류기존 값을 유지하고 새 조정 이력을 생성하지 않음

완료 조건

  • 잔여 횟수와 회원권 이력 합계가 일치한다.
  • 예외 복구는 반드시 원본 이력과 연결된다.
  • 노쇼에는 연결 수업, 처리자, 처리 시각이 남는다.
  • 기존 이력은 삭제하거나 덮어쓰지 않는다.

다음 화면

  • 회원·회원권 등록: [MS4]
  • 오류 수정: [MS3]
  • 연결 수업: [class]
  • 목록 복귀: [owner-class-status]

7.4 원장용 수업 등록·수정 화면 [MS1]

목적

원장이 수업 날짜, 시간, 수업명, 정원과 예약·대기 가능 상태를 등록하거나 수정한다.

진입 조건

  • [owner-class-status]에서 수업 등록 선택
  • [owner-class-status] 또는 [class]에서 수업 수정 선택

사용자가 보는 정보

  • 수업명
  • 수업 날짜
  • 시작 시각
  • 종료 시각
  • 정원
  • 예약 가능 여부
  • 대기 신청 가능 여부
  • 현재 예약·대기 인원
  • 계산된 무료 취소 마감 시각
  • 수업 상태

할 수 있는 행동

  • 새 수업 등록
  • 수업명·날짜·시간 수정
  • 정원을 5~15명 범위에서 설정
  • 예약과 대기 신청 상태 변경
  • 휴강 처리
  • 변경 취소

상태

상태화면 처리
등록 성공수업 목록에 새 수업 표시
수정 성공변경된 날짜·시간·정원과 처리 시각 표시
빈 상태새 수업 입력 양식 표시
정원 범위 오류5명 미만 또는 15명 초과 저장 방지
종료 시각 오류종료 시각이 시작 시각보다 빠르면 저장 방지
정원 축소 오류현재 예약·보류 좌석보다 작은 정원으로 저장 방지
중복 수업 경고같은 날짜·시간의 기존 수업을 보여주고 확인 필요 표시
저장 실패기존 수업 정보를 유지하고 재시도 안내

완료 조건

  • 날짜·시작 시각·종료 시각·수업명·정원이 저장된다.
  • 무료 취소 마감 시각이 수업 시작 12시간 전으로 계산된다.
  • 수정 전후 값과 수정 시각이 기록된다.
  • 예약자나 대기자가 있는 수업의 중요 변경은 기록으로 남는다.

다음 화면

  • 저장 후 [owner-class-status]
  • 수업 상세 확인 [class]

7.5 원장용 빈자리 수락 승인 화면 [MS2]

목적

원장이 빈자리를 수락한 회원의 회원권 상태와 응답 정보를 확인하고 최종 예약 승인 또는 반려한다.

진입 조건

  • 회원이 [vacancy-accept]에서 빈자리 수락 완료
  • [owner-class-status]의 승인 대기 항목 선택
  • [class]의 승인 대기 회원 선택
  • 원장 확인 링크 접속

사용자가 보는 정보

  • 회원 이름과 마스킹된 휴대폰 번호
  • 수업 날짜·시간·수업명
  • 대기 신청 시각과 당시 대기 순번
  • 빈자리 제안 발송 시각
  • 응답 마감 시각
  • 회원 수락 시각
  • 승인 대기 경과 시간
  • 임시 보류 좌석 수
  • 회원권명, 잔여 횟수, 만료일
  • 최근 취소 예외와 노쇼 기록
  • 회원권 부족 또는 만료 경고
  • 수락 전후 시간순 처리 기록

할 수 있는 행동

  • 예약 승인
  • 예약 반려
  • 승인 또는 반려 이유 입력
  • 회원 상세 열기
  • 수업 상세 열기

승인 처리

승인 시 다음 정보가 함께 처리되어야 한다.

  • 예약 상태를 예약 확정으로 변경
  • 좌석 보류를 실제 예약 좌석으로 변경
  • 대기 상태를 승인 완료로 변경
  • 회원권 횟수 처리
  • 처리자와 처리 시각 기록
  • 같은 좌석에 대한 다음 대기 안내 중단

반려 처리

  • 승인 대기 상태 종료
  • 좌석 보류 해제
  • 반려 이유 기록
  • 다음 대기 회원에게 순차 안내 시작

상태

상태화면 처리
승인 성공예약 확정과 회원권 처리 결과 표시
반려 성공다음 대기 회원 안내 시작 여부 표시
빈 상태현재 승인 대기 건이 없다는 안내
회원권 부족경고를 표시하되 원장이 예약 여부를 결정할 수 있게 함
회원권 만료만료일과 원장 확인 필요 표시
이미 처리됨중복 승인하지 않고 기존 처리자와 시각 표시
좌석 없음승인을 막고 정원·보류 좌석 오류 확인 안내
동시 승인한 요청만 성공하고 나머지는 최신 상태 표시
저장 오류승인과 회원권 횟수가 일부만 처리되지 않도록 전체 처리 취소

완료 조건

  • 승인 후 정원을 넘지 않는다.
  • 한 빈자리에 한 회원만 승인된다.
  • 회원권 처리와 예약 확정이 함께 완료된다.
  • 반려 후 다음 대기 회원 안내가 누락되지 않는다.
  • 모든 결정에 원장과 처리 시각이 남는다.

다음 화면

  • 수업 상세: [class]
  • 회원 상세: [owner-member-records]
  • 목록: [owner-class-status]

7.6 원장용 오류 수정·조정 이력 화면 [MS3]

목적

중복 예약, 대기 순서 누락, 잘못된 취소·노쇼·회원권 횟수 처리를 원본 기록을 보존하며 수정한다.

진입 조건

  • [class]에서 오류 수정 선택
  • [owner-member-records]에서 회원권 이력 수정 선택
  • [owner-class-status]의 오류 확인 항목 선택
  • 시스템이 인원·회원권 이력 불일치를 감지한 경우

사용자가 보는 정보

  • 오류 유형
  • 관련 회원과 수업
  • 원본 예약·대기·출석·회원권 이력
  • 현재 화면에 표시되는 값
  • 수정 전 값
  • 연결된 제안·승인·차감 기록
  • 기존 수정 이력
  • 오류가 좌석과 회원권에 미치는 영향

할 수 있는 행동

  • 오류 유형 선택
  • 수정할 값 입력
  • 수정 이유 입력
  • 원본 이력에 연결된 조정 이력 추가
  • 수정 전후 결과 미리 확인
  • 수정 확정
  • 수정 취소

지원할 오류 유형:

  • 중복 예약
  • 대기 순서 누락
  • 잘못된 예약 취소
  • 잘못된 노쇼
  • 회원권 횟수 오류
  • 잘못된 예외 복구
  • 잘못된 원장 승인 또는 반려

상태

상태화면 처리
수정 성공원본과 새 조정 이력을 함께 표시
빈 상태선택된 오류 기록이 없다는 안내
수정 이유 미입력저장 버튼 비활성화
원본 이력 없음수정 진행을 막고 원본 확인 안내
다른 처리와 충돌최신 기록을 다시 불러온 뒤 재확인 요청
잔여 횟수 불일치수정 후 예상 잔여 횟수와 이력 합계를 비교
저장 오류원본을 유지하고 조정 이력을 생성하지 않음

완료 조건

  • 원본 기록을 삭제하거나 덮어쓰지 않는다.
  • 새 조정 이력이 원본 이력과 연결된다.
  • 수정 전후 값, 사유, 처리자, 처리 시각이 남는다.
  • 좌석 수와 회원권 잔여 횟수를 다시 계산한다.
  • 수정 후에도 정원을 넘지 않는다.

다음 화면

  • 연결 수업: [class]
  • 연결 회원: [owner-member-records]
  • 날짜별 현황: [owner-class-status]

7.7 원장용 회원·회원권 초기 등록 화면 [MS4]

목적

기존 회원과 서비스 밖에서 결제한 횟수제 회원권 정보를 등록한다.

진입 조건

  • [owner-member-records]에서 회원 등록 선택
  • 기존 회원의 회원권을 새로 연결하는 경우

사용자가 보는 정보

회원 정보

  • 이름
  • 휴대폰 번호
  • 활성 상태
  • 내부 메모

회원권 정보

  • 회원권명
  • 총 횟수
  • 현재 잔여 횟수
  • 시작일
  • 만료일
  • 등록 경로

할 수 있는 행동

  • 회원 등록
  • 기존 회원 검색
  • 휴대폰 번호 중복 확인
  • 횟수제 회원권 등록
  • 회원과 회원권 연결
  • 입력 취소

상태

상태화면 처리
등록 성공회원과 회원권 요약 표시
빈 상태새 회원 입력 양식 표시
휴대폰 번호 중복기존 회원 기록을 보여주고 중복 등록 방지
총 횟수 오류0 이하의 총 횟수 저장 방지
잔여 횟수 오류잔여 횟수가 총 횟수보다 크면 확인 필요 표시
날짜 오류만료일이 시작일보다 빠르면 저장 방지
저장 실패일부 정보만 등록하지 않고 전체 요청 취소

완료 조건

  • 회원에게 고유한 회원 ID가 생성된다.
  • 휴대폰 번호가 회원 기록에 연결된다.
  • 회원권 등록 이력이 생성된다.
  • 현재 잔여 횟수와 등록 이력의 합계가 일치한다.
  • 이후 회원이 해당 번호로 인증할 수 있다.

다음 화면

  • 등록된 회원 확인: [owner-member-records]
  • 수업 현황: [owner-class-status]

8. 핵심 사용 흐름

8.1 원장이 첫 운영을 준비하는 흐름

원장 접속
→ 기존 회원 등록 [MS4]
→ 회원권 총 횟수·잔여 횟수·기간 입력
→ 수업 등록 [MS1]
→ 수업 목록 확인 [owner-class-status]
→ 카카오톡 단체방에 예약 링크 공유

완료 조건

  • 기존 회원이 휴대폰 번호로 인증된다.
  • 수업 정원이 5~15명 범위로 등록된다.
  • 예약 링크를 연 회원이 해당 스튜디오의 수업 목록을 볼 수 있다.

8.2 회원이 수업을 예약하는 흐름

카카오톡 예약 링크
→ 휴대폰 번호 입력
→ 인증번호 확인
→ 수업 목록
→ 자리가 있는 수업 선택
→ 예약하기
→ 예약 확정
→ 내 예약 확인

완료 조건

  • 같은 회원의 동일 수업 중복 예약이 없다.
  • 수업 정원을 넘지 않는다.
  • 예약 정보와 회원권 이력이 함께 저장된다.
  • 무료 취소 마감 시각이 표시된다.

8.3 회원이 대기 신청하는 흐름

만석 수업 선택
→ 현재 대기 인원 확인
→ 대기 신청
→ 신청 시각과 등록 순번 저장
→ 현재 내 대기 순번 표시
→ 내 예약·대기 화면에서 재확인

완료 조건

  • 대기 신청 순서가 변경되지 않는다.
  • 같은 수업에 중복 대기 신청할 수 없다.
  • 회원은 다른 회원의 개인정보를 볼 수 없다.

8.4 취소 자리 자동 안내 흐름

기존 예약자 취소
→ 좌석 1개 발생
→ 활성 대기 신청 중 가장 빠른 회원 확인
→ 문자 수락 링크 발송
→ 상태를 수락 대기로 변경
→ 응답 마감 시각 저장

회원이 응답하지 않은 경우:

응답 마감 시각 도달
→ 대기 수락 만료
→ 다음 대기 회원 확인
→ 새 문자 링크 발송

완료 조건

  • 동시에 여러 회원에게 같은 좌석을 제안하지 않는다.
  • 문자 발송 요청과 실제 전달 결과를 구분해 기록한다.
  • 자동 처리 중 서버 장애가 발생해도 누락된 만료 건을 다시 확인한다.

8.5 빈자리 수락과 원장 승인 흐름

회원이 문자 링크 열기
→ 필요하면 휴대폰 인증
→ 수업과 응답 마감 시각 확인
→ 빈자리 수락
→ 좌석 임시 보류
→ 승인 대기
→ 원장 승인 화면 표시

원장 승인:

회원권과 예외 상태 확인
→ 예약 승인
→ 예약 확정
→ 회원권 횟수 처리
→ 회원 화면에 확정 표시

원장 반려:

반려 이유 입력
→ 좌석 보류 해제
→ 다음 대기 회원에게 제안

8.6 회원이 예약을 취소하는 흐름

내 예약 선택
→ 취소 선택
→ 지각·건강·개인 사정·기타 중 사유 선택
→ 필요하면 상세 내용 입력
→ 취소 결과 확인

무료 취소:

무료 취소 마감 이전
→ 예약 취소
→ 회원권 미차감 또는 기존 차감 복구
→ 빈자리 대기 안내 시작

12시간 이내 취소:

무료 취소 마감 이후
→ 예약 취소
→ 원장 처리 대기
→ 원장이 차감 또는 미차감 선택
→ 이유 기록
→ 미차감이면 예외 복구 이력 추가

8.7 노쇼 기록 흐름

수업 종료
→ 원장이 수업별 예약자 확인
→ 출석 / 지각 출석 / 노쇼 / 보류 선택
→ 노쇼 확정
→ 회원별 기록에 반영
→ 회원권 처리와 연결

완료 조건

  • 예약 시 이미 횟수를 차감했다면 노쇼에서 다시 차감하지 않는다.
  • 노쇼 기록과 회원권 이력이 연결된다.
  • 노쇼 예외는 기존 노쇼를 삭제하지 않고 복구 이력을 추가한다.

9. 화면별 기능 연결

화면주요 연결 기능
[member-phone-auth]F13, F24
[member-class-list]F14, F25, MF3
[member-reservations]F14, F18, F26
[member]F3
[vacancy-accept]F6, F17, F28, MF3
[owner-class-status]F15, F23, MF2
[class]F15, F20, F21
[owner-member-records]F9, F18, F19, F20, F29
[MS1]F23
[MS2]F7, F28, MF4
[MS3]F22
[MS4]MF1

첫 개발과 후속 기능의 구분

  • 취소 사유 입력은 F26에 따라 첫 개발에 포함한다.
  • 기본 노쇼 기록은 F20에 따라 첫 개발에 포함한다.
  • 노쇼 횟수를 자동으로 대기 우선순위나 예약 제한에 반영하는 기능은 F10의 후속 범위다.
  • 첫 개발에서는 확정된 12시간·2시간·1시간·10분 기준을 고정 적용한다.
  • 원장이 운영 규칙을 직접 바꾸는 설정 화면은 F11의 후속 범위다.
  • 원장의 월 구독료 결제 F30은 후속 기능이다. 제공된 화면 목록에 결제 화면이 없으므로 화면과 결제 방식은 별도 확정이 필요하다.

10. 확인 필요 사항

우선 확인이 필요한 운영 규칙

  1. 회원권 횟수 차감 시점

    • 가정: 예약 확정 시 1회 차감하고, 무료 취소 시 1회를 복구한다.
    • 회원이 직접 선택한 내용은 아니므로 개발 전에 확정이 필요하다.
  2. 일반 예약에서 회원권 횟수가 부족한 경우

    • 대기 수락 후 부족한 경우는 원장이 결정한다.
    • 자리가 있는 수업을 바로 예약할 때 부족한 회원을 막을지, 원장 승인으로 넘길지는 확인 필요하다.
  3. 회원권 부족 상태에서 원장이 예약을 승인한 경우

    • 잔여 횟수를 음수로 만들지, 회원권 등록 후 차감할지, 횟수 처리를 별도로 보류할지 확인 필요하다.
    • 회원권 결제와 충전은 서비스 밖에서 계속 처리한다.
  4. 대기 수락 만료 후 기존 대기 신청

    • 현재 빈자리 제안에서는 다음 회원에게 넘어간다.
    • 만료된 회원의 대기 신청을 종료할지, 다음 빈자리에서는 기존 순번을 유지할지 확인 필요하다.
  5. 원장 승인 대기 좌석의 만료 시간

    • 회원 수락 후 원장이 언제까지 승인해야 하는지 확인 필요하다.
    • 만료되면 자동 반려할지, 좌석 보류를 계속 유지할지도 정해야 한다.
  6. 수업 시작 10분 미만에 빈자리가 생긴 경우

    • 확정 규칙대로 10분을 주면 응답 마감이 수업 시작 이후가 될 수 있다.
    • 응답 마감을 수업 시작 시각으로 제한할지 확인 필요하다.
  7. 문자 발송 실패 처리

    • 같은 회원에게 자동 재시도할지, 원장이 확인할지, 다음 대기 회원에게 넘길지 확인 필요하다.
  8. 원장 반려·예약 확정 결과 알림

    • 회원 화면에는 결과를 표시한다.
    • 결과를 문자로도 보낼지는 확인 필요하다.
  9. 대기 신청 취소

    • 회원이 직접 대기 신청을 취소할 수 있게 할지 확인 필요하다.
  10. 수업 수정·휴강 알림

    • 예약자가 있는 수업의 시간 변경이나 휴강 시 회원에게 문자를 보낼지 확인 필요하다.
  11. 원장 인증

    • 원장 화면의 로그인 방식과 인증 유지 기간, 비밀번호 재설정 방식이 확인되지 않았다.

연동 및 운영 확인

  • 휴대폰 번호 소유 확인용 인증 수준
  • 인증번호 만료 시간과 입력 실패 제한
  • 문자 발송 업체와 발신번호 등록
  • 문자별 발송 요청·성공·실패·재시도 기록 방식
  • 회원 연락처, 예약·취소·노쇼 기록의 보관 기간
  • 원장 화면에서 휴대폰 번호 전체를 볼 수 있는 권한
  • 월 구독료에 문자 비용을 포함할지 별도 과금할지
  • 로고, 대표 색상, 스튜디오별 이름 표시 방식
화면과 사용 흐름 — 동네 필라테스 예약과 대기 순번 | Prometheon