데이터 · 규칙 — 산후조리원 CRM 데모 「한달품」(가상)
화면 · 기능은 screens.md · requirements.md 가 이 문서의 엔티티 · 상태 이름을 그대로 쓴다. 값은 모두 가상이다.
1. 원칙
- 다지점: 업무 레코드는 모두
branchId를 가진다. 본사 역할만 지점 필터 「전체」를 쓴다. 지점 사이 조회는 서버 정책으로 막는다(데모는 localOnly 저장소가 같은 규칙을 흉내 낸다). - 금액은 원 단위 정수다. 통화 · 시간대(Asia/Seoul)는 화면 언어와 무관하게 고정한다(S-18).
- 주민등록번호 칸은 두지 않는다. 종이 서식에는 있지만 데모에서는 쓰지 않는다. 실서비스의 수집 근거 · 암호화는 실서비스 설계에서 다룬다.
- 의료 판단 없음: 바이탈 · 황달 · 체중은 기록과 추이만 보여 준다. 정상/이상 판정이나 권고를 내지 않는다.
- 결정적 시드: seed
1274, 기준 시각2026-01-15T09:00:00+09:00(목요일).
2. 엔티티
| 엔티티 | 핵심 필드 | 관계 · 메모 |
|---|---|---|
Branch 지점 |
id · 이름 · 수용 인원(40) · 객실 수 | 본사 1 : 지점 N |
Room 객실 |
id · branchId · 호실 · 룸타입 · 상태 · 마지막 소독 시각 | 상태는 §3 RoomStatus |
PricePlan 요금표 |
룸타입 × 기간 → 정가 · 당일계약 할인 · 이용금액 · 계약금 · 포함 마사지(산전/산후 회수) · 다둥이 추가 요금 | 지점별로 다를 수 있다 |
DiscountRule 할인 |
종류 · 룸타입별 금액 · 중복 가능 여부 | 당일계약 / 지인 · 제휴병원 · 재이용(서로 중복 불가) / 에스테틱 완불(중복 가능) |
Customer 산모 |
id · 이름 · 휴대전화 · 생년월일 · 주소(선택) · 유입경로 · 재방문 횟수 · 동의(필수/선택) · 메모 | 1 : N 상담 · 예약. 재방문 산모는 이력이 이어진다 |
Guardian 보호자 |
이름 · 관계 · 연락처 · 직업(선택) | 산모 1 : N |
Consultation 상담 |
id · customerId · branchId · 단계(1차/2차/3차/예약) · 일시 · 상담자 · 방식(전화/방문/자가 입력) · 예정일 · 병원 · 분만 예정 형태 · 분만 횟수 · 희망 조리기간 · 내용 메모 | 단계 이동 이력 보존 |
Reservation 예약 · 계약 |
id · customerId · branchId · 룸타입 · 기간 · 예정 입실/퇴실일 · 상태 · 출산 여부 · 실제 분만일 · 요금 내역(줄 단위) · 총액 · 계약금 · 잔액 · 다둥이 여부 · 변경 이력 | 상태는 §3 ReservationStatus |
Payment 결제 |
id · reservationId · 목적 · 상태 · 줄(수단 × 금액 · 카드사 · 승인번호(가상) · 현금영수증 여부) · 결제일 | 한 결제를 여러 수단으로 나눈다(혼합 결제) |
Refund 해지 · 환불 |
id · reservationId · 시점(입소 전/후) · 귀책(소비자/사업자) · 입소예정일까지 일수 · 이용 박수 · 서비스 이용 차감 · 계산 결과 · 사유 · 환불 계좌(마스킹) · 상태 · 문서 | 계산은 §4.2 |
PrenatalCall 해피콜(산전) |
일시 · 결과(출산 전/출산 완료) · 실제 분만일 · 확정 입실일 · 메모 · 담당자 | 예약 1 : N |
Admission 입실 |
reservationId · 실제 입실일 · 객실 · 오리엔테이션 완료 · 수유 계획(모유/분유/혼합/단유) · 산모 초기 체크 · 신생아 인수 · 서류 묶음 | 체크인 단계별 완료 시각 · 담당자 |
Newborn 신생아 |
id · motherId · 태명/이름 · 성별 · 출생 일시 · 재태기간(주+일) · 출생 체중 · 분만형태 · 태어난 곳 · 검사/접종 완료(5종) · 특이사항 · 신체 사정(체크 14항목) | 다태아면 산모 1 : N |
NewbornCareEvent 영유아 기록(사건) |
newbornId · 시각 · 수유 종류(직모유 분 / 병모유 ml / 분유 준비 ml · 먹은 ml) · 소변 · 대변 · 체온 · 구토 · 기록자 | 24시간 격자의 한 칸 |
NewbornDaily 영유아 일 요약 |
newbornId · 날짜 · 입실 n일째 · 출생 n일째 · 체중 · 전일 대비 · 수유 합계 · 배설 합계(계산) | |
NewbornShiftCheck 근무조 점검 |
newbornId · 날짜 · 근무조(D/E/N) · 호흡기 · 결막염 · 배꼽/피부 · 황달 수치(두 부위) · 그 밖의 증상 · 담당자 · 확인자 | 근무조마다 확인 서명 |
MotherVital 산모 바이탈 |
motherId · 날짜 · 시간대(오전/오후) · 출혈 · 체온 · 혈압(수축/이완) · 유방통증 · 부종 · 담당자 · 확인자 | 1일 2회 |
MotherNote 산모 특이사항 |
재원 중 이상 증상 · 기왕력 · 주의 관찰 · 입실/퇴실 시 정서상태 | |
CareLogEntry 아가 · 산모 일지 |
대상 · 날짜 · 내용(제대 탈락 · 정기검진 외출 등) | 자유 기록 |
AestheticService 관리 메뉴 |
계열(아로마 · 건식 · 특수 · 가슴/울혈 · 서비스) · 시간(40/60/90/120분) · 단가 | |
AestheticPackage 코스 |
등급(5종) · 정상가 · 할인율 · 구성(메뉴 × 회수) · 결제 시점별 보너스 | |
SessionBucket 회차 잔량 |
customerId · 출처(계약 포함 서비스 산전/산후 · 구매 코스 · 보너스) · 메뉴 · 총 회수 · 사용 · 만료 규칙 | 산전 서비스는 입실 전 미사용 시 소멸 |
AestheticSession 관리 예약 |
id · customerId · 일시 · 관리사 · 방 · 메뉴 · 분 · 차감 버킷 · 상태 | 퇴실 뒤 고객도 예약한다 |
MessageTemplate 메시지 템플릿 |
id · 트리거 · 채널(SMS/알림톡) · 본문(변수 {산모명} {예정일} {지점} …) |
지점별 사본 가능 |
Audience 발송 그룹 |
조건(예정일 월 · 예약 상태 · 지점 · 산전 서비스 잔량 …) · 미리보기 인원 | |
MessageSend 발송 기록(모의) |
템플릿 · 그룹 · 대상 수 · 채널 · 상태(모의 발송) · 시각 · 실행자 | 실제 발송 없음 |
WorkDiary 업무일지 |
branchId · 날짜 · 자동 집계 값(§4.4) · 근무표 · 금일 예약/입실/퇴실 목록 · 당월 매출 누계 · 비고 · 작성자 · 본사 열람 확인 | 결재 대신 「열람 확인」 |
Staff 직원 |
id · 이름 · 역할 · 지점 · 고용 형태(정규/파트) · 입사/퇴사일 · 상태 · 권한 범위 | |
ShiftAssignment 근무 |
staffId · 날짜 · 근무조(D/M/E/N/청소/주방) | |
InventoryItem 재고 |
품목 · 분류(신생아 · 산모 · 소모품) · 수량 · 기준 수량 · 단위 | 목록 수준 |
Document 서식 · 동의 |
종류(§3 DocumentKind) · 대상 · 서명자 · 서명 시각 · 서명 이미지(가상) · 첨부(스캔) |
|
SelfInputSession 자가 입력 |
토큰 · 목적(상담신청서/입실 서류) · 상태 · 만료 · 연결 산모 | QR · 태블릿 |
Aftercare 사후 관리 |
해피콜 일자 · 만족도(1~5) · 추천 의향 · 선택/불편 사유 · 건의/불만 · 후속 조치 · 담당 | |
WaitlistEntry 대기 |
customerId · 희망 지점 · 기간 · 룸타입 · 등록일 · 추천한 다른 지점 · 결과 | 만실일 때 |
MessageDrip 주차별 안내 |
임신 주차 · 템플릿 · 사용 여부 · 지점 | 예정일로 대상 계산 |
InspectionRecord 소독 · 점검 |
종류(소독 대장 · 시설 점검표) · 일자 · 구역 · 방법 · 항목 결과 · 담당 | 출력 |
AuditLog 감사 기록 |
시각 · 직원 · 대상 · 동작(상태 전환 · 결제 · 환불 · 서명 · 삭제 · 복원) · 전후 요약 | 삭제는 소프트 삭제(deletedAt · deletedBy) |
3. 열거형
| 이름 | 값 |
|---|---|
ConsultStage |
1차 · 2차 · 3차 · 예약 · 보류 · 이탈 |
ReservationStatus |
상담 · 가계약 · 예약완료 · 입실중 · 퇴실완료 · 취소 · 해지 |
BirthStatus |
출산 전 · 출산 완료 |
RoomType |
디럭스 · VIP |
StayPlan |
6박7일 · 9박10일 · 13박14일 · 20박21일 · 27박28일 |
RoomStatus |
사용 가능 · 배정됨(입실 예정) · 사용 중 · 정리 · 소독 필요 · 점검 |
DeliveryType |
자연분만 · 제왕절개 |
FeedingPlan |
모유 · 분유 · 혼합 · 단유 |
FeedingKind |
직모유(분) · 병모유(ml) · 분유(ml) |
Shift |
D · M · E · N · 청소 · 주방 |
PaymentPurpose |
계약금 · 잔금 · 추가비용 · 에스테틱 코스 · 단품 |
PaymentMethod |
카드 · 현금(현금영수증) · 계좌이체 · 간편결제 · 지역화폐 · 정부 바우처 · 지자체 산후조리 지원 · 기타 |
PaymentStatus |
가결제 · 결제완료 · 취소 · 환불 |
RefundTiming · Fault |
입소 전 · 입소 후 / 소비자 · 사업자 |
RefundStatus |
요청 · 계산 완료 · 원장 확인 · 지급 완료(모의) |
SessionStatus |
예약 · 완료 · 노쇼 · 취소 |
ReferralChannel |
SNS · 지역 카페 · 공식 홈페이지 · 산모 교실 · 지인 소개 · 병원 추천 · 리플렛/현수막 · 재입실 · 맘 커뮤니티 · 블로그 |
MessageTrigger |
상담 후 · 예약 확정 · 입실 60일 전(산전 관리 안내) · 입실 30일 전(준비물) · 출산 임박 확인 · 입실 당일 · 퇴실 전날 · 퇴실 7일 뒤(해피콜) · 수동 |
Role |
대표(본사) · 원장 · 상담실장 · 간호사 · 신생아실 · 에스테틱 · 모유실장 |
EmploymentType |
정규 · 파트타임 |
DocumentKind |
상담신청서 · 예약확인서 · 입실신청서 · 개인정보 동의(필수/선택 분리) · 감염 · 안전 교육 확인서 · 신생아 신체 사정 · 퇴실 교육 체크리스트 · 시술 동의서 · 환불신청서 · 입실확인서(연말정산) |
4. 규칙
4.1 요금
정가 = PricePlan(룸타입, 기간).정가
할인 = 당일계약(상담 당일 계약일 때)
+ max(지인 · 제휴병원 · 재이용 중 하나) ← 서로 중복 불가
+ 에스테틱 완불(코스 5회 이상 완납, 룸타입별) ← 중복 가능
추가 = 다둥이 추가 요금(기간별) + 보호자 식사 × 회수 + 기타
총액 = 정가 − 할인 + 추가
계약금 = PricePlan.계약금(총액의 10% 기준 정액표)
잔액 = 총액 − 받은 금액 합계
화면은 줄 단위 내역(정가 · 할인 각각 · 추가 · 총액)을 보여 준다 — 종이 상담신청서에서 총금액 아래 할인을 손으로 빼 적던 일을 대신한다.
상담 때 안내한 최종 금액은 「확정금액」으로 예약에 고정되고, 이후 변경은 내역 줄과 변경 이력으로 남는다.
임신 주수는 예정일 − 280일을 수태 기준으로 기준 시각까지 센 값이다(표시 전용 계산값).
기간을 바꾸면 박수로 다시 계산하고, 위약금 10% 를 줄로 더한다.
데모 요금표(가상 값, 만 원):
| 기간 | 디럭스 정가 | 당일 할인 | 이용금액 | 계약금 | VIP 정가 | 당일 할인 | 이용금액 | 계약금 | 서비스 마사지(산전/산후) |
|---|---|---|---|---|---|---|---|---|---|
| 6박7일 | 350 | −40 | 310 | 30 | 520 | −110 | 410 | 40 | 1 / 1 |
| 9박10일 | 440 | −50 | 390 | 40 | 650 | −140 | 510 | 50 | 1 / 1 |
| 13박14일 | 550 | −50 | 500 | 50 | 800 | −160 | 640 | 60 | 2 / 2 |
| 20박21일 | 820 | −70 | 750 | 70 | 1,200 | −240 | 960 | 90 | 2 / 3 |
| 27박28일 | 1,080 | −90 | 990 | 90 | 1,580 | −310 | 1,270 | 120 | 3 / 3 |
입실 제한: 재태기간 37주 이하 또는 출생 체중 2.5kg 이하 신생아는 입실 불가 — 예약 화면에 경고를 띄우고, 이 사유의 취소는 계약금 전액 환불로 분기한다.
4.2 해지 · 환불
종이 환불신청서의 「환불 규정 안내」 표(소비자분쟁해결기준 형식)를 그대로 규칙으로 옮긴다.
| 시점 | 귀책 | 조건 | 환급 |
|---|---|---|---|
| 입소 전 | 사업자 | — | 계약금 환급 + 계약금의 100% 배상 |
| 입소 전 | 소비자 | 계약 후 24시간 이내 또는 입소예정일 91일 전 이전 | 계약금 전액 |
| 입소 전 | 소비자 | 61~90일 전 | 계약금의 60% |
| 입소 전 | 소비자 | 31~60일 전 | 계약금의 30% |
| 입소 전 | 소비자 | 11~30일 전 | 계약금의 15% |
| 입소 전 | 소비자 | 10일 전 이후 | 환급 없음 |
| 입소 후 | 사업자 | — | 총액 − 이용 기간 요금 + 총액의 10% 배상 |
| 입소 후 | 소비자 | — | 총액 − (이용 기간 요금 + 총액의 10%) |
- 계약금이 총액의 10% 를 넘으면 넘는 금액은 먼저 전액 환급하고, 나머지에 위 비율을 적용한다.
- 이미 받은 서비스(산전 마사지 · 프로그램)는 회당 차감액을 뺀다(데모 값: 산전 40분 10만 원, 산후 60분 25만 원).
- 계산 결과 화면에는 적용한 행 · 일수 · 차감 줄을 모두 보여 주고, 원장이 확인하면 환불신청서 문서를 만든다(지급은 모의).
4.3 마사지 회차
- 계약에 포함된 서비스 회차는
SessionBucket(출처=서비스)로 만든다. 산전 서비스는 입실일이 지나면 소멸한다. - 산전 → 산후 전환은 기본 불가. 「진단서 확인」 표시가 있을 때만 전환 버킷을 만든다.
- 코스 구매는
SessionBucket(출처=코스)를 만들고, 결제 시점(상담 당일 계약금 · 완납)에 따른 보너스 회차를 따로 만든다. - 관리를 완료하면 지정한 버킷에서 1회 차감한다. 노쇼는 차감, 취소는 복원(규칙은 지점 설정).
- 퇴실 뒤에도 남은 회차로 예약할 수 있다 — 마사지 플래너는 「재실 산모」와 「퇴실 고객」을 함께 보여 준다.
4.4 업무일지 자동 집계
| 칸 | 정의 |
|---|---|
| 당월예약 · 당월해약 · 당월상담 | 그 달에 상태가 예약완료 · 해지가 된 건수, 그 달 상담 건수 |
| 당일입실 · 당월입실 · 당월입실예정 | 그날/그 달 입실한 산모 수, 그 달 남은 입실 예정 수 |
| 현입실자 · 신생아 수 | 기준 시각에 입실중인 산모 · 신생아 수 |
| 월별 예약자 | 예정 입실월별 예약완료 건수(1~12월) + 합계 |
| 근무표 | 그날 ShiftAssignment — 근무조별 이름 · 인원 |
| 금일 예약 · 입실 · 퇴실 | 목록 + 결제 수단별 금액 · 잔액 · 미납금 |
| 당월 매출 누계 | 그 달 결제완료 − 환불 |
마감 기준(당일 17시)은 지점 설정이다. 작성자가 비고를 더하고 제출하면, 본사는 원본을 다시 정리하지 않고 그대로 열람하고 확인 표시를 한다.
4.5 통계
- 월별 장부: 예약 · 입실 · 해지 · 매출(결제 수단별) · 미수금.
- 상담 전환: 유입경로별 상담 → 예약 전환율.
- 객실 가동률: 사용 객실·박 ÷ 가용 객실·박(지점 · 월).
- 재방문: 재입실 산모 비율.
5. 데이터 분류 (S-18)
| 분류 | 예 | 언어를 바꾸면 |
|---|---|---|
| A 업무 데이터 | ID · 지점 · 호실 · 상태 · 날짜 · 시각 · 금액 · 박수 · 회차 · 바이탈/수유 수치 · 만족도 점수 · 권한 | 그대로(형식만 로케일) |
| B 표시 데이터 | 산모 · 보호자 · 직원 · 아기 이름(태명 포함) · 병원 이름 · 상담 메모 · 일지 문장 · 템플릿 예문 | co_demo_world 투영으로 다시 만든다 |
| C 사용자 입력 | 방문자가 입력한 상담신청서 · 메모 · 서명 · 이름 수정 | 그대로 우선 |
예외: 환불 규정 · 개인정보 동의처럼 법정 성격의 문구는 화면 언어로 번역해 보여 주되, 한국어 원문 보기를 함께 둔다(docs/locale-data.md 에 필드별로 기록 — 구현 단계).
6. 데모 세계(시드)
| 항목 | 값 |
|---|---|
| 지점 | 3곳 — 솔빛점(본점) · 물결점 · 노을점, 지점마다 수용 40명(디럭스 30 · VIP 10) |
| 재실 | 지점마다 산모 약 30명 · 신생아 31명(쌍둥이 1쌍), 입실 1~13일째에 고르게 분포 |
| 예약 | 앞으로 6개월, 지점마다 월 20~28건 |
| 상담 | 지점마다 진행 중 20건 내외(1차 · 2차 · 3차 · 보류) |
| 직원 | 지점마다 24명 내외(근무조 D 5 · M 2 · E 5 · N 5, 청소 2, 주방 2, 원장 · 상담 2 · 에스테틱 3 · 모유 1) |
| 기록 | 재실 산모 · 신생아의 입실일부터 기준 시각까지 시간별 기록(결정적 생성) |
| 이름 | co_faker 로 만든 가상 이름 |