Supercherenkoスマレジアプリと解説メディアの個人開発

Skinote お客様台帳

買ったものの記録と、話したことの記録を、1本の時系列に重ねるお客様台帳です。化粧品専門店の接客に合わせて作りました。スマレジの審査を通して、アプリマーケットで公開中です。ここには、何を解こうとして何を作らないと決めたかを書いています。

Skinote お客様台帳の紹介ページ。スマレジの購買履歴と接客の記録が1本の時系列に並び、購買サイクルから使い切りの時期を出す画面を示している。

解いた困りごと

出発点は、スマレジのユーザーリクエストに残っていた「カウンセリング台帳(化粧品販売)」という要望でした。購買履歴に加えて、お客様の悩みや、接客の内容や、渡したサンプルを記録したい。購買のサイクルが分かるようにしたい。

買ったものはスマレジに残ります。残らないのは話したことのほうです。肌の悩み、避けている成分、いま使っている物、前回渡したサンプル。これらはスタッフの頭か、紙のカルテの中にあります。だから常連のお客様でも、担当が変われば会話は「はじめまして」に戻ります。人が辞めると、その人が覚えていたお客様の記録も一緒に辞めていきます。

そこで、購買履歴の上に接客の記憶を重ねて、次の接客で使えるようにすることをこのアプリの役割に決めました。「前回のあの化粧水、そろそろ切れる頃ですね」が言える状態を作る、という一点です。

作らないと決めたこと

台帳アプリは、汎用にするほど売り先が広がります。にもかかわらず、狭くしました。

汎用のカルテにしない。項目を自由に作れる機能さえ用意すれば、美容室にも整骨院にもサプリの店にも売れます。ただそうすると、どの業種から見ても「悪くはないが、これでなければならない理由がない」ものになります。専門性は項目名ではなく仕事の流れに宿るからです。化粧品の接客には、肌診断→悩みのヒアリング→提案→サンプリング→次回のフォロー、という決まった流れがあります。この流れを設定画面で組み立てさせるのではなく、そのまま実装しました。記録の種類も、接客・カウンセリング・サンプリング・メモの4つに決め打ちしています。

汎用化は、あとからしか作らないと順序を決めた。最初から業種を切り替えられる仕組みを作るのは、出荷できなくなる典型的な道です。1業種を深く作り、実際の使われ方を見て、3業種目を足すときに初めて共通の部品を抜き出す。この順序を先に文書にして固定しました。

スマレジと同じ顧客情報を、二重に持たない。このアプリは肌悩みやアレルギーという要配慮個人情報を扱います。だから、それ以外は極力持たないことにしました。データベースに残す顧客情報は、検索に要る「名前・かな・電話」だけです。メールアドレス・生年月日・性別・スマレジが返す顧客データの全文は保存しません。使っていない列を残さないために、列そのものを削除するマイグレーションまで書きました。持たなければ、漏れません。

代わりに詳細画面は少し遅くなり、スマレジ側が止まっていると一部の情報が出ません。この不便は受け入れました。名前・かな・電話だけは手元に置いています。スマレジに顧客の検索APIがなく、これを手放すと一覧も検索も成立しないためです。ここが「持たない」の下限でした。

ポイントとランクは、見るだけで書かない。原点の要望には「ポイントも一元管理」とありました。読み取って表示はしますが、書き込みは対象外にしています。ポイントは会計に直結する数字で、台帳のアプリが動かしてよいものではありません。

迷ったときの物差しも1つに決めました。「それは次の接客を良くするか」。DMの配信、細かい権限設定、記録の自動要約。作れるものは多いのですが、この物差しに載らないものは後回しにしています。

中心に置いたのは、1本の時系列

買ったものと話したことを、別々の画面に置かないことがこのアプリの核です。2つの画面に分かれていると、接客の直前に両方を見る人はいません。

顧客を開くと、購入・カウンセリング・サンプリング・接客メモが、日付順に1本で並びます。前回何を買って、そのとき何を話して、何を渡したか。並んでいるだけで、次の一声が出てきます。

その上に置いたのが「そろそろ切れるかも」です。化粧水や美容液は消耗品なので、購入の間隔から使い切りの時期がおおよそ割り出せます。これが分かると、案内は「新商品が出ました」ではなく「そろそろの時期ですね」になります。後者は店の押し売りに見えません。売るための機能ではなく、思い出すための機能として作りました。

店ごとに聞きたいことは違うので、記録の項目は追加できます。ただし追加できるのは項目までで、接客の流れそのものは変えられません。流れを可変にした瞬間、上に書いた「汎用のカルテ」に戻ってしまいます。

定期実行をやめて、変わった人だけ取りに行く

設計の途中で方針を1つひっくり返しました。当初は「スマレジには会員の更新通知がない」という前提で、定期的に全件を見に行く作りにするつもりでした。調べ直すと、会員・会員ランク・会員ポイントの通知は存在しました。前提が間違っていました。

そこで、通知を受けて変わった人だけを名指しで取り直す形に変え、定期実行そのものを廃止しました。全件を舐める処理は、動くたびに全員ぶんのデータを触ります。触る量が減れば、遅れも、事故の範囲も小さくなります。

過去の購買履歴も、全店の全期間を先に取り込むことはしません。必要になった顧客の分だけ、詳細画面からさかのぼります。先に全部持つと、一度も開かれない履歴を大量に抱えることになるからです。ここでも「持たない」を優先しました。

ただし初回のインストール時だけは会員を全件読み込みます。ここは1回で終わらないことがあるので、どこまで読んだかを保存し、次のきっかけで続きから進む形にしています。

扱うデータの範囲を先に決めた

肌悩みやアレルギーは、法律上も特に慎重に扱うべき情報です。範囲を先に決めました。

カルテの記録は持ちます。これはこのアプリ独自の価値で、持たなければ成立しません。そのぶん、扱いをいちばん厳しくしています。

顧客情報は名前・かな・電話まで。それ以外は保存せず、必要なときにスマレジから取ります。

スマレジへの接続情報は暗号化して保存しています。データは契約ごとに分離していて、他店の記録が混ざることはありません。

このアプリの情報

対象
化粧品専門店・美容室・サロン(会員機能が要るため、スマレジ プレミアムプラス・フードビジネス・リテールビジネスが対象)
料金
月額 3,300円(税込)。契約ごとの定額で、店舗数による追加料金はありません。15日間の無料お試しつき。最新の金額はスマレジ・アプリマーケットの掲載を正とします
公開状況
スマレジの審査を通してアプリマーケットで公開中
主な構成
Cloudflare Workers・D1、React(React Router)、スマレジ・プラットフォームAPI(OAuth)と各種Webhook

店舗数で課金しないのは、値引きではなく構造に合わせた結果です。カルテは契約の中の全店舗で共有していて、店舗が増えても持つデータは増えません。原価が店舗数に比例しないものに、店舗数の料金をつけないことにしました。

関連する記事

同じ困りごとを、アプリを使わない方法まで含めて書いた記事があります。

使ってみる、または似たものを作る

機能の詳細・料金・よくある質問は、アプリの紹介ページに載せています。15日間は無料で試せます。

アプリを見る 似た困りごとを相談する

「化粧品ではなく施術の履歴を残したい」「次回予約まで含めて1つにしたい」といった相談も受けています。業種の流れが違えば、作るものも変わります。自社専用アプリなら、スマレジの審査もアプリマーケットへの手数料もかかりません。

制作の記録の一覧へ戻る