상품 실행 BOM이 방문별 확정 예약으로 바뀌는 과정

상품 구성 화면에서 발행한 예약 관련 계약을 예약서비스가 다시 해석하지 않고, Plan과 방문 일정으로 전개하는 흐름입니다. 각 단계를 눌러 입력·처리·출력을 확인하세요.

상품관리서비스 소유

상품 특성·패키지 구성·version

필수/선택/택일, 반복 횟수, 구성 상품별 시간·자원, 의존성과 방문 묶음 규칙을 검증해 발행합니다.

EVENT CONTRACT

불변 실행 BOM

version · provenance
snapshotHash

예약서비스 소유

Plan·방문·제안·동의·확정·자원 점유

전달받은 진료 의무를 일정으로 배치하고, 가예약과 고객/관리자 승인 절차를 거쳐 확정합니다.

1. 실행 BOM 발행

상품관리 또는 구매서비스가 구매 당시 선택과 반복 전개를 끝낸 불변 실행 계약을 발행합니다.

입력

    출력

      예시 · 리프팅 집중관리 패키지

      하나의 패키지 구매가 4개 진료 의무와 3개의 방문 후보로 바뀝니다.

      PackageExecutionSnapshot

      상품서비스가 전개 완료
      사전 진단 v3필수
      리프팅 시술 v5필수
      진정 관리 v4선택됨
      사후 점검 v2필수

      AppointmentPlan Revision 1

      예약서비스가 그대로 복사
      PlannedTreatment4개
      BLOCKING edge2개
      MAY_SAME_VISIT1개
      MUST_SEPARATE2개

      방문별 예약 후보

      정책·자원·희망일을 합성
      방문 A · 사전 진단

      PROPOSED · 전문의 + 상담실

      방문 B · 리프팅 + 진정

      같은 방문 · 장비 + 시술실 + 회복공간

      방문 C · 사후 점검

      시술 완료 후 7일 · 별도 방문

      제안 생명주기 예시
      PROPOSEDHELD→ 고객 동의CONFIRMED

      진행 이후에는 미래 항목만 다시 계산합니다

      완료된 사실과 기존 확정 예약을 보호하면서, 영향받은 미진행 항목만 새 방문 또는 제안으로 전개합니다.

      완료된 진료항목

      기존 productVersionId와 planRevisionId에 고정합니다. 상품 version 전환이나 재조정으로 다시 쓰지 않습니다.

      COMPLETEDIMMUTABLE

      부분 이행·남은 진료

      완료된 item은 유지하고 남은 item attempt만 후속 방문의 새 AppointmentItem으로 생성합니다.

      REMAINING ITEMNEW VISIT

      장비 고장·휴진·일정 변경

      기존 확정 예약을 조용히 덮지 않습니다. 새 제안과 고객 동의를 거쳐 영향받은 미래 예약만 교체합니다.

      NEW PROPOSALCONSENTRECONFIRMED