콘텐츠로 이동

대기열

대기열은 지점 내에 이름이 지정된 대기 목록입니다. 고객이 대기열에 참여하면 순차적인 번호가 매겨진 번호표를 받습니다. Desk의 직원은 대기열에서 번호표를 하나씩 호출합니다. 디스플레이 화면은 각 호출을 안내합니다.

각 대기열은 다음 요소로 구성됩니다:

  • 이름 — 고객과 직원에게 표시되는 사람이 읽기 쉬운 라벨입니다(예: “Walk-ins”, “Appointments”).
  • 슬러그 — 고객 참여 URL에 사용되는 URL 안전 식별자입니다. 대기열 이름으로부터 자동 생성됩니다.
  • 고객 참여 URL — 고객이 이 대기열에 참여하기 위해 방문하는 전체 URL입니다:
    https://customer.jonot.io/{org-slug}/{location-slug}/{queue-slug}/
    이 URL은 입구에 게시하는 QR 코드에도 인코딩되어 있습니다.
  • 정원 제한 (선택 사항) — 동시에 WAITING 상태로 있을 수 있는 번호표의 최대 개수입니다. 대기열이 가득 차면 새로운 참여 시도는 “대기열이 가득 찼습니다” 메시지와 함께 거부됩니다. 무제한으로 두려면 비워두세요.
  • 예상 서비스 시간 — 고객 한 명을 응대하는 데 걸리는 일반적인 시간(분 단위, 1~1440)으로, 대기열 생성/수정 양식에서 설정합니다. 대기열이 자체 속도를 측정할 만큼 충분한 실시간 이력을 쌓기 전까지 고객 대기 시간 예측의 기준값이 됩니다(자세한 내용은 대기 시간 예측 참고).

한 지점은 얼마든지 많은 대기열을 가질 수 있습니다. 이를 통해 여러 서비스 라인을 병렬로 운영할 수 있습니다 — 예를 들어:

  • “General Consultation”과 “Pharmacy Pick-up” 대기열을 운영하는 병원
  • “Passport”와 “ID Renewal” 대기열을 운영하는 관공서
  • “Personal Banking”과 “Business Banking” 대기열을 운영하는 은행

각 대기열은 독립적인 대기 목록을 가집니다. Desk는 페어링 시점에 특정 대기열에 페어링되므로, “Walk-ins”를 담당하는 Desk는 “Appointments”의 번호표를 볼 수 없습니다.

대기열은 기기와 직원이 조직되는 중심 단위입니다:

  • 키오스크는 대기열에 페어링됩니다 — 키오스크를 탭한 고객은 해당 특정 대기열에 참여합니다.
  • Desk는 대기열에 페어링됩니다 — 직원은 해당 대기열에서 번호표를 호출합니다.
  • 디스플레이는 지점의 모든 활성 호출, 특정 Desk의 대기열 호출, 또는 최대 5개 대기열을 결합한 보드를 보여줍니다.

대기열 생성과 관리는 admin에서 지점의 대기열 탭 아래에서 이루어집니다. 단계별 안내는 대기열 만들기를 참고하세요.

정원 제한을 설정하여(대기열 생성/수정 양식의 최대 대기 인원 필드) 한 번에 대기열에서 기다릴 수 있는 고객 수를 제한할 수 있습니다. 정원에 도달하면:

  • 고객 참여 화면에 “대기열이 가득 찼습니다” 메시지가 표시됩니다.
  • 키오스크에는 대기열 가득 참 상태가 표시됩니다.
  • 대기 중인 번호표가 빠질 때까지(호출, 취소, 이동됨) 대기열에 참여할 수 없습니다.

정원 제한은 원자적으로 적용됩니다 — 정확히 동시에 참여를 시도하는 두 고객이 동시에 정원을 초과하게 만들 수는 없습니다. 무제한 대기열(기본값)로 두려면 필드를 비워두세요.

모든 대기열에는 운영 시간과 무관하게 직원이 직접 제어하는 수동 상태가 있습니다:

  • 활성 — 정상 상태입니다. 고객은 참여할 수 있고 Desk는 번호표를 호출할 수 있습니다.
  • 일시 중지 — 신규 접수를 일시적으로 중단합니다. 새로운 참여는 거부되지만, 이미 대기 중인 사람은 순서를 그대로 유지합니다. 짧은 휴식 시간이나, 더 많은 사람을 받기 전에 밀린 대기를 먼저 처리하고 싶을 때 사용합니다.
  • 마감 — 일시 중지처럼 접수를 중단하지만, 대기열이 당분간 종료되었음을 알립니다. 대기 중인 번호표는 취소되지 않고 유지됩니다. 마감된 대기열을 다시 여는 것은 admin에서만 할 수 있는 작업입니다 — Desk에서 자체적으로 다시 열 수 없습니다.

대기열이 일시 중지되거나 마감되면, 이미 대기 중인 고객은 번호표에 상태 배너를 보게 되고, 참여를 시도하는 사람은 일반적인 오류 대신 해당 상황에 맞는 메시지와 함께 거부됩니다. 일시 중지 배너는 고객에게 순서가 유지되며 대기열이 곧 재개될 것임을 안심시킵니다. 마감 배너는 좀 더 주의를 요합니다 — 번호표는 유지되지만 서비스를 받지 못할 수도 있으므로, 고객에게 직원에게 문의하도록 안내합니다.

상태 설정:

  • admin에서 org-manager 또는 location-manager가 대기열 수정 양식에서 상태(Active / Paused / Closed)를 설정합니다.
  • Desk에서는 직원이 대기열 일시 중지 / 대기열 재개 버튼 하나로 Active와 Paused 상태를 전환할 수 있습니다 — Desk를 벗어나지 않고 잠깐 쉬어야 할 때의 빠른 방법입니다. 마감(그리고 마감 상태에서 다시 열기)은 admin에서만 가능합니다.

상태 변경은 즉시 적용되며 연결된 모든 Desk, 디스플레이, 고객에게 실시간으로 전달됩니다.

지점의 운영 시간은 해당 지점의 모든 대기열에 대한 시간 기반 제한으로 작동합니다. 지점이 설정된 운영 시간을 벗어나면, 참여 시도는 “영업시간 외” 메시지와 함께 거부되고, 고객용 대기열 선택 화면에는 “마감 — [시간]에 시작” 상태가 표시됩니다. Desk와 디스플레이에는 영업시간 외 알약형 라벨이 표시됩니다.

운영 시간은 대기열 단위가 아니라 지점 단위로 Admin → [지점] → Hours에서 설정합니다:

  • 표준 시간대 — IANA 시간대(예: Europe/Helsinki)입니다. 모든 시간은 이 시간대 기준으로, 일광절약시간(DST)까지 정확하게 계산됩니다.
  • 주간 일정 — 요일별 영업/마감 시간대입니다. 시간대가 없는 요일은 종일 마감됩니다. 하루에 여러 시간대를 설정할 수 있습니다(예: 점심시간을 반영해 08:00–12:00과 13:00–17:00으로 나누는 경우).
  • 자정을 넘기는 시간대 — 마감 시각이 자정을 넘기는 시간대(예: 금요일 20:00–02:00)를 지원합니다. 마감 시각은 일반적인 시계 값(02:00)으로 입력하면 되며, 마감 시각이 시작 시각과 같거나 그보다 이르면 편집기가 자동으로 다음 날로 처리하고 마감 필드 옆에 다음 날 힌트를 표시합니다.

특정 날짜에 대한 예외(공휴일, 특별 영업시간)는 시간 편집기의 날짜 예외 섹션에서 관리합니다:

  • 마감 예외 — 주간 일정과 무관하게 특정 날짜를 완전히 마감으로 표시합니다(예: 공휴일).
  • 사용자 지정 시간 예외 — 특정 날짜의 주간 일정을 다른 시간대 구성으로 대체합니다. 특정 날짜의 마감 예외는 전날의 자정을 넘기는 시간대보다 우선 적용됩니다.

예외는 주간 일정 아래 목록에 표시되며 언제든지 추가, 수정, 삭제할 수 있습니다.