giftee engineer blog

R&D から二次元コードリーダー消込を eGift System にリリースした話

2020-10-08

二次元コードリーダー消込を開発した経緯からSaaSの働き方を紹介します。

こんにちは、はじめまして。去年の7月にギフティにジョインした松島です。

Contents Creation Division Product Unit 1 (以下:SaaS事業部)に所属しており、普段は eGift System を導入する企業様に合わせて機能を開発しています。 具体的に言いますと、eGift System というプラットフォームにおいて、お客様の要望から汎用的な機能を作り、特定の企業様のみならず他の企業様でも同様の機能を利用いただけるよう開発をしています。

eGift System は、機能追加や改善が継続して行われていますが、SaaS事業部内で R&D から新規機能をリリースする場合もあります。 この記事では、一例として「二次元コードリーダー消込」を取り上げたいと思います。 ※ 消込とはチケットを利用することです

開発のきっかけ

二次元コードでの決済が流行っている昨今、ギフティのボードメンバーとマネージャーの中で、先を見据えた新たなチケットの消込方法を開発したいという話が挙がりました。 それまでの消込方法は、POSでのチケット読み取りや、パスコード入力、スタンプなどで、いずれも接触式の消込方法でした。 そこで、新しい非接触の消込方法として「二次元コードリーダー消込」を開発することになりました。

そもそも二次元コードリーダー消し込みって?

二次元コードリーダー消込とは、チケットから二次元コードリーダーを起動し、店舗に設置している二次元コードを読み取ることでチケットを利用できるものです。

以下が「二次元コードリーダー消込」のチケット例です。

QRCodeReader

プロトタイプの作成

まずはプロトタイプを作成しました。

ギフティでは、エンジニア個人に月$50までのAWSサンドボックス環境が与えられます。 まずは、HTML+JavaScript のみで作成した二次元コードリーダー消込チケットのモックを、サンドボックス環境のS3に配置しました。 配置したモックチケットはSaaS事業部内に共有し、フィードバックをもらいました。 まだ課題はあるものの「二次元コードリーダー消込」は実現可能ということがわかり eGift System へ組み込むことが決まりました。

eGift System への組み込み

フロントエンドで実現できることの確証が取れたため、 eGift System のバックエンドに消し込みのControllerを作成します。 eGift System では、 Rails の生みの親である DHH流のルーティング に従って Controller を作っています。 SaaS事業部では多くのクライアントを抱えているため、可能な限り影響範囲を少なくする必要があり、このようなルーティングを採用しています。 そのため、影響範囲が少なく、また少ない工数で「二次元コードリーダー消込」の Controller を実装できました。

ベータ版を作成したタイミングで、ちょうどギフティの全社会で、全社員にデモチケットを利用頂く機会をいただけました。 他部署のことにも関わらず、多くのフィードバックをいただけ、改めてギフティの部署・職種の隔たりがない風通しの良さを実感しました。

続いて、クライアントに本機能を提案することを想定し、端末検証を行いました。 JavaScript を使っているため、ブラウザの対応状況サイトである程度予想がつくものの、クライアントへの提案確度を高めるために売れ筋端末での検証を行いました。

その結果、最新機種では概ね利用可能ということがわかり、「二次元コードリーダー消込」を eGift System に本リリースすることができました。 ※ 二次元コードリーダー消込の非対応端末の場合は、パスコード消込という代替手段を用意しています。

eGift System を利用した案件

本機能を利用した初の案件は、 Go To トラベルの電子クーポンでした。

この案件はまだまだ始まったばかりですが、現時点でも多くのユーザ様にご利用いただいています。 大変良い評価をいただけている反面、ユーザ様(チケット利用者)・店舗様(二次元コード設置店舗)から多くの課題があがってきているのも現状です。

二次元コードリーダー消込の今後

コロナ禍で非接触が求められる中、二次元コードリーダーでの消込は、これまでのチケットの消込手段に代わる画期的な消込方法です。

しかし先程も申し上げたとおり、二次元コードリーダー消し込みチケットにはまだまだ課題が山積しています。

これまではユーザが店員にチケットを見せて、スタンプを押下したり、パスコードを入力するスタイルでしたが、 二次元コードリーダーによる消し込みではユーザが能動的に操作する必要があるため、ユーザにある程度のITリテラシーが求められます。 そのため、できるだけユーザに負担がなくチケットをご利用いただけるように、ユーザ向けのチケット利用ガイドを拡充することが望ましいと考えています。

おわりに

今回は実際に R&D で開発した「二次元コードリーダー消込」を取り上げましたが、ギフティは全社的に R&D を推奨しており、ひとりひとりのアイデアが積極的に受け入れられる風土があります。

私たちは「eギフトを軸として、人、企業、街の間に、さまざまな縁を育むサービスを提供する」というビジョンを達成するために、クライアントが求める以上のサービスを提供する義務があります。

SaaS事業部としてもクライアントに最適なサービスを開発することはもちろん、より先の未来を見据え、チーム全体で挑戦し続けていきます!