ということで
昨日話した週末自宅バーの予約システム的なものの仕様を実際に考えてみます。
作ってしまえばある程度放置可能ですし、まあ僕自身もやってみたい気持ちあるし、何か問題が出てくるまでは運用してみたいかなーなんて。
まず、ベースとして確定しているのは
twitterを用いた連絡手段の担保で、一方で
アカウントなしでも予約自体は可能というのがベースですね。
それで、今まで考えてなかった仕様の変更点というか、追加で考えたこととしては・・・・・・
①予定調整は一週間ごとで、いずれか1回の抽選制
②最低催行人数は2人〜4人で参加者が選択
ってな感じにしようかなあと。
で、この場合の問題点なのですが、例えば複数日の候補を出した人間・・・・・・つまり
いずれか1日行ければいいやと思っている人に対しての取り扱いが非常に難しいのでございます。
例えば、わかりやすくするために「土曜日」「日曜日」という枠があったとしましょう。
最低催行人数が2名だったとして、「土曜日」「日曜日」に1名ずつ、両方に予定が入った場合、どうするのかという問題があります。
解決策が現状3つ用意できまして
①優先順位をつけてもらう
②こっちで勝手に優先順位をつける
③そもそも枠を1つにする
というアプローチが考えられます。
が、まあなんかしっくりくる案が出てこないし、現状は
僕が手動・目視で調整するしかないかなあって感じですね。いろんな都合を考えて調整しようかなと。
あと、話をややこしくするのが
時間という制約ですね。
一応当初の想定としては「1部」「2部」みたいに時間を区切ろうかと思ってたんですけど、うまいこと時間に合わせられないというオーダーが想定できるので、当面の間は最も都合のいい時間をオーダーしてもらう感じになりそーですね・・・・・・。
まあつまり設計としては
「曜日」「時間」を指定してもらい、オーダーがあれば僕が目視で決定し連絡するという流れになりそうですね。
ちょっと僕の作業量がありますけど、利益に直結してるので期待値を上げるのが先ですね。目視で調整するのなら、僕とサシ飲みになってしまってなんか気まずくなる...みたいな状況は回避できるんじゃないかなあと思います。
あと、
キャンセルに対する対応ですね。僕は基本的に、制約がないと人はいくらでもクズになると思ってるタイプなので、平然と無断キャンセルというのは起こりうるものだと考えております。
お店とかであれば席があくだけなのでまだリカバリー可能なのですが、僕の場合変なキャンセルのされかたをされるとリカバリーが効かないので、そこは厳正に対処しなくてはなりません。
一応、安全策を取るとしたら
クレジットカードによる先払いという手があるんですが、この策の一応デメリットとして...
1.手数料が取られる
2.セキュリティ不安を感じさせる(実際そんなことはない)
3.単純に実装がめんどくさい
4.クレジットカードを持っていない人への対処が不明
の4点が障壁となります。
まあ、セキュリティに関しては、外部サービスを利用する
(というかそれしか方法がない)わけで、データを僕が持つわけではないので安全性とかは決済代行サービスに依るんで、ある程度知識がある人は
僕に「責任」がないことはわかると思うんですけど、一般ユーザーがそこまで知識がある人ばかりとは思えないので、ろんぐさんにクレカの番号渡すのはなぁ...みたいな認識をする人も出てくる可能性は否めません。まあ、決済代行サービスのページに飛んで処理が行われるので、そんなことはないことは一目見たらわかるとは思うんですけど・・・・・・。
ただどっちにしろ、いちいちそれを実装するのってどうなんかなあみたいなめんどくささはあります。まあ正直API投げてピピッで終わりだとは思うんですけど、そんなちゃんとしたシステムにするつもりはなく、突貫工事で作るつもりなのであんまお金絡みのエラーフロー考えたくないなってのが正直なとこなんですよね。
あと、クレジットカードを持ってない人って一定数いると思うんですけど、そこで機会損失するのもなあというのもあります。手数料の問題もありますしね。
ということで、キャンセルに対しては
当日キャンセルは無条件で「ブラックリスト入り」→振込にて解除という対処を行うことになります。
twitter連携をしていない人に対してはブラックリストに入れられない
(入れてもいいけどメールアドレスなんていくらでも作れるし)んですけど、それはそもそも「最低催行人数」にカウントしないという対策をしているので問題ありません。
ってな感じですかね・・・・・・。
これを元に、簡単なフォームを設計していくことになります。ということで、また今度もうちょっと詳しい詳細を詰めていこうかなと思います。とりあえず今日はここまで。