다채널 예약(외부 플랫폼·전화·현장) 충돌 방지를 위한 물리적 리소스 점유 스케줄링 설계
디테일링샵·정비소·클리닉 등 오프라인 서비스 매장에서 외부 플랫폼 예약과 전화 예약이 겹치는 근본 원인인 '시작 시각 중심 예약표'의 한계를 분석하고, 작업 베이(Bay)와 전담 작업자의 시간 구간 점유(Resource Occupancy) 기반 스케줄링 아키텍처를 제시합니다.
[아키텍처 노트 안내]
본 문서는 제이앤코어 공개 기술 Q&A에 접수된 **‘디테일링·세차 매장의 전화 예약 및 외부 플랫폼 예약 중복 방지와 차량별 시공 이력 관리 시스템 구축 문의’**를 바탕으로, 오프라인 현장 서비스 업종의 스케줄링 엔진 설계 원리를 구체화한 아키텍처 노트입니다.
1. 문제 진단: 왜 달력에 빈칸이 있는데도 차를 받을 수 없는가?
프리미엄 세차·디테일링샵, 자동차 정비소, 특수 클리닉 등 현장 시공·시술이 이루어지는 매장에서는 **“외부 플랫폼 예약과 전화·현장 방문 예약이 따로 관리되어 일정이 자꾸 겹친다”**는 고충을 호소합니다.
이 문제를 해결하기 위해 단순히 예쁜 월간·주간 달력 UI부터 새로 만드는 것은 실패하기 쉽습니다. 현장에서 예약 충돌(Overbooking)이 발생하는 진짜 원인은 예약 채널이 여러 개라는 사실 자체보다, 기존 예약표가 ‘물리적 작업 공간과 작업자의 점유 시간(Duration)‘이 아닌 ‘단순 시작 시각(Start Time)‘만 기록하기 때문입니다.
작업 공간(Bay)이 2개인 매장의 오후 2시 상황을 예로 들어보겠습니다.
| 작업 리소스 (물리적 공간) | 현재 진행 중인 작업 | 시작 시각 | 예상 종료 시각 | 오후 2:00 시점 가용 여부 |
|---|---|---|---|---|
| 작업 베이 A (광택·코팅실) | 쏘렌토 유리막 코팅 및 열처리 | 11:00 | 15:00 | 점유 중 (입고 불가) |
| 작업 베이 B (케어룸) | 카니발 실내 정밀 클리닝 | 13:00 | 15:30 | 점유 중 (입고 불가) |
만약 예약 목록이 '시작 시각' 기준으로만 나열되어 있다면, 11:00 예약과 13:00 예약만 보이고 14:00 칸은 비어 있는 것처럼 보입니다.
이때 고객이 전화로 *“오후 2시에 기본 세차 되나요?”*라고 묻거나 외부 예약 폼에서 2시 슬롯을 선택하면, 예약표 상으로는 빈 시간이라 접수가 되지만 실제 매장에는 차를 넣을 물리적 공간이 전혀 없는 충돌 사태가 벌어집니다.
엔지니어링 핵심 명제:
비어 있는 **‘예약 시작 시각’**과 비어 있는 **‘물리적 작업 공간(Resource)‘**은 전혀 다른 개념입니다.
2. 다차원 리소스 점유(Multi-Resource Occupancy) 스케줄링 모델
오프라인 시공 매장의 스케줄링 엔진이 현장에서 정확히 작동하려면, 예약 1건을 단순한 시간표 텍스트가 아니라 3가지 유한한 자원을 특정 시간 구간([Start_Time, End_Time + Buffer]) 동안 점유(Lock)하는 트랜잭션으로 모델링해야 합니다.
[예약 성립을 위한 3대 제약 조건(Constraint Satisfaction) 검증]
예약 요청: [차종: 대형 SUV] + [시공 종목: 실내 클리닝] + [희망 시각: 14:00]
├─ 1. 소요 시간 산출 (Duration Matrix): 기본 90분 + 대형 차종 가산(+30분) + 마감 정리 버퍼(+15분) = 총 135분 (14:00 ~ 16:15)
├─ 2. 공간 제약 검증 (Bay Capacity): [14:00 ~ 16:15] 구간 동안 해당 시공이 가능한 작업 베이가 비어 있는가?
└─ 3. 인력 제약 검증 (Specialist Pool): 동일 구간 동안 해당 시공 기술을 보유한 담당 직원이 배정 가능한가?
① 차종 × 시공 종목 기반의 동적 소요 시간(Dynamic Duration) 산출
동일한 ‘프리미엄 세차’라도 경차·준중형 세단과 대형 SUV·승합차는 실제 작업 시간이 30분~1시간 이상 차이 납니다. 또한 광택이나 특수 코팅 작업은 시공 가능한 전용 부스와 숙련 기술자가 정해져 있습니다. 따라서 시스템은 고객이나 직원이 **[차종 등급 + 시공 프로그램]**을 선택하는 순간, 매장에 설정된 기준표에 따라 실제 베이 점유 시간과 작업 후 바닥 정리 시간(Turnaround Buffer)을 자동으로 합산하여 종료 예정 시각을 산출해야 합니다.
② 공간(Bay)과 담당자(Staff)의 교차 가용성 검증
작업 베이 B가 비어 있더라도, 그 시간에 해당 시공을 할 수 있는 유일한 기술자가 베이 A의 차량을 작업 중이라면 예약을 받을 수 없습니다. 따라서 가용 시간 슬롯을 계산할 때는 MIN(가용 베이 수, 가용 담당자 수) > 0 조건을 만족하는 시간대만 예약 가능 슬롯으로 열어두어야 합니다.
3. 다채널 인바운드 통합: 전화·현장 접수와 온라인 예약의 단일 작업판(Kanban/Timeline)
외부 예약 플랫폼과 전화·방문 예약을 하나의 호흡으로 묶으려면, 매장 직원이 하루 종일 열어두는 첫 화면은 달력이 아니라 **‘오늘의 베이별 실시간 작업 타임라인(Gantt Board)‘**이어야 합니다.
- 전화·현장 즉시 홀딩 (Quick Slot Hold): 전화로 예약 문의가 들어왔을 때 직원이 고객 정보와 세부 옵션을 다 입력하느라 2~3분을 지체하는 사이 온라인으로 같은 시간대 예약이 들어오면 충돌이 납니다. 전화 응대 시에는 원하는 시간 슬롯을 터치 한 번으로 임시 점유(Hold) 상태로 먼저 잡아두고, 차량번호와 연락처를 이어서 입력하는 빠른 접수 UX가 필수적입니다.
- 외부 채널 유입 건의 베이 배정 큐: 외부 플랫폼에서 시간 단위로 유입된 예약은 상단
'베이 배정 확인 대기열'에 즉시 노출하여, 현장 관리자가 당일 입고 차량의 지연 여부를 감안해 베이 A 또는 B로 드래그 앤 드롭 확정할 수 있게 설계합니다. - 현장 지연(Delay) 발생 시 연쇄 밀림 시뮬레이션: 앞선 11시 차량의 오염도가 심해 작업이 30분 지연될 경우, 관리자가 종료 예정 시각을
+30분늘리면 뒤이어 배정된 오후 예약들과의 충돌 여부를 즉시 붉은색 경고로 표시하여 사전에 고객에게 안내하거나 옆 베이로 재배치할 수 있도록 돕습니다.
4. 예약에서 고객 자산으로: 차량번호 기반 시공 히스토리(CRM) 연결
스케줄링이 안정화되면 예약할 때마다 입력된 데이터는 자연스럽게 매장의 핵심 영업 자산인 **차량별 시공 원장(Vehicle Service History)**으로 축적됩니다.
고객이 6개월 만에 다시 전화하거나 방문했을 때, 차량번호 네 자리(3456)만 검색하면 다음 정보가 1초 만에 팝업됩니다.
- 마지막 방문일 및 당시 시공 내역 (예:
2026-04-12 유리막 코팅 시공 / 담당: 박실장) - 해당 차량의 특이사항 메모 (예:
휠 분진 심함, 루프박스 장착 차량으로 2번 베이만 진입 가능, 특정 케미컬 주의) - 권장 재시공 주기 도래 여부 (예:
코팅 메인터넌스 주기 6개월 도래 안내 대상)
매번 고객에게 *“지난번에 어떤 시공 받으셨죠?”*라고 되묻는 매장과, 차량번호 하나로 과거 시공 이력과 차량 특성을 먼저 짚어주는 매장의 재방문율은 완전히 달라질 수밖에 없습니다.
💡 오프라인 매장·시공업 맞춤형 예약 및 고객 이력 시스템 상담
- 외부 예약 채널과 전화·카톡 예약이 따로 놀아 주말마다 현장 스케줄이 꼬이고 있습니까?
- 작업 공간(베이·룸)과 담당자별 소요 시간이 반영된 진짜 현장용 스케줄 보드가 필요하십니까?
매장의 작업 공간 수, 주요 시공 메뉴별 소요 시간, 그리고 현재 예약을 적고 계신 수첩이나 엑셀 구조만 알려주시면, 제이앤코어가 현장 충돌을 원천 차단하는 맞춤형 예약·이력 관리 웹 시스템을 2~4주 안에 구축해 드립니다.
“우리 회사 엑셀 업무도 이렇게 바꿀 수 있을까요?”
사내 ERP를 무리하게 바꾸지 않고도, 매달 터지기 일보 직전인 엑셀 병목만 독립 웹 시스템으로 2~4주 만에 안전하게 해결해 드립니다.
