コンテンツにスキップ

チケット

チケットとは、お客様がキューに参加したときに発行される、キュー内のエントリです。キューシステムの中核となる単位で、ディスプレイ画面からデスクのインターフェースまで、あらゆる要素がチケットを中心に成り立っています。

  • チケット番号 — お客様に表示される連番の整数で、キオスクの整理券、ディスプレイ画面、デスクの待機リストに表示されます。番号はキューごとに単調増加し、リセットされることはありません。
  • チケットハッシュ — 128ビットのエントロピーを持つ22文字のランダムな文字列です。このハッシュはお客様の匿名の認証情報として機能します(詳細は後述)。
  • 状態 — 6つの値のいずれか(後述)。
  • キュー — チケットが属するキュー。
  • タイムスタンプ — チケットが作成された、呼び出された、完了した、などの各時刻。
  • 注記(任意) — スタッフが入力する付随情報:お客様の名前、人数、自由記述のメモ。チケットの注記を参照してください。

チケットは、そのライフサイクルの中で以下の状態を遷移します。

状態終端?意味
WAITINGいいえお客様がキューにおり、呼び出しを待っている状態です。
CALLEDいいえデスクがこのチケットを呼び出しました。お客様はカウンターへ向かうべき状態です。
SKIPPEDいいえデスクがこのチケットをスキップしました。再呼び出し可能で、スタッフはWAITINGに戻せます。
COMPLETEDはいデスクが対応完了とマークした状態です。
CANCELEDはいお客様が自分自身でキュー内の順番をキャンセルした状態です。
NO_SHOWはいデスクがお客様の不在を確認した状態です。分析上はSKIPPEDとは別に集計されます。
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (desk recalls the customer)
↘ NO_SHOW (desk confirms absence)
↘ CANCELED (customer cancels their deferred spot)
WAITING → CANCELED (customer-initiated)
CALLED → CANCELED (customer-initiated)
SKIPPED → CANCELED (customer-initiated — removes from recallable pool)

SKIPPEDは再呼び出し可能な保留状態です — お客様は一度飛ばされましたが、チケットはまだ有効です。スタッフはデスクの検索画面で待ち行列に呼び戻すの操作を使うか、スキップから5秒以内に元に戻すを押すことで、お客様を呼び戻せます。スキップされたお客様のプッシュ通知の購読は有効なままに保たれるため、チケットページを閉じていても再呼び出し→呼び出しのプッシュ通知は届きます。

NO_SHOWは確定した終端状態の不在です。チケットは再呼び出し可能なプールから除外され、分析上も別に集計されます。お客様が確実に立ち去ったと判断できる場合に使用してください。

デスク側の詳しい操作手順は不在の対応を参照してください。

スタッフは、デスクの注記を付ける操作を使って、任意のチケットに簡易的な付随情報を追加できます。

  • お客様の名前 — デスクには常に表示されます。ディスプレイに表示されるのは、キューの名前で呼び出す設定が有効な場合のみで、その場合も短縮形(例:「Alice S.」)でのみ表示され、フルネームが表示されることはありません。
  • 人数 — 常にデスクに表示され、ディスプレイにも配信されます(機密性の低い件数のみ)。
  • メモ — 自由記述のバックオフィス用メモです。デスクのみに表示され、ディスプレイやお客様に送られることはありません。

チケットをスキップする際にスキップの理由(任意)欄に入力するスキップ理由は、チケットのメモ欄に保存され、デスクの検索画面で確認できます。

注記は、チケットが終端状態になるまでの間、いつでも追加・更新できます。

WAITING状態のチケットは、デスクの移動ボタンを使って、同じ拠点内の別のキューに移動できます。お客様が間違ったキューに参加してしまった場合や、トリアージの結果別のサービスが必要だとわかった場合に便利です。

移動のルール:

  • 移動できるのはWAITING状態のチケットのみです。CALLED状態のチケットは、先に完了、スキップ、または不在処理を行う必要があります。
  • 移動元と移動先のキューは同じ拠点内にある必要があります。
  • 移動先のキューはACTIVEである必要があります。
  • デスクは移動元・移動先の両方のキューに割り当てられている必要があります。
  • 有効なサブスクリプションが必要です。

移動後の順番付け — チケットはお客様の元の参加時刻を保持したうえで、5分のペナルティが加算されます。これにより、すでに経過した待ち時間を維持しつつ、移動先キューでより長く待っているお客様を追い越すことを防ぎます。

チケットハッシュは維持されます — お客様のチケットページのURLは引き続き有効です。チケットには移動先キューでの新しい連番が割り当てられます。リアルタイムの更新は両方のキューに即座に配信されます。

手順の詳細はデスクガイドのチケットを別のキューへ移動するセクションを参照してください。

認証情報としてのチケットハッシュ

Section titled “認証情報としてのチケットハッシュ”

お客様は匿名です — キューに参加するのにログインやアカウントは一切必要ありません。代わりに、22文字のチケットハッシュがお客様の所有権を証明するものとして機能します。これはチケットページのURLに埋め込まれています。

https://customer.jonot.io/{org}/{location}/{queue}/{ticket-hash}/

ハッシュを知っていることが、そのチケットの所有者であることの証明になります。APIはこのハッシュを使って認証を行います。

  • ticketByHash — 自分のチケットと順番を照会する
  • cancelTicket — 自分のチケットをキャンセルする(WAITINGCALLEDSKIPPEDのチケットで利用可能)

この設計は意図的なものです。キューへの参加からあらゆる手間を取り除きます。アカウントもアプリもパスワードも不要で、必要なのはURLだけです。

このハッシュは128ビットのエントロピーを持ち(UUID v4相当)、他のお客様のチケットハッシュを推測することは計算上不可能です。

異常なトラフィック下での確認

Section titled “異常なトラフィック下での確認”

通常の利用では参加は手間なく行えます。不正利用防止策として、あるキューが短時間に 異常なほど大量の参加を受け付けた場合、Web経由(QRコードまたはリンク)で参加する お客様には、チケットが発行される前に簡単な「私は人間です」という確認を求めることが あります。正当な利用者のほとんどは、意識することなくこの確認を通過します。これは トラフィックが急増した場合にのみ表示されるもので、通常のトラフィックでは確認は 表示されません。また、デバイス認証情報で信頼されている現地のキオスクからの 参加には決して適用されません。

チケットがWAITING状態にある間、お客様のチケットページには推定待ち時間が表示 されます。同じ推定値はキオスクの参加後の確認画面にも表示されるため、お客様は 覚えておくべき番号とともにキオスクを離れられます。これはベストエフォートの 推定値であり、保証ではありません。

この推定値は、そのキューの直近の対応間隔から算出されます。直近90分間に十分な 数の完了済みチケットがある場合、サーバーは対応時間の中央値を算出し、それに お客様のキュー内の順番(前に並んでいる人数 + 0.5)を掛け合わせます。お客様が 次の番(前に並んでいる人数がゼロ)の場合、推定値はゼロと表示されます。直近の 履歴が少ない場合は、キューに設定された想定対応時間がフォールバックとして 使われます。推定値には信頼度の指標も付きます(実際のデータから算出された場合、 またはお客様が次の番である場合はhigh、設定されたデフォルト値にフォールバック した場合はlow)。

この推定値は、ACTIVEなキュー内のWAITING状態のチケットに対してのみ表示され ます。キューが一時停止している場合は表示されず、チケットが呼び出されると同時に 表示は消えます。

  1. お客様がQRコードまたはキオスクから参加する → チケットがWAITING状態で発行されます。
  2. お客様がチケットページを開く → キュー内の自分の順番と、利用可能であれば 推定待ち時間がリアルタイムに表示されます。
  3. デスクが番号を呼び出すと、チケットはCALLEDに移り → お客様のページも即座に更新されます。
  4. お客様がカウンターへ向かいます。対応後、デスクはCOMPLETEDにマークします。
  5. お客様が応答しない場合、デスクは次のいずれかを行えます。
    • スキップ → チケットはSKIPPED(再呼び出し可能な保留状態)に 移ります。お客様の画面には飛ばされたことが表示され、待つか再参加するかを選べます。
    • 不在 → チケットはNO_SHOW(終端状態)に移ります。 分析上、スキップされたチケットとは別に集計されます。
  6. スキップされたお客様はスタッフによって呼び戻される(列の先頭でWAITINGに戻る)か、自分の順番をキャンセルして最後尾から再参加することができます。