メインコンテンツへスキップ
見出し画像

NOT A HOTELのインターホンの裏側

    この記事は、NOT A HOTELのソフトウェア開発連載「Inside the SOFTWARE TEAM」の企画で書いています。
    https://note.com/notahotel_inc/n/n5a29a2c064b5

    はじめに

    こんにちは。NOT A HOTELのスマートホームチームでエンジニアをしている今井(@imashin_)です。スマートホームチームでは、ソフトウェア開発にとどまらず、ネットワーク設計・運用、ハードウェア開発、電気工事の施工設計など、幅広い領域を担当しています。
    今回はホテル運営には欠かせない「インターホン」についてご紹介します。すごくニッチなトピックなことは自覚しています(笑)
    書き進めていくうちに、インターホン以外の話題も多くなってしまいましたが、ぜひ最後までお付き合いください。

    圧倒的にシンプルで使いやすいチェックイン体験

    めんどくささの最小化

    ホテルや別荘に宿泊する際には、多くの小さな意思決定やアクションが発生します。 NOT A HOTELでは、この「小さなめんどくささ」を一つひとつ潰していくことに力を注いでいます。
    たとえば、以前ご紹介したテスラのカーシェア開発では、「鍵を受け取る」「エアコンをつける」「目的地を設定する」「受け取り場所を検索する」といった細かな手間を、ソフトウェアの力で最小化しました。

    旅館業法

    ホテル運営において、どうしても避けられない「めんどくさい」業務のひとつがチェックインです。
    普段ホテルに泊まるときに行うチェックイン作業は、旅館業法で定められたフローに基づいています。

    第六条 営業者は、厚生労働省令で定めるところにより旅館業の施設その他の厚生労働省令で定める場所に宿泊者名簿を備え、これに宿泊者の氏名、住所、連絡先その他の厚生労働省令で定める事項を記載し、都道府県知事の要求があつたときは、これを提出しなければならない。

    https://laws.e-gov.go.jp/law/323AC0000000138

    宿泊のたびに氏名・住所・連絡先を記帳するのは、運営側・宿泊者側双方にとって負担です。 近年の人手不足やICTの進展を受け、フロント業務の要件もアップデートされています。

    https://www.mhlw.go.jp/content/001439321.pdf

    NOT A HOTELのチェックイン

    これらの要件を踏まえ、NOT A HOTELでは以下のように運用しています。

    • 宿泊者はチェックイン前にアプリから氏名・住所・連絡先を登録する

    • 宿泊者にPINコードが発行される

    • 宿泊者は入り口のインターホンにPINコードを入力する

    • 正しいPINコードを入力すると、インターホンでの写真撮影と鍵の解錠が行われる

    画像
    アプリのチェックイン画面

    撮影はWeb API経由で行い、ドアホンカメラによる常時録画も同時に実施しています。
    ドアホンはONVIFに対応しており、ONVIF対応NVRを使用することで常時録画が可能です。
    NOT A HOTELでは「UniFi Protect」を採用しており、最近追加されたONVIF対応機能によって録画を実現できました。

    DoorBird

    これらのフローを実現するためにDoorBirdというドアホン機材を採用しています。豊富なWeb APIを備えており、意匠面でも重厚感があってかっこいい代物です。PoEで駆動する点も面白いです。
    DoorBirdは表面の素材を選べるのも嬉しいところです。建築の素材に合わせてより意匠を追求することができます。

    画像
    NOT A HOTEL NASU MASTERPIECEに設置されいてるDoorBird

    スタッフコールを作り込む

    SIPの導入

    NOT A HOTELではフロントデスクを設置していません。
    そのため、屋外でトラブルが発生して入室できなくなると、体験としては最悪です。
    こうした際に備え、DoorBirdからオンラインコンシェルジュへ音声通話できるようにしています。 一般的なホテルでいう「共用部の電話機」にあたります。

    画像
    ラベル取替可能なインターホンとスタッフコールのボタン

    運用初期は、DoorBirdアプリによるプッシュ通知とSlack通知を用いて通話を行っていました。
    しかし、通知から会話開始までにタイムラグがあり、ユーザー体験が良くありませんでした。
    また、複数のサポートメンバーが対応している場合の「誰が受話するか」という呼制御の課題もありました。
    これらの課題は発生頻度こそ少ないものの、トラブル時には迅速な対応が求められます。 そこでSIP設定を導入しました。
    オンラインコンシェルジュおよび現場運営チームはZoom Phoneを使用しており、DoorBirdからもZoom Phoneへの発信を実現することを目指しました。 Zoom Phoneは050番号を利用しているため、PSTNへの発信が必要です。 今回はTwilioのSIP Trunkを用いて実現しました。

    画像
    DoorBirdからZoom Phoneへの疎通の流れ

    DoorBirdのコンソール画面からSIPサーバーの設定を行います。

    画像
    SIPサーバーの登録
    画像
    架電先の登録

    Twilio SIP Server側では、TwiML BinsのBuilt-in Functionを使用することで発信元のSIPアドレスをそのままE.164へ変換し、PSTNへ抜ける番号へ変換できるようにします。

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Dial callerId="{{#e164}}{{From}}{{/e164}}">{staff call number}</Dial>
    </Response>

    https://help.twilio.com/articles/230878368-How-to-use-templates-with-TwiML-Bins
    これにより、DoorBird側でスタッフコールのボタンを押した時に、Zoom Phoneまで架電され、誰かが通話を開始すると他の人への架電は止まるようになりました。

    DTMF

    ちょっと余談なのですが、みなさん、DTMFという仕組みはご存知でしょうか?名探偵コナンの映画でも出てきたアレです。

    DoorBirdには接点信号を送れる端子がついており、KITAKARUIZAWAではこれを敷地のゲートバーと接続しています。もちろんAPI経由でもこの接点をメイクすることはできるのですが、電話している時に「1」を押すとDTMFの仕組みを使って対象の接点信号を送ることができるようにしています。こちらの方が管理画面から操作するより素早くオープンできるため、オンラインコンシェルジュメンバーに好評でした。

    画像
    NOT A HOTEL KITAKARUIZAWAに設置されている敷地ゲートはDTMFでオープンできる

    残す課題

    割と作り込んだのですが、まだ満足できていない箇所がいくつかあります。

    1つ目はビデオ通話です。
    現状は音声での通話になっているため、お客様の様子を細かくヒアリングする必要があります。ビデオ通話ができるようになると、状況把握がより容易になると考えられます。どこかのタイミングでビデオ通話を実現したいと考えています。

    2つ目は耐障害性です。
    先日AWSで大きな障害が発生し、一時的にTwilioが落ちてしまいました。また、インターネット障害が発生すると通話ができなくなってしまいます。耐障害性を上げるために、内線での通話も実現したいと考えています。UniFi TalkでのPBXを使用した検証もある程度終わっているため、どこかのタイミングで移行を行いたいところです。

    3つ目は安定性です。
    ハードウェアの挙動が稀に怪しくなる時があります。ボタンが動作しない、音声が入らない、etc。DoorBirdに依存せず、新たなハードウェアを自社で開発したいという気持ちがあります。まずは一緒に作ってくれるパートナー企業を探すところから進める必要があります。ご興味がある方はご連絡ください(笑)

    4つ目はコストです。
    現状DoorBird1台につき1つのTwilio電話番号を付与しています。月額制のため、数が増えていくと無視できないコストになってきます。ここも先ほど書いたPBX周りのアップデートで改善したいところです。

    広い敷地でのインターホンの工夫

    NOT A HOTEL独特の課題

    インターホンの裏側というタイトルで書いてきましたが、ここまでインターホンについては全く触れられていなかったですね。インターホン以外の機能が多すぎます(笑)
    インターホンボタンが押されると室内のiPadからビデオ通話(VoIP)できるようにしています。ここでの呼制御は歴史的背景からFirestoreを使用しており、どこかでローカル環境のSIPサーバーに置き換えたいと考えています。

    画像
    室内に設置しているiPadから操作可能なスマートホームコントローラーアプリ

    NOT A HOTELの施設は広大であるため、通常のホテルとは異なる課題が生まれます。 インターホンの呼び出しがあっても、屋外やテラス、プールなどiPadを設置していない場所にいると音が聞こえない場合がありました。
    そこで、屋外にスピーカーを設置し、DoorBirdからの信号でベル音を再生できるようにしました。
    竣工前の施設では防水仕様のパトライト製スピーカーを、竣工後の施設ではPoEスピーカー「AXIS C1410 Mk II」を採用しました。

    竣工前の施設へのスピーカーの導入

    画像
    PATLITE製盤用MP3音声合成報知器 - BKV

    DoorBirdからの接点信号で登録した音声を流すことができます。防水性を備えているため、屋外にも設置可能な代物です。iPadから流れるベル音と同じものを流したかったため、このような特殊機材の選定となりました。大きな音も流すことができます。余談ですが、このスピーカー自体は様々なニッチ要件を満たす機能が搭載されていて面白いです。

    竣工後の施設へのスピーカーの導入

    すでに竣工している箇所ではPoEスピーカーを設置することでこの問題を解決しました。
    DoorBirdから新たにケーブルを敷設することが困難なため、既設のネットワーク配線を活用することでどうにかできないか考えました。NOT A HOTELではLANネットワーク配線とKNX(スマートホーム用のプロトコル)ネットワーク配線が敷設されています。そこでPoEスピーカーとKNXスピーカーを探しました。
    選定の結果、KNXスピーカーでは電力が足りないため大きな音が出せないことが判明し、PoEスピーカーを選定しました。
    AXIS C1410 Mk II Network Mini Speakerという防犯カメラシステムで使用される機材を流用しています。

    画像
    AXIS C1410 Mk II Network Mini Speaker

    このスピーカーの面白いところはWebhookで登録した音声再生が可能な点です。DoorBirdにはボタンが押された時にWebhookを叩く機能が搭載されています。この組み合わせでうまく機能したため、各拠点に展開を行いました。結果として、スタッフがお客様に連絡できないという問題は解決され、現場スタッフからはかなり感謝されました。

    さらなる高みを目指して

    クオリティを追求しないのであれば既存ソリューションをそのまま使えます。
    しかしNOT A HOTELでは、「最善」を実現するために頭とコストをかけ、妥協せず開発を進めています。たとえ“ただのインターホン”であっても、最高の体験のために徹底的に磨き上げています。インターホン周りもまだまだ理想のものは作れていないなと考えています。

    スマートホームチームでは、インターホンに限らず多くの領域で妥協のない開発に取り組んでいます。 スマートホームは完成されたシステムのように見られがちですが、私たちは「まだまだ進化の途中」だと考えています。

    スマートホームチームでは幅広い領域で一緒に開発してくれるメンバーを募集しています。採用強化中です。カジュアル面談も受け付けておりますので、お気軽にご連絡ください。

    あなたへのおすすめ