처리시간과 버퍼타임 — 염색·펌 대기시간을 예약에 반영하는 법
염색·펌·매직 같은 시술에는 반드시 "빈 시간"이 낍니다. 염색약을 바르고 30~60분을 기다리는 동안 담당 디자이너는 사실상 손이 빕니다. 시술이 끝난 뒤에도 의자 정리·소독에 몇 분은 필요합니다. 이 두 종류의 빈 시간을 예약 시스템이 어떻게 계산하느냐에 따라, 동일한 가용 시설 및 인력으로 하루에 손님을 몇 명 더 받을 수 있는지가 갈립니다.
두 가지 다른 "빈 시간": 버퍼타임과 처리시간
이름은 비슷해도 완전히 다른 개념입니다.
- 버퍼타임(정리시간): 시술이 끝난 뒤에 필요한 시간입니다. 이 동안은 담당 직원과 좌석 둘 다 다음 예약을 받을 수 없습니다.
- 처리시간(processing time): 시술 도중 손님이 기다리는 구간입니다. 손님은 계속 매장에 있고 좌석도 점유된 상태지만, 담당 직원은 실제로 손이 비어 있습니다.
이 구분은 저희가 만든 게 아니라 업계에서 이미 표준으로 쓰입니다. Mangomint는 두 개념을 아예 별개로 문서화하면서 버퍼타임에 대해 "손님은 기존 예약의 버퍼 시간 동안 온라인 예약으로 다른 시간을 잡을 수 없다"고 명시합니다 (Mangomint, "Processing, Finishing, and Buffer Times"). 반면 처리시간은 그 직원이 비는 구간에 다른 손님을 받을 수 있다는 게 여러 플랫폼의 공통된 전제입니다.
타 플랫폼은 이 시간을 어떻게 계산할까요
Boulevard·Vagaro·Phorest 같은 플랫폼은 대부분 가산형(additive) 방식을 씁니다. "도포 시간 + 처리 시간 + 마무리 시간"을 각각 따로 입력받아 더해서 전체 소요시간을 계산하는 방식입니다. Boulevard는 이걸 "Initial/Processing/Final Duration"으로 나눠 부르고, 처리시간 동안 손님이 온라인으로 셀프 예약할 수 있게 하되 "고객이 원하는 서비스가 배정된 처리시간 안에 정확히 들어맞을 때만" 허용한다고 명시합니다 (Boulevard, "Service Timing Options"). Vagaro도 비슷하게 처리시간(갭) 구간에 다른 예약을 받는 걸 "다른 서비스를 예약하는 것과 동일한 방식"이라고 설명합니다 (Vagaro, "Manage Gap Processing Time"). Phorest는 "Development Time"이라는 이름으로 같은 개념을 제공합니다 (Phorest, "Automatic gap for development time").
💡참고위 인용은 각 플랫폼의 공식 지원 문서를 직접 확인한 내용이지만, 지원 문서는 수시로 바뀝니다. 실제 계약·설정 전에는 해당 플랫폼에 직접 최신 내용을 확인해보시길 권해드립니다.
Biseo의 선택: 소요시간은 그대로, 그 안에 구간만 추가 (차감형)
가산형은 깔끔하지만 대가가 있습니다 — 기존에 "45분"으로 등록해 둔 서비스를, "도포 15분 + 처리 20분 + 마무리 10분"으로 다시 쪼개야 합니다. 이미 예약 데이터가 쌓여 있고 손님에게 "45분"으로 안내해 온 매장 입장에서는, 시술 시간 자체의 의미가 바뀌는 마이그레이션입니다.
Biseo는 그래서 차감형(carve-out) 모델을 택했습니다. 서비스의 전체 소요시간(예: 45분)은 그대로 두고, 그 45분 안에서 "몇 분 뒤부터 몇 분 동안 직원이 비는지"만 오프셋으로 추가합니다. 손님에게 보여주는 총 소요시간, 이미 쌓인 예약 이력, 매출 계산 로직 — 어느 것도 손댈 필요가 없습니다. 처리시간을 켜지 않으면 이전과 완전히 동일하게 동작하고, 서비스별로 원할 때만 켤 수 있습니다(기본값은 꺼짐).
이 기능을 켜야 할까요?
기본값이 꺼짐인 이유가 있습니다. 처리시간을 켠다는 건 "이 시간 동안 다른 손님을 받겠다"는 뜻인데, 그러려면 그 시간에 다른 손님을 실제로 응대할 사람이 있어야 합니다. 디자이너가 혼자인 1인샵이라면, 염색약 도포 대기 중에 다른 손님을 받을 사람 자체가 없으니 이 기능을 켤 이유가 없습니다 — 버퍼타임만으로 충분합니다. 반대로 직원이 여러 명이고 실제로 대기 시간 동안 다른 예약을 소화할 여유가 있는 매장이라면, 그만큼 같은 의자에서 더 많은 예약을 받을 수 있습니다.
까다로운 케이스 하나: 갭을 채우는 예약 자신의 정리시간
실제로 이 기능을 테스트하다가 나온 질문입니다. 어떤 손님(A)의 염색 시술이 10:00~11:10에 잡혀 있고, 그중 10:30~11:10(40분)은 직원이 비는 처리시간 구간입니다. 여기에 40분짜리 "일반컷"을 다른 손님(B)에게 넣으려 했는데, 이 일반컷 서비스 자체에 정리시간 10분이 설정되어 있어서 실제로는 50분(40+10)이 필요했습니다. 갭은 정확히 40분인데 필요한 시간은 50분이니, 얼핏 보면 안 맞는 게 맞습니다.
문제는 손님 B의 정리시간(10분)이 정말 "이 갭 안에서" 끝나야 하냐는 것입니다. 손님 A의 처리시간이 끝나는 11:10에 담당 디자이너가 A에게 돌아가야 하는 건 맞지만, B의 좌석 정리는 그 이후에 해도 상관없습니다 — 정리는 디자이너의 손이 필요한 작업이 아니기 때문입니다. 타 플랫폼 공식 문서를 다시 찾아봤지만 이 정확한 상호작용(갭을 채우는 예약 자신의 정리시간)을 명시한 곳은 없었습니다. 다만 Boulevard의 문구가 "고객이 원하는 서비스가 처리시간 안에 들어맞을 때"라고 못 박은 걸 보면, 서비스 자체의 소요시간만 갭에 맞으면 된다는 쪽에 가깝습니다.
그래서 Biseo는 갭을 채우는 예약은 자기 자신의 정리시간을 그 갭 안에 넣지 않아도 되도록 정했습니다. 위 예시라면 손님 B의 일반컷(40분)은 갭(40분)에 정확히 들어맞으므로 예약 가능하고, 뒤이은 10분 정리시간은 갭 밖에서 처리됩니다. 이렇게 하지 않으면, 정리시간이 조금이라도 설정된 대부분의 실제 서비스가 처리시간 갭을 아예 활용하지 못하게 되어 기능 자체가 무의미해지기 때문입니다.
켜는 방법
| 설정 위치 | 내용 | 기본값 |
|---|---|---|
| 서비스 편집 화면 | 서비스별 "처리시간 있음" 토글 + 시작 시점/길이 | 꺼짐 |
| 예약 정책 설정 | 서비스별·전역 정리시간(버퍼) | 0분 |
| 예약 정책 설정 | 온라인 예약폼에도 처리시간 갭 노출 여부 | 꺼짐 |
처리시간은 기본적으로 관리자 전용입니다 — 원장님이 캘린더에서 직접 다른 손님을 그 시간에 채워 넣는 용도로, 손님에게는 노출되지 않습니다. 온라인 예약폼(손님이 직접 예약하는 화면)에 이 시간대를 보여줄지는 별도 설정으로 분리해 뒀고, 이것도 기본값은 꺼짐입니다. 켜더라도 손님이 선택한 서비스가 그 갭에 정확히 들어맞을 때만 그 시간이 예약 옵션으로 보입니다 — 애매하게 들어맞는 경우까지 열어주지 않습니다.
처리시간·버퍼타임 설정이 실제로 어떻게 동작하는지 화면으로 직접 확인해보고 싶으시다면 무료로 시작하기에서 바로 살펴보실 수 있습니다.