스케줄 상세 조회
POST/schedule/open/v1/queries/get-schedule-detail
스케줄의 상세 정보를 조회합니다.
scheduleId로 특정 스케줄의 예약, 상담, 시술, 수납 등 전체 상세 정보를 조회합니다.
Request
### Content-Type별 요청의 JSON Schema
{
"application/json": {
"schema": {
"required": [
"scheduleId"
],
"type": "object",
"properties": {
"scheduleId": {
"type": "string",
"description": "조회할 스케줄 ID"
}
},
"title": "protos.schedule.schedule.GetScheduleDetailQuery"
}
}
}
Responses
- 200
OK
### Status Code별 응답의 JSON Schema
{
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"required": [
"id",
"visitor",
"flowStep",
"reservation",
"createdDateTimeUtc",
"tasks",
"purchaseIds",
"prescriptionIds",
"etceteraWorks",
"occupiedResources"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "스케줄 ID"
},
"visitor": {
"allOf": [
{
"required": [
"id",
"name",
"chartNumber"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "내원객 ID"
},
"name": {
"type": "string",
"description": "내원객 이름"
},
"phone": {
"allOf": [
{
"required": [
"countryCode",
"phoneNumber"
],
"type": "object",
"properties": {
"countryCode": {
"type": "string",
"description": "국제전화 국가 번호n 예: 82, 81, 1, 44 ... [참고](https://ko.wikipedia.org/wiki/%EA%B5%AD%EC%A0%9C%EC%A0%84%ED%99%94_%EA%B5%AD%EA%B0%80_%EB%B2%88%ED%98%B8)"
},
"phoneNumber": {
"type": "string",
"description": "전화번호n 예: 10123456789"
}
},
"title": "protos.Phone"
}
],
"description": "전화번호"
},
"chartNumber": {
"type": "string",
"description": "차트 번호"
},
"gender": {
"enum": [
"GENDER_UNSPECIFIED",
"MALE",
"FEMALE"
],
"type": "string",
"description": "성별",
"format": "enum"
},
"dateOfBirth": {
"type": "string",
"description": "생년월일"
},
"nationality": {
"type": "string",
"description": "국적"
},
"memo": {
"type": "string",
"description": "메모"
},
"visitorType": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.schedule.ScheduleVisitorTypeContract"
}
],
"description": "고객 유형"
},
"isNew": {
"type": "boolean",
"description": "신규 고객 여부"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"order": {
"type": "integer",
"format": "int32"
},
"color": {
"enum": [
"CodeColor_UNSPECIFIED",
"RED",
"LAVA",
"ORANGE",
"GREEN",
"CYAN",
"BLUE",
"PURPLE",
"MAGENTA",
"GRAY"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.schedule.schedule.ScheduleVisitorCategoryContract"
},
"description": "고객 카테고리 목록"
},
"snsInfo": {
"allOf": [
{
"type": "object",
"properties": {
"snsType": {
"enum": [
"etc",
"kakaotalk",
"line",
"instagram",
"whatsapp",
"wechat"
],
"type": "string",
"format": "enum"
},
"accountId": {
"type": "string"
}
},
"title": "protos.visitor.SnsInfo"
}
],
"description": "SNS 정보"
},
"phoneticName": {
"type": "string",
"description": "발음 표기 이름"
}
},
"title": "protos.schedule.schedule.ScheduleVisitorContract"
}
],
"description": "내원객 정보"
},
"flowStep": {
"enum": [
"FLOW_STATUS_UNSPECIFIED",
"RESERVED",
"RECEPTION",
"CONSULTATION_WAITING",
"CONSULTATION",
"PROCEDURE_WAITING",
"PROCEDURE",
"PROCEDURE_DONE",
"COMPLETED"
],
"type": "string",
"description": "현재 플로우 단계",
"format": "enum"
},
"flowStepUpdatedDateTimeUtc": {
"type": "string",
"description": "플로우 단계 변경 시각 (UTC ISO 8601)"
},
"reservation": {
"allOf": [
{
"required": [
"reservationGroupId",
"startDateTime",
"endDateTime",
"zoneId",
"status",
"requestedProcedures",
"connectedChannel"
],
"type": "object",
"properties": {
"reservationGroupId": {
"type": "string",
"description": "@deprecated 예약 그룹 ID"
},
"startDateTime": {
"type": "string",
"description": "예약 시작 시각"
},
"endDateTime": {
"type": "string",
"description": "예약 종료 시각"
},
"consultationRequired": {
"type": "boolean",
"description": "상담 필요 여부"
},
"sedationRequired": {
"type": "boolean",
"description": "수면 마취 필요 여부"
},
"counselor": {
"allOf": [
{
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "계정 ID",
"format": "object-id"
},
"name": {
"type": "string",
"description": "계정 이름"
}
},
"title": "protos.schedule.Counselor"
}
],
"description": "희망 상담사"
},
"doctor": {
"allOf": [
{
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "계정 ID",
"format": "object-id"
},
"name": {
"type": "string",
"description": "계정 이름"
}
},
"title": "protos.schedule.Doctor"
}
],
"description": "@deprecated 희망 의사"
},
"funnel": {
"allOf": [
{
"type": "object",
"properties": {
"funnel": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"category": {
"enum": [
"CODE_CATEGORY_UNSPECIFIED",
"FUNNEL",
"EXPOSURE_CHANNEL",
"ETCETRA_PRODUCT_CATEGORY",
"IMAGE_EQUIPMENT",
"CALL_CONSULTATION_RESULT",
"IMAGE_CATEGORY",
"FUNNEL_CATEGORY",
"VISITOR_CATEGORY",
"ACCOUNT_STATUS"
],
"type": "string",
"format": "enum"
},
"name": {
"type": "string"
},
"order": {
"type": "integer",
"format": "int32"
},
"closed": {
"type": "boolean"
},
"color": {
"enum": [
"CodeColor_UNSPECIFIED",
"RED",
"LAVA",
"ORANGE",
"GREEN",
"CYAN",
"BLUE",
"PURPLE",
"MAGENTA",
"GRAY"
],
"type": "string",
"format": "enum"
},
"default": {
"type": "boolean"
}
},
"title": "protos.tenant.Code"
},
"funnelDetail": {
"type": "string"
},
"funnelCategory": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"category": {
"enum": [
"CODE_CATEGORY_UNSPECIFIED",
"FUNNEL",
"EXPOSURE_CHANNEL",
"ETCETRA_PRODUCT_CATEGORY",
"IMAGE_EQUIPMENT",
"CALL_CONSULTATION_RESULT",
"IMAGE_CATEGORY",
"FUNNEL_CATEGORY",
"VISITOR_CATEGORY",
"ACCOUNT_STATUS"
],
"type": "string",
"format": "enum"
},
"name": {
"type": "string"
},
"order": {
"type": "integer",
"format": "int32"
},
"closed": {
"type": "boolean"
},
"color": {
"enum": [
"CodeColor_UNSPECIFIED",
"RED",
"LAVA",
"ORANGE",
"GREEN",
"CYAN",
"BLUE",
"PURPLE",
"MAGENTA",
"GRAY"
],
"type": "string",
"format": "enum"
},
"default": {
"type": "boolean"
}
},
"title": "protos.tenant.Code"
}
},
"title": "protos.schedule.ReservationFunnel"
}
],
"description": "예약 경로"
},
"reservationMemo": {
"type": "string",
"description": "예약 메모"
},
"zoneId": {
"type": "string",
"description": "@deprecated 구역 ID"
},
"reservationAssignee": {
"allOf": [
{
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "담당자 ID"
},
"name": {
"type": "string",
"description": "담당자 이름"
}
},
"title": "protos.schedule.ReservationAssignee"
}
],
"description": "예약 담당자"
},
"status": {
"enum": [
"RESERVATION_STATUS_UNSPECIFIED",
"RESERVED",
"CANCELED",
"NO_SHOW",
"IN_PROGRESS",
"COMPLETED"
],
"type": "string",
"description": "예약 상태",
"format": "enum"
},
"requestedProcedures": {
"type": "array",
"items": {
"required": [
"type"
],
"type": "object",
"properties": {
"type": {
"enum": [
"RESERVATION_REQUESTED_PROCEDURE_TYPE_UNSPECIFIED",
"OPTION",
"TICKET"
],
"type": "string",
"description": "요청 시술 유형 (OPTION: 상품 옵션, TICKET: 시술권)",
"format": "enum"
},
"optionConfiguration": {
"allOf": [
{
"required": [
"optionId",
"optionTitle",
"price"
],
"type": "object",
"properties": {
"optionId": {
"type": "string",
"description": "상품 옵션 ID"
},
"optionTitle": {
"type": "string",
"description": "상품 옵션 이름"
},
"productTitle": {
"type": "string",
"description": "상품 이름"
},
"promotionTitle": {
"type": "string",
"description": "프로모션 이름"
},
"price": {
"allOf": [
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
},
"reason": {
"type": "object",
"properties": {
"type": {
"enum": [
"RESERVATION_REQUESTED_OPTION_PRICE_REASON_TYPE_UNSPECIFIED",
"GENERAL",
"PROMOTION",
"VISITOR_TYPE"
],
"type": "string",
"format": "enum"
},
"promotionId": {
"type": "string"
},
"visitorTypeId": {
"type": "string"
}
},
"title": "protos.schedule.ReservationRequestedOptionPriceReason"
}
},
"title": "protos.schedule.ReservationRequestedOptionPrice"
}
],
"description": "가격 정보"
},
"medicalService": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"status": {
"enum": [
"MedicalServiceStatus_UNKNOWN",
"DRAFT",
"PUBLISHED"
],
"type": "string",
"format": "enum"
},
"deleted": {
"type": "boolean"
},
"configuration": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceProcedure"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
}
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
}
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"healthcareReimbursement": {
"enum": [
"HealthcareReimbursement_UNKNOWN",
"REIMBURSABLE",
"NON_REIMBURSABLE"
],
"type": "string",
"format": "enum"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.procedure.medical_service.MedicalServiceConfiguration"
},
"draftedDateTimeUtc": {
"type": "string"
},
"updatedDateTimeUtc": {
"type": "string"
},
"priceAmount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"description": {
"type": "string"
},
"caution": {
"type": "string"
},
"recommendedInterval": {
"type": "integer",
"format": "int32"
},
"contributionConstant": {
"type": "integer",
"format": "int32"
},
"durationTime": {
"type": "number",
"format": "double"
}
},
"title": "protos.procedure.medical_service.MedicalService"
}
],
"description": "진료 항목"
}
},
"title": "protos.schedule.ReservationRequestedOptionConfiguration"
}
],
"description": "상품 옵션 설정 (type이 OPTION인 경우)"
},
"ticketConfiguration": {
"allOf": [
{
"required": [
"ticketId",
"ticketTitle",
"optionTitle"
],
"type": "object",
"properties": {
"ticketId": {
"type": "string",
"description": "시술권 ID"
},
"ticketTitle": {
"type": "string",
"description": "시술권 이름"
},
"optionTitle": {
"type": "string",
"description": "옵션 이름"
},
"medicalService": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"status": {
"enum": [
"MedicalServiceStatus_UNKNOWN",
"DRAFT",
"PUBLISHED"
],
"type": "string",
"format": "enum"
},
"deleted": {
"type": "boolean"
},
"configuration": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceProcedure"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
}
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
}
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"healthcareReimbursement": {
"enum": [
"HealthcareReimbursement_UNKNOWN",
"REIMBURSABLE",
"NON_REIMBURSABLE"
],
"type": "string",
"format": "enum"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.procedure.medical_service.MedicalServiceConfiguration"
},
"draftedDateTimeUtc": {
"type": "string"
},
"updatedDateTimeUtc": {
"type": "string"
},
"priceAmount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"description": {
"type": "string"
},
"caution": {
"type": "string"
},
"recommendedInterval": {
"type": "integer",
"format": "int32"
},
"contributionConstant": {
"type": "integer",
"format": "int32"
},
"durationTime": {
"type": "number",
"format": "double"
}
},
"title": "protos.procedure.medical_service.MedicalService"
}
],
"description": "진료 항목"
}
},
"title": "protos.schedule.ReservationRequestedTicketConfiguration"
}
],
"description": "시술권 설정 (type이 TICKET인 경우)"
}
},
"title": "protos.schedule.ReservationRequestedProcedure"
},
"description": "희망 시술 목록"
},
"connectedChannel": {
"enum": [
"Channel_UNSPEICIFED",
"GANGNAMUNNI",
"HOMEPAGE",
"KOS_CONNECT"
],
"type": "string",
"description": "유입 채널",
"format": "enum"
}
},
"title": "protos.schedule.schedule.ScheduleDetailReservationContract"
}
],
"description": "예약 정보"
},
"consultation": {
"allOf": [
{
"type": "object",
"properties": {
"counselor": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "계정 ID",
"format": "object-id"
},
"name": {
"type": "string",
"description": "계정 이름"
}
},
"title": "protos.schedule.Counselor"
},
"doctor": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "계정 ID",
"format": "object-id"
},
"name": {
"type": "string",
"description": "계정 이름"
}
},
"title": "protos.schedule.Doctor"
},
"consultationMemo": {
"type": "string"
}
},
"title": "protos.schedule.schedule.ScheduleDetailConsultationContract"
}
],
"description": "상담 정보"
},
"createdDateTimeUtc": {
"type": "string",
"description": "생성 시각 (UTC ISO 8601)"
},
"purchases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"status": {
"enum": [
"TransactionStatus_UNSPECIFIED",
"REQUESTED",
"APPROVED",
"CANCELED",
"SPENT",
"FAILED"
],
"type": "string",
"format": "enum"
},
"paymentType": {
"enum": [
"TransactionPaymentType_UNSPECIFIED",
"CASH",
"CARD",
"PREPAID_CARD",
"PLATFORM",
"TRANSFER",
"EASY_PAY",
"MEDICAL_LOAN"
],
"type": "string",
"format": "enum"
},
"cardConfiguration": {
"type": "object",
"properties": {
"approvalNumber": {
"type": "string"
},
"cardCompany": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"title": "protos.purchase.CardCompany"
},
"installmentConfiguration": {
"type": "object",
"properties": {
"month": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.purchase.InstallmentConfiguration"
},
"cardNumber": {
"type": "string"
}
},
"title": "protos.purchase.CardTransactionConfiguration"
},
"cashConfiguration": {
"type": "object",
"properties": {
"incomeTaxDeductionNumber": {
"type": "string",
"description": "현금영수증 승인번호"
},
"cashReceiptConfiguration": {
"type": "object",
"properties": {
"type": {
"enum": [
"CASH_RECEIPT_TYPE_UNKNOWN",
"PERSONAL",
"BUSINESS",
"VOLUNTARY"
],
"type": "string",
"format": "enum"
},
"personalConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "휴대폰번호(10 자리 또는 11 자리. - 제외)"
}
},
"title": "protos.purchase.PersonalCashReceiptConfiguration"
}
],
"description": "`type`이 `PERSONAL`일 경우 필수"
},
"businessConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"businessNumber": {
"type": "string",
"description": "사업자번호(10 자리)"
}
},
"title": "protos.purchase.BusinessCashReceiptConfiguration"
}
],
"description": "`type`이 `BUSINESS`일 경우 필수"
}
},
"title": "protos.purchase.CashReceiptConfiguration"
}
},
"title": "protos.purchase.CashTransactionConfiguration"
},
"transferConfiguration": {
"type": "object",
"properties": {
"incomeTaxDeductionNumber": {
"type": "string",
"description": "현금영수증 승인번호"
},
"cashReceiptConfiguration": {
"type": "object",
"properties": {
"type": {
"enum": [
"CASH_RECEIPT_TYPE_UNKNOWN",
"PERSONAL",
"BUSINESS",
"VOLUNTARY"
],
"type": "string",
"format": "enum"
},
"personalConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "휴대폰번호(10 자리 또는 11 자리. - 제외)"
}
},
"title": "protos.purchase.PersonalCashReceiptConfiguration"
}
],
"description": "`type`이 `PERSONAL`일 경우 필수"
},
"businessConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"businessNumber": {
"type": "string",
"description": "사업자번호(10 자리)"
}
},
"title": "protos.purchase.BusinessCashReceiptConfiguration"
}
],
"description": "`type`이 `BUSINESS`일 경우 필수"
}
},
"title": "protos.purchase.CashReceiptConfiguration"
}
},
"title": "protos.purchase.TransferTransactionConfiguration"
},
"platformConfiguration": {
"type": "object",
"properties": {
"platform": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"title": "protos.purchase.TransactionPlatform"
}
},
"title": "protos.purchase.PlatformTransactionConfiguration"
},
"prepaidCardConfiguration": {
"type": "object",
"properties": {
"prepaidCardId": {
"type": "string"
},
"chargingId": {
"type": "string"
},
"prepaidCardName": {
"type": "string"
}
},
"title": "protos.purchase.PrepaidCardTransactionConfiguration"
},
"easyPayConfiguration": {
"type": "object",
"properties": {
"easyPayProvider": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"title": "protos.purchase.EasyPayProvider"
},
"installmentConfiguration": {
"type": "object",
"properties": {
"month": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.purchase.InstallmentConfiguration"
},
"incomeTaxDeductionNumber": {
"type": "string"
},
"approvalNumber": {
"type": "string"
}
},
"title": "protos.purchase.EasyPayTransactionConfiguration"
},
"assigneeId": {
"type": "string"
},
"canceledRefId": {
"type": "string"
},
"createdDateTimeUtc": {
"type": "string",
"description": "*n deprecated 이전에는 생성일시와 결제일시가 동일하게 사용됐습니다.n 이후부터는 paymentDateTime.lastUpdatedDateTimeUtc을 사용하세요.n paymentDateTime이 없을 경우 하위 호환을 위해서만 사용합니다."
},
"primaryData": {
"type": "object",
"properties": {
"rawData": {
"type": "string",
"description": "결제단말기로 부터 수신한 응답의 원본. 직렬화된 JSON 데이터."
},
"vendor": {
"enum": [
"PaymentTerminalVendor_UNSPECIFIED",
"KOVAN",
"KSNET",
"STRIPE"
],
"type": "string",
"format": "enum"
},
"terminalTransactionId": {
"type": "string"
},
"terminalId": {
"type": "string"
},
"merchantId": {
"type": "string"
},
"approvalNumber": {
"type": "string"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "Deprecated. Use `Transaction.vatAmount` instead."
},
"failureReasonMessage": {
"type": "string"
},
"cardCompanyName": {
"type": "string"
},
"cardNumber": {
"type": "string"
},
"paymentUrl": {
"type": "string"
},
"installmentConfiguration": {
"type": "object",
"properties": {
"month": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.purchase.InstallmentConfiguration"
}
},
"title": "protos.purchase.TransactionPrimaryData"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"paymentDateTime": {
"allOf": [
{
"type": "object",
"properties": {
"lastUpdatedDateTimeUtc": {
"type": "string"
},
"requestedDateTimeUtc": {
"type": "string"
},
"approvedDateTimeUtc": {
"type": "string"
},
"canceledDateTimeUtc": {
"type": "string"
},
"spentDateTimeUtc": {
"type": "string"
},
"failedDateTimeUtc": {
"type": "string"
}
},
"title": "protos.purchase.TransactionPaymentDateTime"
}
],
"description": "paymentDateTime.lastUpdatedDateTimeUtc가 없다면, 하위 호환을 위해 createdDateTimeUtc를 사용하세요."
},
"medicalLoanConfiguration": {
"type": "object",
"properties": {
"medicalLoanCompany": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"title": "protos.purchase.MedicalLoanCompany"
}
},
"title": "protos.purchase.MedicalLoanTransactionConfiguration"
}
},
"title": "protos.purchase.Transaction"
}
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"optionConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"productTitle": {
"type": "string"
},
"optionType": {
"enum": [
"ProductOptionType_UNKNOWN",
"SINGLE",
"GROUP",
"CONSULTATION"
],
"type": "string",
"format": "enum"
},
"compositions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.purchase.PurchaseItemProcedure"
},
"medicineAndMachines": {
"type": "array",
"items": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "기기/약물 ID"
},
"name": {
"type": "string",
"description": "기기/약물 이름"
}
},
"title": "protos.procedure.MedicineAndMachine"
}
},
"count": {
"type": "integer",
"format": "int32"
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"price": {
"required": [
"amount",
"additional"
],
"type": "object",
"properties": {
"amount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "정가"
},
"additional": {
"type": "array",
"items": {
"required": [
"amount",
"visitorType"
],
"type": "object",
"properties": {
"amount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "가격"
},
"visitorType": {
"allOf": [
{
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "고객 수가 유형 ID"
},
"name": {
"type": "string",
"description": "고객 수가 유형 이름"
}
},
"title": "protos.procedure.ProductOptionPriceVisitorType"
}
],
"description": "고객 수가 유형 정보"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"description": "과세 여부",
"format": "enum"
}
},
"title": "protos.procedure.ProductOptionSpecialPrice"
},
"description": "고객 수가 유형별 가격"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"description": "과세 여부",
"format": "enum"
}
},
"title": "protos.procedure.ProductOptionPrice"
},
"medicalService": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"status": {
"enum": [
"MedicalServiceStatus_UNKNOWN",
"DRAFT",
"PUBLISHED"
],
"type": "string",
"format": "enum"
},
"deleted": {
"type": "boolean"
},
"configuration": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceProcedure"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
}
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
}
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"healthcareReimbursement": {
"enum": [
"HealthcareReimbursement_UNKNOWN",
"REIMBURSABLE",
"NON_REIMBURSABLE"
],
"type": "string",
"format": "enum"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.procedure.medical_service.MedicalServiceConfiguration"
},
"draftedDateTimeUtc": {
"type": "string"
},
"updatedDateTimeUtc": {
"type": "string"
},
"priceAmount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"description": {
"type": "string"
},
"caution": {
"type": "string"
},
"recommendedInterval": {
"type": "integer",
"format": "int32"
},
"contributionConstant": {
"type": "integer",
"format": "int32"
},
"durationTime": {
"type": "number",
"format": "double"
}
},
"title": "protos.procedure.medical_service.MedicalService"
}
},
"title": "protos.purchase.PurchaseItemOptionComposition"
}
},
"medicineAndMachines": {
"type": "array",
"items": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "기기/약물 ID"
},
"name": {
"type": "string",
"description": "기기/약물 이름"
}
},
"title": "protos.procedure.MedicineAndMachine"
}
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.purchase.PurchaseItemProcedure"
},
"count": {
"type": "integer",
"format": "int32"
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"price": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"promotionConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"title": "protos.purchase.PurchaseItemOptionPromotionConfiguration"
},
"medicalService": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"status": {
"enum": [
"MedicalServiceStatus_UNKNOWN",
"DRAFT",
"PUBLISHED"
],
"type": "string",
"format": "enum"
},
"deleted": {
"type": "boolean"
},
"configuration": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceProcedure"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
}
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
}
},
"unit": {
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
},
"healthcareReimbursement": {
"enum": [
"HealthcareReimbursement_UNKNOWN",
"REIMBURSABLE",
"NON_REIMBURSABLE"
],
"type": "string",
"format": "enum"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.procedure.medical_service.MedicalServiceConfiguration"
},
"draftedDateTimeUtc": {
"type": "string"
},
"updatedDateTimeUtc": {
"type": "string"
},
"priceAmount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"description": {
"type": "string"
},
"caution": {
"type": "string"
},
"recommendedInterval": {
"type": "integer",
"format": "int32"
},
"contributionConstant": {
"type": "integer",
"format": "int32"
},
"durationTime": {
"type": "number",
"format": "double"
}
},
"title": "protos.procedure.medical_service.MedicalService"
}
},
"title": "protos.purchase.PurchaseItemOptionConfiguration"
},
"price": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"type": {
"enum": [
"PurchaseItemType_UNSPECIFIED",
"PRODUCT_OPTION",
"ETCETRA_PRODUCT",
"PREPAID_CARD_PRODUCT"
],
"type": "string",
"format": "enum"
},
"adjustedPrice": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"etceteraConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
},
"title": "protos.purchase.PurchaseItemEtceteraConfiguration"
},
"prepaidCardConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"balance": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"point": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"expirationDateTimeUtc": {
"type": "string"
},
"prepaidCardId": {
"type": "string"
},
"description": {
"type": "string"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "*n # 다국어 지원대상 필드n - titlen - description"
},
"expirationDurationInDays": {
"type": "integer",
"description": "*n 선불카드 상품의 사용기간",
"format": "int32"
}
},
"title": "protos.purchase.PurchaseItemPrepaidCardConfiguration"
},
"priceV2": {
"type": "object",
"properties": {
"amount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"description": "과세 여부",
"format": "enum"
}
},
"title": "protos.procedure.Price"
},
"adjustPriceV2": {
"type": "object",
"properties": {
"amount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"description": "과세 여부",
"format": "enum"
}
},
"title": "protos.procedure.Price"
},
"basePrice": {
"type": "object",
"properties": {
"amount": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
},
"suppliedAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "과세 공급가액"
},
"taxFreeAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "면세 금액 (aka. 면세 공급가액)"
},
"vatAmount": {
"allOf": [
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int32"
},
"currency": {
"type": "string"
}
},
"title": "protos.procedure.PriceAmount"
}
],
"description": "부가가치세"
},
"taxation": {
"enum": [
"Taxation_UNKNOWN",
"TAXABLE",
"TAX_FREE",
"MIXED"
],
"type": "string",
"description": "과세 여부",
"format": "enum"
}
},
"title": "protos.procedure.Price"
},
"priceAdjustments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"priceAdjustment": {
"type": "object",
"properties": {
"method": {
"enum": [
"PriceAdjustmentMethod_UNSPECIFIED",
"FIXED_AMOUNT",
"PERCENTAGE"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "number",
"format": "double"
}
},
"title": "protos.purchase.PriceAdjustment"
},
"source": {
"enum": [
"PriceAdjustmentSource_UNSPECIFIED",
"DIRECT",
"DISTRIBUTED"
],
"type": "string",
"format": "enum"
}
},
"title": "protos.purchase.PurchaseItemPriceAdjustment"
}
},
"migratedDateTimeUtc": {
"type": "string"
}
},
"title": "protos.purchase.PurchaseItem"
}
},
"status": {
"enum": [
"SCHEDULE_DETAIL_PURCHASE_STATUS_UNSPECIFIED",
"REFUNDED",
"PARTIALLY_REFUNDED",
"APPROVED"
],
"type": "string",
"format": "enum"
},
"lastUpdatedDateTimeUtc": {
"type": "string"
}
},
"title": "protos.schedule.schedule.ScheduleDetailPurchaseContract"
},
"description": "@deprecated 수납 목록"
},
"tasks": {
"type": "array",
"items": {
"required": [
"type",
"sequence",
"title",
"status",
"paymentRequired",
"assignees",
"doctors",
"calledDoctors",
"anesthesiaType"
],
"type": "object",
"properties": {
"type": {
"enum": [
"FLOW_TASK_TYPE_UNSPECIFIED",
"PROCEDURE",
"ETCETERA"
],
"type": "string",
"description": "태스크 유형",
"format": "enum"
},
"sequence": {
"type": "integer",
"description": "순서",
"format": "int32"
},
"title": {
"type": "string",
"description": "태스크 이름"
},
"status": {
"enum": [
"FLOW_TASK_STATUS_UNSPECIFIED",
"WAITING",
"READY",
"DONE",
"NOT_STARTED",
"CANCELED"
],
"type": "string",
"description": "태스크 상태",
"format": "enum"
},
"paymentRequired": {
"type": "boolean",
"description": "수납 필요 여부"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"roleTags": {
"type": "array",
"items": {
"enum": [
"ROLE_TAG_UNSPECIFIED",
"ADMIN",
"DOCTOR",
"COUNSELOR",
"NURSE",
"SKINCARE",
"CALL_COUNSELOR",
"COORDINATOR"
],
"type": "string",
"format": "enum"
}
}
},
"title": "protos.account.AccountRoleV2Contract"
}
},
"title": "protos.schedule.flow.FlowTaskAssignee"
},
"description": "담당자 목록"
},
"doctors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskDoctor"
},
"description": "의사 목록"
},
"room": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"zoneId": {
"type": "string"
},
"title": {
"type": "string"
},
"order": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.schedule.RoomContract"
}
],
"description": "배정된 방"
},
"assigneeMemo": {
"type": "string",
"description": "담당자 메모"
},
"doctorMemo": {
"type": "string",
"description": "의사 메모"
},
"completedDateTimeUtc": {
"type": "string",
"description": "완료 시각 (UTC ISO 8601)"
},
"readyDateTimeUtc": {
"type": "string",
"description": "준비 시각 (UTC ISO 8601)"
},
"doctorCallDateTime": {
"type": "string",
"description": "의사 호출 시각"
},
"procedureConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"productOptionConfiguration": {
"required": [
"optionId",
"optionTitle",
"medicineAndMachines",
"procedure"
],
"type": "object",
"properties": {
"optionId": {
"type": "string",
"description": "상품 옵션 ID"
},
"optionTitle": {
"type": "string",
"description": "상품 옵션 이름"
},
"medicineAndMachines": {
"type": "array",
"items": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "기기/약물 ID"
},
"name": {
"type": "string",
"description": "기기/약물 이름"
}
},
"title": "protos.procedure.MedicineAndMachine"
},
"description": "기기 및 약물 목록"
},
"procedure": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"commonProcedureConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.procedure.CommonProcedureConfiguration"
},
"deleted": {
"type": "boolean"
},
"createDate": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "클라이언트 및 백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.Procedure"
}
],
"description": "시술 정보"
},
"unit": {
"allOf": [
{
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
}
],
"description": "단위"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_ProductOptionConfiguration"
},
"ticketConfiguration": {
"type": "object",
"properties": {
"ticketId": {
"type": "string"
},
"round": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int32"
},
"current": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.schedule.flow.ProcedureRound"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_TicketConfiguration"
},
"medicalServiceConfiguration": {
"required": [
"id",
"code",
"title",
"translsMap"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "진료 항목 ID"
},
"code": {
"type": "string",
"description": "진료 항목 코드"
},
"title": {
"type": "string",
"description": "진료 항목 이름"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"unit": {
"allOf": [
{
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
}
],
"description": "단위"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
},
"description": "기기 목록"
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
},
"description": "약물 목록"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_MedicalServiceConfiguration"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration"
}
],
"description": "시술 구성 정보 (type == PROCEDURE 일 때만 사용)"
},
"etceteraConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"etceteraTaskId": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskEtceteraConfiguration"
}
],
"description": "기타 시술 정보 (type == ETCETERA 일 때만 사용)"
},
"purchaseId": {
"type": "string",
"description": "수납 ID"
},
"calledDoctors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskCalledDoctor"
},
"description": "호출된 의사 목록"
},
"anesthesiaType": {
"enum": [
"ANESTHESIA_TYPE_UNSPECIFIED",
"SEDATION",
"SPRAY",
"CREAM",
"DENTAL",
"GAS",
"ICE",
"CREAM_DENTAL"
],
"type": "string",
"description": "마취 유형",
"format": "enum"
},
"memo": {
"type": "string",
"description": "메모"
},
"roomAssignedDateTimeUtc": {
"type": "string",
"description": "방 배정 시각 (UTC ISO 8601)"
},
"doctorAssignedDateTimeUtc": {
"type": "string",
"description": "의사 배정 시각 (UTC ISO 8601)"
},
"responsibleDoctor": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"realName": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskResponsibleDoctor"
}
],
"description": "책임 의사"
},
"signed": {
"type": "boolean",
"description": "서명 여부"
},
"signedDateTimeUtc": {
"type": "string",
"description": "서명 시각 (UTC ISO 8601)"
},
"order": {
"type": "integer",
"description": "정렬 순서",
"format": "int32"
},
"doctorsCalledZone": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskZone"
}
],
"description": "의사 호출 구역"
}
},
"title": "protos.schedule.flow.FlowTask"
},
"description": "시술 태스크 목록"
},
"purchaseIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "수납 ID 목록"
},
"prescriptionIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "처방전 ID 목록"
},
"etceteraWorks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sequence": {
"type": "integer",
"format": "int32"
},
"status": {
"enum": [
"STATUS_UNSPECIFIED",
"WAITING",
"COMPLETED",
"CANCELED"
],
"type": "string",
"format": "enum"
},
"memo": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"roleTags": {
"type": "array",
"items": {
"enum": [
"ROLE_TAG_UNSPECIFIED",
"ADMIN",
"DOCTOR",
"COUNSELOR",
"NURSE",
"SKINCARE",
"CALL_COUNSELOR",
"COORDINATOR"
],
"type": "string",
"format": "enum"
}
}
},
"title": "protos.account.AccountRoleV2Contract"
}
},
"title": "protos.schedule.schedule.ScheduleEtceteraWorkAssignee"
}
},
"etceteraWorkConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"title": "protos.schedule.schedule.EtceteraWorkConfiguration"
}
},
"title": "protos.schedule.schedule.ScheduleEtceteraWork"
},
"description": "기타 업무 목록"
},
"zone": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"title": "protos.schedule.schedule.ZoneSummaryContract"
}
],
"description": "접수 구역 정보"
},
"orderMemo": {
"type": "string",
"description": "오더 메모"
},
"receptionDateTimeUtc": {
"type": "string",
"description": "접수 시각 (UTC ISO 8601)"
},
"deleted": {
"type": "boolean",
"description": "삭제 여부"
},
"reactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reaction": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"title": "protos.schedule.schedule.Reaction"
},
"accounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.schedule.ScheduleReactionAccount"
}
}
},
"title": "protos.schedule.schedule.ScheduleReaction"
},
"description": "반응 목록"
},
"occupiedResources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"enum": [
"OccupiedResourceType_UNSPECIFIED",
"RESERVATION_GROUP"
],
"type": "string",
"format": "enum"
},
"reservationTime": {
"type": "object",
"properties": {
"startDateTimeUtc": {
"type": "string",
"description": "*n Greater Than Equal"
},
"endDateTimeUtc": {
"type": "string",
"description": "*n Less Than"
}
},
"title": "protos.DateTimeRangeUtc"
},
"reservationGroup": {
"type": "object",
"properties": {
"reservationGroupId": {
"type": "string"
},
"zoneId": {
"type": "string"
},
"doctors": {
"type": "array",
"items": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "계정 ID",
"format": "object-id"
},
"name": {
"type": "string",
"description": "계정 이름"
}
},
"title": "protos.schedule.Doctor"
}
}
},
"title": "protos.schedule.ReservationGroupResource"
}
},
"title": "protos.schedule.OccupiedResource"
},
"description": "예약 일정(점유 리소스) 목록"
},
"visitorLocation": {
"allOf": [
{
"type": "object",
"properties": {
"zoneId": {
"type": "string"
}
},
"title": "protos.schedule.VisitorLocation"
}
],
"description": "내원객 위치"
},
"visitorRequest": {
"type": "string",
"description": "내원객 요청사항"
},
"updatedDateTimeUtc": {
"type": "string",
"description": "수정 시각 (UTC ISO 8601)"
},
"receptionNumber": {
"type": "integer",
"description": "접수 번호",
"format": "int32"
}
},
"title": "protos.schedule.schedule.ScheduleContract"
}
},
"title": "protos.schedule.schedule.GetScheduleDetailQueryResponse"
}
}
}
}
}