ユビレジとStockScanを使って蔵書管理をしてみた

はじめまして、 @_erikoyamauchi です。

[Ubiregi Advent Calendar 2019](https://qiita.com/advent-calendar/2019/ubiregi) の 9日目 は、開発部の雰囲気や、弊社のプロダクトについても少しご紹介できればな〜と思います。

#:book: 技術書について 

いきなりですが、みなさん、日頃技術書は読まれていますか？
書籍購入補助が出る、という会社さんも昨今多いことかと思います。
いい本はお値段もしますし、読みたい技術書を会社で読むことができる、大変ありがたい制度ですよね。
ユビレジにも書籍購入支援の制度があり、読みたい本があれば申請すればだいたいOKがもらえます。（[WEB+DB PRESS](https://gihyo.jp/magazine/wdpress) などの定期購読も！）
![スクリーンショット 2019-12-08 12.24.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/d893502b-89ec-d933-d0b9-fbfca84e7811.png)

開発部は比較的活発にこの制度を活用していて、業務時間の一部を充てて有志で読書会を行ったり、じっくり読みたい人は家に借りて帰ったりしています。

#:book: 開発部の本棚
ここで私が在籍する開発部の本棚をご紹介します！
（ちょっと見にくくて申し訳ないですが……）

![IMG_0067.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/0fd697c1-e6e1-f3a1-a270-eb7314d03125.png)
![IMG_0066.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/8c0f50b3-c27c-ac52-8165-80b8fe847260.png)

縦長のクローゼットにこれでもか、と詰められています。
図書館、というより、どことなく自宅を彷彿とさせる家感がありますね……。
本は増えるのに本を仕舞うスペースは増えないのが辛いところです。

こういう状態なので、よく見ると同じ本が2冊あったり……
![IMG_0068.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/13a9db90-1216-e043-5afe-1bb71f55a658.jpeg)

誰が持ってるかよくわからなくなったり……
![スクリーンショット 2019-12-08 11.50.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/b862c91a-91b9-2b4b-685f-0766fd30c952.png)
ということが起こるようになってきました。

また、本は電子版が購入されている場合もあり、社内にあるのが電子なのか／紙媒体なのかは知る人ぞ知る、みたいな状態になっていました。

# :pencil: やりたいこと
いい加減、自分たちの持ち物を把握する必要があります。

- 社内に何の本があるのか
- それはどこにあるのか（電子版？それとも本棚？）
- 簡単に貸し借りの記録を残しておきたい
- できれば今誰が借りているのか把握したい

# :bulb: 自社のサービスを使ってやってみるといいのでは？ :thinking: 

弊社は **ユビレジ** というiPadのPOSレジアプリを作っている会社です。
また、 **StockScan** という在庫管理アプリも作っており、ユビレジと連携して使うことができます。
（プロダクトの技術スタック的なところは簡単ですが、 [昨年のアドベントカレンダーのこの記事](https://katorie.hatenablog.com/entry/2018/12/25/161737) にある通りです）
せっかくなので、自社のプロダクトを使って~~無理やり~~蔵書管理をやってみようかと思います。

### :construction: 注意事項

- ユビレジ本来の用途を逸脱した使用方法です。サポートいたしかねますのであらかじめご了承ください。
- StockScanはユビレジのオプションサービスです。プレミアムプランにご加入いただきますとご利用いただけます。

#事前準備
まずはユビレジとStockScanのアカウントを用意します。
今回はお試しなので名前は安直な感じにしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/dc0c72d1-b6c1-7ca8-3e0b-fe18022d793f.png)

続いてユビレジに本を登録していきます。
ユビレジではカテゴリーの中に商品を登録していくことができます。
今回は、本棚の本なのか、電子書籍なのかを区別するるため、カテゴリーに「本棚」「電子版」を設けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/867671ec-bef2-b09b-3a15-1ddc59f8f5ee.png)

試しに「本棚」「電子版」に10冊ほど登録しました。
~~レジを打たないといけないのは面倒なので~~、全部0円に設定しています。
ちゃんと本のお値段をつけて登録しておくと、[読書通帳](https://ja.wikipedia.org/wiki/%E8%AA%AD%E6%9B%B8%E9%80%9A%E5%B8%B3)みたいなことができるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/fcf91347-ad6f-b767-7742-477936f69f7c.png)

検索用のテキストボックスが画面にあるため、「この本あるかな〜？」はわかりやすくて良さそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/adcd772c-a803-fd1f-a6f9-b2fb655784cf.png)

次に顧客データを登録していきます。
ユビレジでは、常連さんやお得意様を登録できる顧客機能というものがあり、これを使って、誰が借りたかを記録に残します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/6ce71dc9-7f0a-539f-a51b-193e7a758892.png)

# :runner: 実際にやってみた
実際にアプリで貸し借りをしてみたいと思います！

## 本を借りるとき
お会計の画面には、登録した本のリストができています。
![IMG_0081.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/ac019178-0729-162a-a86d-af0adce09fe3.png)

もちろんここから検索することもできます。
![IMG_0082.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/b71d2fee-0d80-f1e5-6108-c7729d77ed6e.png)

バーコードとしてISBNコードあたりを登録しておくと、Bluetoothのバーコードリーダー、もしくはiPad内臓のカメラで簡単に読み取りができます。
![IMG_0084.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/243f53f3-1e98-c0e8-94c3-5d748fef4b7e.png)

作っておいた顧客のデータと紐付けます。
![IMG_0087.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/f25bad4a-5ad0-92c4-78b9-0d988aec22fc.png)

「会計」のボタンを押して完了させます。
![IMG_0089.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/72a8d618-5343-cb28-5e28-3920c7bffc1b.png)

その日に借りた記録はこんな感じで残ります。
![IMG_0091.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/57b170dd-a078-e687-9670-c9a84736e69c.png)

StockScanと連動しているので、ユビレジで会計が終わると商品の現在個数が1減っています！

| Before | After |
|:------:|:-----:|
| ![IMG_0085.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/d8d475b2-8d19-4ea4-7438-5800bf275991.png) | ![IMG_0093.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/127f4a86-33a6-e907-867a-d1f719ab345f.png) |

## 本を返却するとき
返却はどうしよう :thinking: となりましたが、返品機能を利用したいと思います。
返品するときは、借りるときと同じように本を選んだ後、個数をマイナス調整します。
![IMG_0094.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/aedf89c3-35c0-381f-10cb-ff0e4e353a27.png)

借りるときと同様に、作っておいた顧客のデータと紐付けをすれば、返却した記録はこんな感じで残ります。
![IMG_0096.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/47820b12-6754-9e20-e3e0-4abf24d18333.png)

在庫の在庫数も元に戻っていることがわかります。
![IMG_0098.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/bfc9baa1-cbf7-af68-cc40-12972bbbeba7.jpeg)

顧客機能から、これまでの貸し借りの記録を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479465/2bc6dece-c93c-107e-9702-dfcf805fdaf3.png)

#できたこと
- 社内になんの本があるのか、検索でちゃんとヒットする
    - 導入時に本を登録するコストがかかりますが、CSVでまとめて登録できるので、大掃除のついでにガーッとやってしまえば、現状よりははるかに把握がしやすそうです！
- 借りるときの手間はさほど増やさずにちゃんと記録が残せる
    - 現状だとSlackに「借りまーす」と一言添える程度の運用がなされているのですが、iPadでバーコードを読み取るだけなので、それほど手間は増えないように思います。
    - 続けられることが大切ですからね。

#できなかったこと
- 誰かが借りている状態でも（理論在庫上）借りることができてしまう
    - 誰かが既に本を借りている状態であったとしても、お会計のボタンは押せてしまいます。品切れ的な仕組みが必要かも？
    - 本棚の本は必ずバーコードを読み取って借りる、という使い方をすれば大丈夫そう。
    - PDFファイルは在庫関係なく見たいので、「売上外」という区分の商品として登録し、在庫管理はしないことにしました。
- 今誰が本を借りているのかを一覧しては見られない
    - 顧客ごとに貸し借りの記録は残りますが、StockScanに顧客のデータは引き継がないため、誰が借りているという一覧表示ができません。
    - StockScanで棚卸しをし、四半期ごとなど定期的に在庫が0になっているデータを引っ張って、本の所在を明らかにするというアクションが必要そうです。
- お会計の画面で、顧客のデータを紐付け忘れる……
    - 当日中であればやり直しを行うことができますが、顧客のデータをつけ忘れただけでお会計そのものを修正できてしまうというのはよくありません。
    - これはきちんとレジとして使っているユーザーにも影響する問題です :thinking: 

#まとめ
今回はユビレジのプロダクトのご紹介も兼ねて実験してみました。
正しい用途での使い方ではありませんが……、プロダクトの雰囲気や良さが少しでも伝わっていれば嬉しいです。

私自身もやってみてプロダクトへの理解が深まりましたし、製品の改善が必要そうな問題の発見もできたのでとてもよかったです。

最後までお付き合いいただきましてありがとうございました :bow: