미창조㈜ · AX 사업추진 TF

16-A. 예약·스케줄 기능 상세 — 19개

15번 목록의 A 도메인을 와이어프레임 작성자가 화면에 무엇을 놓을지 판단할 수 있는 수준까지 폈다. 기능 하나를 여섯 줄(목적·트리거·입력·규칙·결과·예외)로 정의한다.

191차192차0미결 02차 미작성 1

상위: 15. RIAHN CONNECT 기능 목록 · 화면 목록 — A 도메인
필드 정의와 표기(⚑ 분리 검토 · ▷ 2차 상세 미작성)는 16-C 0-1과 같다
작성: 이원섭 PM · 2026-08-11

0. 이 도메인을 관통하는 제약 다섯

  1. 점유 자원이 셋이다 — 디자이너·좌석·장비. 하나만 봐서는 예약이 성립하지 않는다. 모든 배치 판단은 3중 검증(A-05)을 거친다.
  2. 소요시간은 고정값이 아니다. 메뉴 표준시간에 디자이너 실측 보정과 정리 버퍼가 얹힌다(A-06). 시술을 바꾸면 시간이 다시 계산되고, 그 결과 후속 예약과 충돌할 수 있다.
  3. 채널은 데이터다. 네이버·카카오·전화·앱·워크인을 화면에 하드코딩하지 않는다. 네이버 API가 열리지 않아도 헤어짱·핸드SOS 어댑터로 대체되어야 한다(I-01 플러그인 구조).
  4. 정책 숫자는 K-05·K-12에 있다. 최소 리드타임·당일 마감·선예약 한도·리마인더 시점·미입금 자동취소 시간을 화면에 적지 않는다.
  5. 네트워크가 끊겨도 예약은 돌아간다. 예약 등록·변경·조회는 로컬에서 계속되고 재연결 시 병합한다(L-03·L-04). 결제만 예외다 — 카드 승인은 외부 통신이 필요하다.

0-2. 군집

군집 기능 주 화면
A-1 캘린더·배치 7 SC-M03 일 · SC-M04 주 · SC-M05 좌석·장비 레인
A-2 예약 생명주기 5 SC-M06 등록·수정 · SC-M07 상세 · SC-M08 취소·노쇼
A-3 대기·유입 4 SC-M09 대기자 보드 · SC-M40 채널 슬롯 배분
A-4 예외 상황 3 SC-M03 · SC-M27 근무표

16-A. 예약·스케줄 — RIAHN CONNECT 기능 상세

A-1. 캘린더·배치 — 7개

RC-A-01통합 예약 캘린더1차
R2SC-M03 (일)SC-M04 (주)SC-M05 (레인)SC-D01
목적
매장의 하루를 한 화면에 담는다. 매니저가 가장 오래 보고 있는 화면
트리거
로그인 직후, 상시 열려 있음
입력
예약 전체 · 근무표(F-01) · 좌석·장비 마스터(K-02) · 영업시간(K-01) · 채널 뱃지(A-09)
규칙
일/주 뷰를 전환하고, 디자이너 컬럼과 좌석·장비 레인을 축 전환한다 — 같은 데이터를 다른 축으로 본다. 15/30분 그리드는 매장별 설정. 다른 기기의 변경이 즉시 반영된다(L-06)
결과
조회. 여기서 등록(A-02)·변경(A-03)·상세(A-10)로 진입
예외
네트워크가 끊기면 배너를 띄우고 로컬 데이터로 계속 동작한다. 재연결 시 충돌은 L-04로 해소
RC-A-05충돌 방지1차
목적
같은 자원을 두 번 팔지 않는다. 이 도메인에서 가장 중요한 판정
트리거
예약 등록·변경·재배정 시 자동
입력
디자이너 근무·기존 예약 · 좌석 점유 · 장비 점유(K-02) · 동시 편집 상태
규칙
디자이너·좌석·장비 3중 점유를 모두 검증한다. 하나라도 겹치면 막고 어느 자원이 겹치는지 알린다. 여러 사람이 같은 슬롯을 동시에 만지면 락으로 직렬화하고 뒤 요청에 안내한다. 방치 시간(A-07) 중에는 디자이너 점유가 풀리지만 좌석은 유지된다
결과
배치 가능/불가 판정
예외
단절 중 등록된 예약이 재연결 시 충돌하면 L-04 충돌 해소 UI로 넘긴다
RC-A-06표준 소요시간·버퍼1차
자동SC-M06
목적
시술 시간을 자동으로 잡아 매니저가 매번 계산하지 않게 한다
트리거
예약 등록·변경에서 시술 선택 시
입력
메뉴 표준시간(K-03) · 디자이너별 실측 이력 · 정리 버퍼 설정
규칙
표준시간 + 디자이너 실측 보정 + 정리 버퍼로 계산한다. 실측 보정은 과거 시술 기록(G-01)의 소요시간에서 나온다 — 신입은 표준시간을 그대로 쓰고 이력이 쌓이면 보정된다(F-10과 연결). 매니저가 수동 조정할 수 있되 조정분을 남긴다
결과
예약 종료 시각 확정, 후속 슬롯 계산
예외
실측 이력이 부족하면 보정하지 않는다. 보정 여부를 표시한다
RC-A-07복합 시술 시간 계산1차
자동SC-M06
목적
커트+펌+컬러처럼 겹치는 시술의 실제 점유를 계산한다
트리거
두 개 이상 시술 선택
입력
각 시술의 표준시간 · 방치 시간 구간 · 배치 허용 규칙
규칙
시술을 단순 합산하지 않는다. 방치 시간(펌 웨이브 대기 등) 중에는 디자이너를 다른 고객에게 배치할 수 있다 — 이게 미용실 회전율의 핵심이다. 방치 구간을 시간축에 명시하고, 그 구간에 다른 예약을 넣을 수 있게 한다. 좌석은 계속 점유된다
결과
실제 점유 구간 확정, 방치 구간 노출
예외
방치 중 배치를 허용할지는 매장 정책이다. 끄면 단순 합산으로 동작한다
RC-A-09채널 뱃지·필터1차
목적
예약이 어디서 왔는지 보고 필터한다
트리거
캘린더 조회
입력
채널 목록(K-09, I-01 플러그인) · 예약별 유입 채널
규칙
채널 목록을 하드코딩하지 않는다. 네이버가 열리지 않아 헤어짱 어댑터로 대체되어도 화면은 그대로여야 한다. 뱃지 색·아이콘은 채널 설정에서 온다
결과
시각 구분, 필터 적용
예외
미매핑 채널에서 들어온 건은 "기타"로 표시하고 I-03 매핑 규칙 보완을 유도한다
RC-A-15슬롯 최적화 제안1차
목적
공백을 줄이는 배치를 제안한다
규칙
제안만 하고 실행은 사람이 정한다. 수용·거절 로그를 쌓아 제안 품질을 개선한다
2차 상세 미작성 — 최적화 기준(공백 최소 vs 매출 최대)이 정해져야 규칙을 적을 수 있다
RC-A-18채널별 슬롯 배분·재고 관리1차
R1/R2SC-M40
목적
같은 슬롯이 여러 채널에 동시 노출돼 오버부킹이 나는 것을 막는다
트리거
슬롯 배분 설정, 예약 발생 시 자동 재계산
입력
전체 슬롯 · 채널별 할당 규칙 · 타임딜 전용 슬롯(K-08)
규칙
슬롯을 채널별로 나눠 배분한다 — 네이버 노출분 / 앱 전용 / 타임딜 전용. 어느 채널에서 예약이 잡히면 그 슬롯을 나머지 채널에서 즉시 내린다(I-12 역동기화). 배분 비율은 요일·시간대별로 다르게 둘 수 있다
결과
채널별 가용 슬롯 확정, 외부 채널로 push
예외
역동기화가 실패하면 오버부킹 위험이 생긴다. 실패 건은 I-04 실패 큐로 보내고 해당 슬롯을 보수적으로 잠근다

A-2. 예약 생명주기 — 5개

RC-A-02예약 등록1차
목적
예약을 만든다. 이 도메인의 진입점
트리거
전화 접수, 워크인 방문, 캘린더 빈 슬롯 클릭
입력
고객(B-01) · 시술 메뉴(K-03) · 디자이너 · 시간(A-06 자동) · 예약 정책(K-05)
규칙
고객검색 → 시술 → 디자이너 → 시간 자동 계산 순으로 진행한다. 재시술(C-25) 예약은 유형을 구분해 잡는다 — 매출 집계에서 빠져야 한다. 워크인은 즉시 등록으로 분기한다. 최소 리드타임·선예약 한도는 K-05를 따른다
결과
예약 1건 생성, 상태 = 요청 또는 확정(A-08), 확정 알림 발송(A-13)
예외
충돌(A-05) 시 대체 슬롯을 제안한다. 예약금이 필요하면 결제대기 홀드로 만든다(C-22)
RC-A-03예약 변경1차
목적
시간·디자이너·시술을 바꾼다
트리거
고객 요청, 캘린더에서 드래그 이동
입력
기존 예약 · 변경 내용 · 충돌 검증(A-05)
규칙
드래그로 옮기면 즉시 충돌을 검증한다. 시술을 바꾸면 소요시간이 재계산되어 종료 시각이 바뀌고, 그 결과 후속 예약과 겹칠 수 있다. 변경 이력을 보존한다 — 누가 언제 무엇을 바꿨는지가 분쟁에서 필요하다. 변경 알림을 발송한다(A-13)
결과
예약 갱신, 변경 이력 1행, 알림 발송
예외
단절 중 변경한 건이 재연결 시 서버 변경과 충돌하면 L-04로 넘긴다
RC-A-04취소·노쇼 처리1차
목적
오지 않은 예약을 정리하고 그 결과를 정책대로 처리한다
트리거
고객 취소 통보, 예약 시각 경과 후 미방문
입력
취소 사유 코드 · 예약금 유무(A-12) · 취소·노쇼 정책(K-05)
규칙
사유 코드를 반드시 고른다 — 사유별 통계가 노쇼 예측(A-14)의 입력이 된다. 예약금은 K-05 정책에 따라 몰수 또는 환불로 분기하며 환불은 C-05 경로를 탄다. 노쇼는 고객별로 카운트를 누적해 다음 예약 시 선결제 권장(A-14)의 근거가 된다
결과
예약 상태 = 취소/노쇼, 슬롯 해제 → 대기자 매칭(A-11) 트리거, 노쇼 카운트 갱신
예외
취소는 슬롯을 즉시 풀지만 노쇼는 시간이 지난 뒤 판정되므로 슬롯이 이미 비어버린 상태다. 둘의 처리 시점이 다르다
RC-A-08예약 상태 관리1차
목적
예약이 어느 단계에 있는지 한 값으로 표현한다. 다른 기능들이 이 값으로 분기한다
트리거
각 단계의 사용자 행동 또는 시스템 이벤트
입력
이전 상태 · 전이 조건
규칙
요청 · 결제대기(슬롯 홀드) · 확정 · 방문 · 시술중 · 완료 · 취소 · 노쇼. 결제대기는 C-22 링크 결제를 기다리는 동안 슬롯을 잡아두는 상태다 — 이게 없으면 링크를 보낸 사이에 슬롯이 팔린다. 허용되지 않는 전이는 막는다(완료 → 요청 등)
결과
상태 확정. 캘린더 표시·결제 가능 여부·알림 발송이 여기에 걸린다
예외
결제대기가 만료되면 자동으로 취소로 전이하고 슬롯을 푼다(K-05 시간)
RC-A-10예약 상세 패널1차
목적
예약 하나에 필요한 모든 것을 한 패널에서 본다. 컨테이너
트리거
캘린더에서 예약 선택
입력
예약 정보 · 고객 요약(B-02) · 브리핑(B-13) · 레시피(G-08) · 결제 상태(C-01) · 노쇼 위험(A-14)
규칙
캘린더를 벗어나지 않고 확인·조치가 끝나야 한다. 여기서 변경·취소·결제로 바로 진입한다. 고객 개인정보는 마스킹 규칙(J-03)을 따른다
결과
조회 + 하위 액션 진입
예외
이관 고객은 이력이 비어 있다. "없음"과 "이관되지 않음"을 구분한다

A-3. 대기·유입 — 4개

RC-A-11대기자 관리1차
목적
원하는 시간이 찼을 때 놓치지 않고 잡아둔다
트리거
원하는 슬롯이 만석일 때 대기 등록
입력
희망 조건(날짜·시간대·디자이너) · 취소 발생 이벤트(A-04)
규칙
취소가 나면 조건이 맞는 대기자를 자동 매칭해 알림을 보낸다. 선착순 응답으로 확정하되 응답 유효시간을 둔다 — 무한정 잡아두면 슬롯이 죽는다. 알림은 정보성(K-06)
결과
대기 등록, 매칭 시 알림 발송(E-14), 응답 시 예약 확정
예외
여러 대기자에게 동시 발송하면 먼저 응답한 사람이 가져간다. 나머지에게 마감 통보를 보내야 신뢰가 유지된다
RC-A-17워크인 대기열·호출1차
목적
예약 없이 온 고객의 순번을 관리한다. A-11(취소 대기)과 완전히 별개다
트리거
예약 없는 고객 방문
입력
현재 진행 중인 시술 · 디자이너별 예상 종료 시각(A-06)
규칙
순번을 매기고 예상 대기시간을 계산해 알려준다 — 모르고 기다리는 것이 가장 큰 불만이다. 호출은 매장 내 표시 또는 문자로 한다. 예약 고객이 우선이며 워크인은 빈 슬롯에 들어간다
결과
대기열 등록, 호출 시 예약 등록(A-02)으로 전환
예외
대기 중 이탈한 고객을 정리하는 수단이 필요하다
RC-A-12예약금·선결제1차
목적
노쇼를 줄이고 고가 시술의 이행을 담보한다
트리거
예약 등록 시 정책상 필요하거나 노쇼 이력이 있는 고객
입력
예약금 비율(K-05) · 노쇼 카운트(A-04) · 결제 링크(C-22)
규칙
예약금 필요 여부를 자동 판정하되 매니저가 면제할 수 있다. 발송은 C-22 링크로 하고 입금 확인까지 슬롯을 홀드한다(A-08). 결제 시 최종 금액에서 차감(C-11)
결과
예약금 결제 이력, 예약 확정
예외
미입금 상태로 유효기간이 지나면 자동 취소 + 슬롯 해제
RC-A-13예약 알림 발송1차
자동SC-M06
목적
고객이 예약을 잊지 않게 한다. 노쇼 방지의 1차 수단
트리거
예약 확정·변경 시 즉시. 리마인더는 K-12 시점(D-1, H-3)
입력
알림 템플릿(K-06) · 발송 시점(K-12) · 발신번호(K-13) · 발송 인프라(E-14)
규칙
확정·변경·리마인더 세 종을 보낸다. 전부 정보성이므로 야간 차단과 발송 상한의 예외다(K-06). 리마인더 시점은 복수로 설정할 수 있다. 발송 결과·실패·대체발송은 E-14가 처리한다
결과
알림 발송, 전송 상태 기록
예외
알림톡 실패 시 SMS 대체발송(E-14). 수신거부한 고객이라도 정보성 알림은 발송한다 — 법적으로 광고가 아니다

A-4. 예외 상황 — 3개

RC-A-14노쇼 위험 표시1차
목적
오지 않을 것 같은 예약을 미리 알아 대응한다
트리거
예약 생성 시, 캘린더 조회 시
입력
고객 노쇼 카운트(A-04) · 취소 이력 · 예약 채널(A-09) · 리드타임
규칙
예약별로 위험 뱃지를 붙이고 대응 액션을 제안한다 — 선결제 권장(A-12), 리마인더 추가 발송(A-13). 판단은 사람이 한다. 고객에게 보이는 화면(D4)에는 이 뱃지를 띄우지 않는다
결과
위험 등급 표시, 액션 제안
예외
신규 고객은 이력이 없어 판정하지 않는다. 채널별 노쇼율 차이는 데이터가 쌓인 뒤 반영한다
RC-A-16결원 시 일괄 재배정1차
R1/R2SC-M27
목적
디자이너가 갑자기 빠졌을 때 그날 예약을 살린다
트리거
결근·조퇴 등록(F-01)
입력
해당 디자이너의 당일 예약 전체 · 다른 디자이너의 가용 슬롯 · 고객 지정 여부
규칙
재배정 후보를 제시하고 일괄 처리한다. 지명 예약(F-02 지명료)은 고객 동의가 필요하므로 자동 재배정하지 않고 개별 연락 대상으로 분리한다. 재배정 결과를 고객에게 일괄 통보(A-13)
결과
예약 담당자 변경, 변경 이력, 고객 통보
예외
재배정할 자원이 없으면 취소·일정 변경 제안으로 넘어간다
RC-A-19매장 임시 휴업 처리1차
목적
정전·설비 고장 같은 갑작스러운 휴업 때 예약을 정리한다. A-16의 매장 단위 판
트리거
점주가 임시 휴업 등록
입력
휴업 기간 · 해당 기간 예약 전체 · 대체 가능 슬롯
규칙
해당 기간 예약을 일괄 취소하고 대체 시간을 제안한 뒤 일괄 통보한다. 취소 사유는 매장 귀책이므로 노쇼 카운트에 넣지 않고 예약금은 전액 환불한다. 외부 채널의 노출 슬롯도 함께 내린다(I-12)
결과
예약 일괄 취소, 대체 제안 발송, 채널 슬롯 마감
예외
K-01 휴무일은 사전 계획용이라 이 경우를 다루지 않는다. 휴업이 길어지면 예약 접수 자체를 막아야 한다