본문으로 건너뛰기

예약 그룹 목록 조회

POST 

/schedule/open/v1/queries/get-reservation-groups

병원에 등록된 예약 그룹 목록을 조회합니다.

  • 예약 그룹은 예약 슬롯을 구성하는 단위입니다.
  • 각 예약 그룹에는 구역, 운영 시간, 정원 등의 설정이 포함됩니다.

Request

### Content-Type별 요청의 JSON Schema

{
"application/json": {
"schema": {
"type": "object",
"properties": {},
"title": "protos.Empty"
}
}
}

Responses

OK

### Status Code별 응답의 JSON Schema

{
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"required": [
"data"
],
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"required": [
"id",
"title",
"memo",
"startDate",
"intervalMinutes",
"intervalCapacities",
"isDefault",
"operationTimetable",
"order"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "예약 그룹 ID"
},
"title": {
"type": "string",
"description": "예약 그룹 이름"
},
"memo": {
"type": "string",
"description": "메모"
},
"startDate": {
"type": "string",
"description": "예약 시작 가능 날짜"
},
"intervalMinutes": {
"type": "integer",
"description": "예약 단위 시간 (분)",
"format": "int32"
},
"intervalCapacities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"intervalCapacity": {
"type": "integer",
"format": "int32"
},
"zoneId": {
"type": "string"
}
},
"title": "protos.schedule.IntervalCapacityContract"
},
"description": "구역별 단위 시간당 예약수 설정"
},
"isDefault": {
"type": "boolean",
"description": "기본 예약 그룹 여부"
},
"sameDayCloseBufferMinutes": {
"type": "integer",
"format": "int32"
},
"operationTimetable": {
"allOf": [
{
"type": "object",
"properties": {
"monday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"tuesday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"wednesday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"thursday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"friday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"saturday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
},
"sunday": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"breaktime": {
"type": "object",
"properties": {
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
}
},
"title": "protos.schedule.BreaktimeContract"
}
},
"title": "protos.schedule.OperationTimeContract"
}
},
"title": "protos.schedule.OperationTimetableContract"
}
],
"description": "운영 시간"
},
"order": {
"type": "integer",
"description": "정렬 순서",
"format": "int32"
},
"reservationPolicy": {
"allOf": [
{
"type": "object",
"properties": {
"reservation": {
"allOf": [
{
"type": "object",
"properties": {
"maxAdvanceDays": {
"type": "integer",
"description": "*n 현재 날짜 기준 선택가능한 최대 예약 일",
"format": "int32"
},
"minimumAdvance": {
"allOf": [
{
"type": "object",
"properties": {
"minReservationStartDateTimeLeadMinutes": {
"type": "integer",
"description": "*n 예약 시작 시간 기준 마감 최소 시간 (분)",
"format": "int32"
},
"minReservationStartDateLeadDays": {
"type": "integer",
"description": "*n 예약 일 기준 마감 최소 일 (일)",
"format": "int32"
}
},
"description": "*n 최소 마감 설정",
"title": "protos.schedule.ReservationPolicy_MinimumAdvanceConfiguration"
}
],
"description": "*n 예약 최소 마감 설정"
}
},
"description": "예약 규칙",
"title": "protos.schedule.ReservationPolicy_ReservationRule"
}
],
"description": "*n 예약 생성 규칙"
},
"reschedule": {
"allOf": [
{
"required": [
"allowed",
"configuration"
],
"type": "object",
"properties": {
"allowed": {
"type": "boolean",
"description": "*n 허용 여부"
},
"minimumAdvance": {
"allOf": [
{
"type": "object",
"properties": {
"minReservationStartDateTimeLeadMinutes": {
"type": "integer",
"description": "*n 예약 시작 시간 기준 마감 최소 시간 (분)",
"format": "int32"
},
"minReservationStartDateLeadDays": {
"type": "integer",
"description": "*n 예약 일 기준 마감 최소 일 (일)",
"format": "int32"
}
},
"description": "*n 최소 마감 설정",
"title": "protos.schedule.ReservationPolicy_MinimumAdvanceConfiguration"
}
],
"description": "*n 최소 마감 설정"
}
},
"description": "*n 마감 규칙",
"title": "protos.schedule.ReservationPolicy_ClosingRule"
}
],
"description": "*n 예약 변경 가능 마감 규칙"
},
"cancel": {
"allOf": [
{
"required": [
"allowed",
"configuration"
],
"type": "object",
"properties": {
"allowed": {
"type": "boolean",
"description": "*n 허용 여부"
},
"minimumAdvance": {
"allOf": [
{
"type": "object",
"properties": {
"minReservationStartDateTimeLeadMinutes": {
"type": "integer",
"description": "*n 예약 시작 시간 기준 마감 최소 시간 (분)",
"format": "int32"
},
"minReservationStartDateLeadDays": {
"type": "integer",
"description": "*n 예약 일 기준 마감 최소 일 (일)",
"format": "int32"
}
},
"description": "*n 최소 마감 설정",
"title": "protos.schedule.ReservationPolicy_MinimumAdvanceConfiguration"
}
],
"description": "*n 최소 마감 설정"
}
},
"description": "*n 마감 규칙",
"title": "protos.schedule.ReservationPolicy_ClosingRule"
}
],
"description": "*n 예약 취소 가능 마감 규칙"
}
},
"description": "*n 예약 정책",
"title": "protos.schedule.ReservationPolicy"
}
],
"description": "*n 예약 정책n 정책에 대한 세부 필드값이 없는 경우 병원 기본 운영의 정책을 사용합니다."
}
},
"title": "protos.schedule.ReservationGroupContract"
}
}
},
"title": "protos.open.GetReservationGroupsQueryResponse"
}
}
}
}
}