기기
Jonot에는 세 가지 기기 유형이 있으며, 각각 대기열 워크플로에서 고유한 역할을 담당합니다. 모든 기기는 기기에서 생성된 단기 페어링 코드를 admin에 입력하는 방식으로 지점(그리고 선택적으로 대기열)에 페어링됩니다.
기기 유형
섹션 제목: “기기 유형”키오스크
섹션 제목: “키오스크”매장 입구에 배치하는 태블릿입니다. 고객은 키오스크와 상호작용하여 대기열에 참여합니다. 프로덕션에서는 Jonot이 지원되는 경우(현재는 Android) 태블릿에서 전용 네이티브 앱으로 키오스크를 실행하는 것이 일반적입니다. 브라우저 기반 키오스크 구성도 가능합니다. Android에서는 키오스크가 ESC/POS 프린터에 연결하여 실물 번호표 영수증을 발급할 수 있습니다. 키오스크는 특정 대기열에 페어링됩니다.
화면: 지원되는 경우 전용 키오스크 앱, 또는 https://kiosk.jonot.io
디스플레이
섹션 제목: “디스플레이”대기 공간에 설치되어 실시간 대기열 상태를 보여주는 TV 또는 모니터입니다 — 현재 어느 번호표가 어느 창구에서 호출되고 있는지, 몇 명이 대기 중인지, 다음에 호출될 번호 미리보기, 최근 호출 이력을 화면에 표시합니다. 새 번호가 호출되면 음성 안내가 재생됩니다. WebSocket을 통해 실시간으로 업데이트됩니다.
Desk
섹션 제목: “Desk”다음 고객을 호출하고, 서비스를 완료 처리하거나, 부재 고객을 건너뛸 때 사용하는 직원용 인터페이스입니다. 지원되는 경우(현재는 Android) 고정 카운터 태블릿에서 전용 네이티브 앱으로 실행하거나, PC/태블릿의 브라우저에서 실행할 수 있습니다. 창구는 특정 대기열에 페어링됩니다. 직원은 개별 Jonot 계정이 필요하지 않습니다 — 창구 세션 자체가 자격 증명 역할을 합니다.
화면: 지원되는 경우 전용 Desk 앱, 또는 https://desk.jonot.io
페어링 모델
섹션 제목: “페어링 모델”세 가지 기기 유형 모두 동일한 페어링 절차를 사용합니다:
- 실제 기기에서 해당 런타임의 페어링 화면을 엽니다. 키오스크와 Desk의 경우 보통 태블릿의 전용 기기 앱이 이 역할을 하며, 브라우저 기반 구성에서는 대신
https://kiosk.jonot.io/pair/또는https://desk.jonot.io/pair/를 열 수 있습니다. 디스플레이는 현재https://display.jonot.io/pair/를 사용합니다. 기기는 7자리 페어링 코드(예:K7M-4PQ)를 요청하여 화면에 표시합니다. 이 코드는 10분 동안 유효합니다. - org-manager 또는 location-manager가 admin에서 해당 지점을 열고 기기 탭으로 이동하여 기기 페어링을(를) 클릭한 뒤, 기기 화면에 표시된 코드를 입력합니다.
- 서버는 기기를 활성화하고 DeviceSession을 생성한 뒤 장기 유효한 기기 토큰을 발급합니다. 기기는 활성화를 감지하고 운영 화면을 엽니다. 프린터가 설정되지 않은 상태로 새로 페어링된 Android 키오스크는 먼저 프린터 설정 화면으로 이동합니다.
코드가 admin에 입력되기 전에 만료되면 기기의 페어링 화면으로 돌아가 새 코드를 요청하세요. 브라우저 기반 구성에서는 해당 /pair URL로 다시 이동하면 됩니다. 이전 코드는 자동으로 무효화됩니다.
DeviceSession 수명 주기
섹션 제목: “DeviceSession 수명 주기”DeviceSession은 페어링 시점에 생성되며, admin에서 수동으로 취소하거나 세션이 만료될 때까지 유지됩니다. 다음 정보를 담고 있습니다:
- 기기 유형(키오스크 / 디스플레이 / Desk)
- 지점 할당
- 대기열 할당(선택 사항, 키오스크 / Desk / 디스플레이)
- Desk 할당(선택 사항, 디스플레이 — 아래 참고)
- 표시 이름(선택 사항, 예: “Desk 1”, “Kiosk A”)
- 마지막 접속 시각
- 온라인/오프라인 상태
기기 세션을 취소하려면 admin → 지점 → Devices로 이동해 해당 기기를 찾은 뒤 해지를 클릭합니다. 기기는 다음 요청 시 접근이 차단됩니다.
디스플레이 할당
섹션 제목: “디스플레이 할당”디스플레이에는 두 가지 독립적인 할당 축이 있습니다 — 어떤 대기열을 보여줄지, 그리고 (선택적으로) 어느 창구에 집중할지입니다.
대기열 할당은 보드 레이아웃을 결정합니다:
- 단일 대기열 — 대기열 하나가 할당된 경우로, 디스플레이는 현재 서비스 중인 번호를 크게 강조하는 단일 대기열 레이아웃을 사용합니다.
- 다중 대기열 보드 — 대기열 2~5개가 할당된 경우로, 디스플레이는 각 열이 독립적으로 실시간 표시되는 형태로 나란히 보여줍니다.
- 지점 전체 화면 (모든 창구) — 대기열이 할당되지 않은 경우로, 디스플레이는 지점 전체의 모든 활성 호출을 보여줍니다.
창구 연결은 위의 어느 방식에도 선택적으로 추가할 수 있는 오버레이입니다:
- 창구에 연결됨 —
assignedDeskSessionId를 특정 창구 세션으로 설정합니다. 해당 창구가 온라인 상태인 동안, 디스플레이는 그 창구가 호출한 번호표만 단일 번호표 집중 보기로 보여줍니다. 각 창구마다 자체 화면을 두는 경우에 유용합니다. - 연결 안 됨 —
assignedDeskSessionId가null입니다. 디스플레이는 위에서 설명한 대기열 할당을 따릅니다.
디스플레이가 창구에 연결된 상태에서 해당 창구가 2분 넘게 오프라인 상태가 되면, 디스플레이는 자동으로 지점 보기로 전환됩니다. 창구가 다시 연결되면 창구 연결 모드로 돌아갑니다.
운영자를 위한 안내는 디스플레이 페어링하기를, 보드 레이아웃에 대한 자세한 내용은 디스플레이 커스터마이즈하기를 참고하세요.
오프라인 동작
섹션 제목: “오프라인 동작”기기는 Jonot API와 WebSocket 연결을 유지합니다. 서버는 각 기기 세션의 lastSeenAt을 추적합니다. Devices 목록에서 admin은 연결되어 있는 동안 기기를 온라인로 표시하며, 마지막 접속 시각이 임계값을 넘으면 상태 열에는 대신 마지막으로 접속한 지 얼마나 지났는지가 표시됩니다. 네트워크가 복구되면 기기는 자동으로 재연결되며, 별도의 수동 조치가 필요하지 않습니다.
Desk 자격 증명
섹션 제목: “Desk 자격 증명”Desk는 개인 사용자 계정이 아니라 페어링 시 발급된 기기 토큰을 사용해 인증합니다. 즉, 해당 기기를 사용하는 직원이라면 누구든 로그인 없이 Desk에 접근할 수 있습니다. 접근을 제한하려면 기기 세션을 취소하고 승인된 기기로만 다시 페어링하세요.