> Agent-readable docs index: /llms.txt. Fetch only the needed Markdown pages first; use /docs.zip only for broad search after checking /docs-manifest.json or /docs.zip.sha256.

# 예약

예약과 스케줄 관련 API입니다.

예약 생성, 예약 변경, 예약 취소, 예약 슬롯 조회, 예약 그룹, 구역, 스케줄 조회 기능을 제공합니다.

<details>
<summary>주요 개념</summary>
<dl>
<dt>예약</dt>
<dd><strong>정의:</strong> 내원객이 특정 시간에 병원에 방문하도록 등록한 일정 요청입니다.<br /><strong>설명:</strong> 예약 생성, 변경, 취소 API의 중심 대상입니다. 요청 시 내원객 정보, 예약 그룹, 구역, 시작/종료 시각, 희망 시술 정보를 함께 전달합니다.</dd>
<dt>스케줄</dt>
<dd><strong>정의:</strong> 예약을 바탕으로 병원 운영 흐름에서 관리되는 내원 일정 정보입니다.<br /><strong>설명:</strong> 스케줄 조회 API에서는 내원객, 예약, 수납, 시술 진행 정보처럼 실제 내원 관리에 필요한 정보를 함께 확인합니다.</dd>
<dt>예약 슬롯</dt>
<dd><strong>정의:</strong> 예약을 생성할 수 있는 시간 구간입니다.<br /><strong>설명:</strong> 상품, 예약 그룹, 기존 스케줄 조건에 따라 가능한 시간대를 조회한 뒤 예약 생성 요청에 사용합니다.</dd>
<dt>예약 그룹</dt>
<dd><strong>정의:</strong> 예약 가능 시간, 구역, 리소스, 정책을 묶어 관리하는 예약 단위입니다.<br /><strong>설명:</strong> 어떤 예약 그룹으로 예약하느냐에 따라 조회되는 슬롯과 예약 가능한 시간이 달라질 수 있습니다.</dd>
<dt>구역</dt>
<dd><strong>정의:</strong> 예약이나 스케줄이 배정되는 병원 내 영역입니다.<br /><strong>설명:</strong> 예약 생성과 슬롯 조회에서 내원객이 방문하거나 리소스가 점유될 공간을 지정할 때 사용합니다.</dd>
<dt>점유 시간</dt>
<dd><strong>정의:</strong> 특정 시간대를 예약 가능 범위에서 제외하거나 리소스 사용 시간으로 표시하는 정보입니다.<br /><strong>설명:</strong> 점유 시간을 생성하면 해당 시간에는 예약을 받지 않도록 제어할 수 있습니다.</dd>
<dt>내원 단계</dt>
<dd><strong>정의:</strong> 스케줄이 현재 어떤 내원 단계에 있는지를 나타내는 단계입니다.<br /><strong>설명:</strong> 예약, 접수, 상담, 시술 등 내원 과정 기준으로 스케줄을 조회할 때 사용합니다.</dd>
</dl>
</details>


## 엔드포인트

- [예약 취소](/docs/openapi/cancel-reservation.md): `POST /schedule/open/v1/commands/cancel-reservation`
- [내원흐름단계 변경](/docs/openapi/change-flow-step.md): `POST /schedule/open/v1/commands/change-flow-step`
- [시간 점유 생성](/docs/openapi/create-occupied-time.md): `POST /schedule/open/v1/commands/create-occupied-time`
- [예약 시간 슬롯 기반 예약 일시 변경](/docs/openapi/reschedule-by-time-slot.md): `POST /schedule/open/v1/commands/reschedule-by-time-slot`
- [예약 시간 슬롯 기반 새로운 예약 생성](/docs/openapi/reserve-by-time-slot.md): `POST /schedule/open/v1/commands/reserve-by-time-slot`
- [예약 시간 슬롯 기반 새로운 예약 생성 (내원객 ID 기반)](/docs/openapi/reserve-by-time-slot-with-visitor-id.md): `POST /schedule/open/v1/commands/reserve-by-time-slot-with-visitor-id`
- [스케줄 상담 정보 수정](/docs/openapi/update-schedule-consultation-info.md): `POST /schedule/open/v1/commands/update-schedule-consultation-info`
- [예약 그룹 연결 상품 조회](/docs/openapi/get-linked-products.md): `POST /schedule/open/v1/linked-products/queries/get-linked-products`
- [수납 ID로 스케줄 조회](/docs/openapi/find-schedule-by-purchase-id.md): `POST /schedule/open/v1/queries/find-schedule-by-purchase-id`
- [스케줄 ID로 예약 일정 변경 가능한 예약 시간 슬롯 조회](/docs/openapi/get-reschedulable-time-slots.md): `POST /schedule/open/v1/queries/get-reschedulable-time-slots`
- [예약 그룹 목록 조회](/docs/openapi/get-reservation-groups.md): `POST /schedule/open/v1/queries/get-reservation-groups`
- [예약 규칙 목록 조회](/docs/openapi/get-reservation-rule-summaries.md): `POST /schedule/open/v1/queries/get-reservation-rule-summaries`
- [예약 그룹으로 예약 슬롯 조회](/docs/openapi/get-reservation-slots-by-group.md): `POST /schedule/open/v1/queries/get-reservation-slots-by-group`
- [상품 옵션으로 예약 슬롯 조회](/docs/openapi/get-reservation-slots-by-product.md): `POST /schedule/open/v1/queries/get-reservation-slots-by-product`
- [예약 규칙으로 예약 시간 슬롯 조회](/docs/openapi/get-reservation-time-slots.md): `POST /schedule/open/v1/queries/get-reservation-time-slots`
- [내원객 ID로 예약 규칙 기반 예약 시간 슬롯 조회](/docs/openapi/get-reservation-time-slots-by-visitor-id.md): `POST /schedule/open/v1/queries/get-reservation-time-slots-by-visitor-id`
- [스케줄 상세 조회](/docs/openapi/get-schedule-detail.md): `POST /schedule/open/v1/queries/get-schedule-detail`
- [내원 단계와 예약 시작 일시 범위로 스케줄 조회](/docs/openapi/get-schedules-by-flow-step.md): `POST /schedule/open/v1/queries/get-schedules-by-flow-step`
- [내원객의 스케줄 목록 조회](/docs/openapi/get-schedules-by-visitor.md): `POST /schedule/open/v1/queries/get-schedules-by-visitor`
- [내원객 시술 내역 조회](/docs/openapi/get-schedules-summarized-by-task.md): `POST /schedule/open/v1/queries/get-schedules-summarized-by-tasks`
- [새로운 예약 생성](/docs/openapi/reserve-v-2.md): `POST /schedule/open/v2/commands/reserve`
- [기존 내원객 예약 생성](/docs/openapi/reserve-by-visitor-id-v-2.md): `POST /schedule/open/v2/commands/reserve-by-visitor-id`
- [예약 일정 수정](/docs/openapi/update-reservation-v-2.md): `POST /schedule/open/v2/commands/update-reservation`
- [여러 예약 그룹의 예약 슬롯 조회](/docs/openapi/get-reservation-slots-by-groups-v-2.md): `POST /schedule/open/v2/queries/get-reservation-slots-by-groups`
- [스케줄 기반 예약 슬롯 조회](/docs/openapi/get-reservation-slots-by-schedule-id-v-2.md): `POST /schedule/open/v2/queries/get-reservation-slots-by-schedule-id`
- [구역 조회](/docs/openapi/get-zone.md): `POST /schedule/open/zone/v1/queries/get-zone`
- [구역 전체 조회](/docs/openapi/get-zones.md): `POST /schedule/open/zone/v1/queries/get-zones`
- [새로운 예약 생성](/docs/openapi/reserve-command.md) 사용 중단됨: `POST /schedule/open/v1/commands/reserve`
- [기존 내원객 예약 생성](/docs/openapi/reserve-by-visitor-id.md) 사용 중단됨: `POST /schedule/open/v1/commands/reserve-by-visitor-id`
- [예약 정보 수정](/docs/openapi/update-reservation.md) 사용 중단됨: `POST /schedule/open/v1/commands/update-reservation`
- [스케줄 ID로 예약 슬롯 조회](/docs/openapi/get-reservation-slots-by-schedule-id.md) 사용 중단됨: `POST /schedule/open/v1/queries/get-reservation-slots-by-schedule-id`
