상품 실행 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일 · 별도 방문

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

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

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

      완료된 진료항목

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

      COMPLETEDIMMUTABLE

      부분 이행·남은 진료

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

      REMAINING ITEMNEW VISIT

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

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

      NEW PROPOSALCONSENTRECONFIRMED