見出し画像

Akerunを使ってオフィスを快適にしてみたよ!

この記事は何か

Money Forward CorporateIT Advent Calendar 2019  12月18日(水)の記事です。

自己紹介

2019年4月に株式会社マネーフォワード京都開発部へ新卒で入社したぼんぞうです。
今回はAkerunAPIを使って拠点の入退室を便利にしたよ!という話をさせていただきたいと思います。

前置き

私ごとで恐縮ですが、僕は独学でプログラムの勉強をはじめ、エンジニアキャリア未経験で入社しました。
京都開発部が立ち上がる時の話で、京都拠点拠点長(現上長)と出会い、
「「もう、拠点に関する仕事なんでもやるんで、エンジニアとしてやっていきたいです!!!」」
という熱量でお願いし、京都拠点へ入社しました。
実際に入社してからも、エンジニアとして以外にも、冷蔵庫運搬・座布団選定・備品発注など総務的な仕事ももらってやっています。

そのうちの一つが、「来客対応」です。

閑話休題

こちらをみてください。

画像2

このオフィス!めちゃくちゃ綺麗じゃないですか
入社当時の僕は、出社・来客対応の際もここを通るたびにるんるんな気分でした。

1ヶ月目
インターホンが鳴った!来客だ!おでむかえだ!!!!(わいわい)

2ヶ月目
鳴った。。。。行かなきゃ。。。。!

数ヶ月後
。。。。。。


弊拠点の場合、自社・他社の来客が、多い時には1日10回近くあり、その都度、玄関まで歩いていかなければなりませんでした。
入社して、できること・やらないといけないことが増えてくる中では、素直に入社当時みたく、毎回来客を喜べなくなってたのも事実でした(ごめんなさい🙇🏻‍♂️🙇🏻‍♂️)


そんなタイミングで上長から
「せっかくエンジニアになったんだし、その辺りを効率化するのを作ろうか」
といただきました。

た し か に !

というわけで実際に作りました。

弊社本社・他拠点のみなさまへ
みなさまが京都拠点へいらっしゃってくれるのは、本当にすごく嬉しいです! この記事でも紹介しますが、気楽に入室できるようになりましたので!
なので、これからも本当にどんどんいらっしゃってください!!!

現状分析と、利用状況の定義

京都拠点では、Akerunを利用しています。その辺りの話については、こちらをご覧ください。
このAkerunのAPIを使ってもっと楽になる方法はないか、と考えていきました。

まずは京都拠点への来客分類を行いました。
・自社内の来客  ← 今回の対象
東京本社・他拠点にいる京都拠点のICカードを持たない方々
・自社以外の来客
宅配便 / ゲスト(面談や、商談で訪れる方々)

今回は自社内の来客対応を、もっと簡便にしていこうと考えていきました。
というのも、京都開発拠点は、ビジネスの上で、東京本社や近隣の関西拠点とのやり取りをはじめ、比較的拠点間交流が多くなっています。
(また、京都市内の観光地のど真ん中にあり、社内の方が休日、プライベートにも関わらず立ち寄ってくださる場所となっており、とてもありがたい限りです!!)

次に利用者と利用状況を考えました。
京都拠点の社員が各自がもつデバイスから、手軽に解錠できる状態にしたいと考え、
AkerunAPIを叩いて、弊社でコミュニケーションツールとして利用しているSlackの社内のワークスペースからのみ解錠を行うことにしました。
(Akerunと執務室との距離では、Akerunスマホアプリで利用できるBluetoothの範囲外でした!残念!)

SlackからAkerunを解錠できるように

利用したAkerunのAPIはこちら

curlでのAPIの利用方法は書いてあるので、こちらを参考にアプリを作成していきます。
当初、RubyファイルでAPIを叩くプログラムを書き、サーバを立てて実現していこうと思いました。
ただし途中で、この後にDBを利用して入退室者管理などを行う拡張性を考え、このタイミングからRailsアプリとして作成していくことにしてます。
エンドポイントを叩くと、Akerunの解錠が行われるアプリを作成できました。やった!

これをSlackで利用するために、Slash Commandを用いました。 
Slash Commandについてはこちら

Slashコマンドにした理由は、Slackのサジェスチョンで見えるのでキーを共有しやすい・忘れないというところです。

スクリーンショット 2019-12-18 14.42.02

(※ こちらSlackからのコマンドは、 マネーフォワードの組織に所属してない人は実行できないので、社員のみが実行可能です。)

実行すると
開いたーーー!!!!

できた時の達成感は大きかったです...。


問題発生


さて、そんな形でSlackから /akerunで解錠できるようになったのですが、試練に遭遇しました。
解錠リクエスト送信してから解錠までの時間が長い!
リクエストが処理され、解錠されるまで1分近くかかり、来客時には1分ほどお待ちください、というアナウンスをする次第になり...

お願い

株式会社Photosynth様、もしこちらご覧になっていただけたら、解錠時間ですが、どうにか短くすることは可能でしょうか?? 是非とも、ご検討のほどお願いします。🙇🏻‍♂️🙇🏻‍♂️

【追記】2019年12月19日(木)

こちら、記事を投稿した翌日に、株式会社Photosynth、サポート担当者様からお電話いただき、解決することができました!!
株式会社Photosynth様、本当にありがとうございます!

お礼記事はこちら。よろしければご覧ください🙇🏻‍♂️

 解決策


解錠時間について上長と話をしている時に「本社で管理してるICカードのマスターデータをもらえる」という話をいただきました。
確かに、そうすれば、僕が解錠せずとも、本社・他拠点の方々が持ってるICカードで入退室ができるようになり、よりスムーズになります。
ということでデータをいただけたので、そのまま進めていくことにしました。

マスターデータのIDmを登録することで、他拠点のカードで解錠できるように


利用したAkerunのAPIはこちらの3つ
Akerun Developers#add-user
Akerun Developers#create-key
Akerun Developers#register-nfc

AkerunAPIの仕様において、各個人のもつICカードで対象となるAkerunを解錠するためには、ユーザ登録・鍵登録・NFCカード登録の3つのステップが必要になります。というのもユーザ登録をすることで発行される、AkerunのユーザIDを利用して、鍵(使用するAkerun)登録、社員各自のNFC(IC)カード登録を行わねばならないからです。というわけで、その手順に沿って、社内のマスターデータを受け取り、それらを、ユーザ登録・鍵登録・NFCカード登録していくアプリを作成し、完成しました。できた...。


実際に本社の方が来て自身のICカードで解錠を行ってみると...
開いたーーー!!!(2回目)
という訳で、今回の目的として掲げた、入退室できるという条件を達成することができました。

おまけ


以前に京都オフィスを訪れたことのある、本社社員の再来訪時の一言
「しばらく来ないうちに便利になるんですねぇ」

エンジニアとして今回やったことへの達成感を味わいました。やってよかった!!!

おわりに


今回は、AkerunAPIを利用して遠隔解錠、他拠点社員所有のICカードの登録までを実現できました。
今後は、解錠者情報のみを一覧取得してDBへ保存など、実装していきたいなという感じです。
この件以外にも、今後もテクノロジードリブンでオフィスを快適にしていきたいなと思っています。

それはまた別の記事でのお話で。

最後までお読みいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?