정산·환불 — C-10 / C-11

기능 구현 검증
혼합 잔금·추가 비용 SettlementRepository.balance, addCharge, approveBalance; 승인된 줄 보존 강다솜 490만/50만/440만, 추가 비용 회귀
교육·서명·퇴실 6개 체크, 설명/시범/기타와 교육자, 아기 관찰 기록; 수정하면 서명 무효화 미납·미서명 차단, 체크 변경 회귀
퇴실 연동 예약 퇴실·체류 종료·객실 청소·3/7/30일 해피콜·입실확인서를 한 트랜잭션으로 저장 중복 퇴실의 멱등성
환불 요청·계산·확인·지급 RefundResult, 상담실장 요청/계산, 원장 확인/모의 지급 45일 전 30% = 15만 원, 권한 검사
입실 제한 전액 환급 RefundRuleRow.admissionRestriction; 예약에서 생성한 요청과 연결 예약 저장소 회귀
직접 진입 /settlement/checkout, /settlement/refund typed route 생성·라우트 시험

숙박 정산에 에스테틱 결제액을 합산하지 않는다. 확인·지급 시 현재 계산과 저장된 계산을 다시 비교한다. 환불 신청서에 사유와 환불 방법을 보존한다. 환불은 refunds.paidAt 이후에만 매출에서 차감한다.

실제 PG·금융기관·세무기관과 연결하지 않는다. 결제·환불 직전에 모의 안내를 표시하며 문서는 화면 미리보기다. 교육 서명은 데모의 입력 서명이며 실제 서명 인증이 아니다.

원자료 대조 보강 (2026-10-15)

수정 업무순서의 퇴실 교육 담당(신생아실/원장)에 맞춰 신생아실 역할에는 교육 전용 화면을 제공한다. 교육 체크·교육 방법·신생아 관찰·보호자 서명만 변경할 수 있고 총액·잔금·추가 비용·결제·환불·퇴실 확정은 노출하거나 허용하지 않는다. 저장소는 지점과 교육 권한을 다시 검사하며 퇴실 후 서명을 변경할 수 없다. 실제 퇴실일은 stays.dischargedAt에서 표시하며 퇴실 예정일과 구별한다.

회귀 시험: 신생아실 교육 저장과 금액/퇴실 쓰기 거부, 다른 지점 접근 거부, 퇴실 후 서명 불변, 교육 전용 화면의 결제 위젯 부재.