趣味生活

ほったらかしでOK!!江坂テニスセンターのイベントを簡単に予約する方法

以前、江坂テニスセンターについての体験談を書きました。

江坂テニスセンターに通って良かったこと悪かったこと以前、「ヴァイキング曽根のテニススクールに通って良かったこと悪かったこと」で最初に入会したテニススクールのレビューを書きました。 ...

どちらかというと不満の少ないテニススクールですが、メリット・デメリットの両方でイベントについて書かせていただきました。

その中でやはり気になるのが、人気のイベントに予約できないことです。

今回は、イベントの予約をもっとスムーズにできないか調べてみた結果を紹介します。

江坂テニスセンターのイベントについて

このスクールのイベントの多くは「先着順」となっています。

よって、人気のイベントについては予約開始時間から数分以内には満員になってしまい、キャンセル待ちするしかありません。

キャンセル待ちも、イベントの人気度によっては普通に 10 人を超えるので、ほぼほぼ諦めるしかないですね・・・。

イベントの受付方法については、先着順で仕方ない部分もありますが、受付時間には少し不満があります。

それは、午前 7 時からの受付が多いのです。しかも土曜日の・・・。

生活には個人差があるので、どれが正解というわけではないですが、一般的には土曜日の朝 7 時だと寝ている人も多くないですか?

要は、イベントの予約のためだけに、以下の無駄な作業が発生するわけです。

・目覚ましをセットする(スマホのアラームとか)
・7 時ちょっと前に起きる
・サイトにアクセスしてイベントを予約する
・眠ければそこから二度寝する

まあ、これが仮に朝の 10 時から受付だったとしても、生活に追われて忘れてしまっていたり、通勤中だったりで予約できない人もいるでしょうから、スクールとしても最適解として設定しているのでしょうが。

人気のありそうなイベント

ちなみに、人気のありそうなイベントについては特徴があります。

私のイメージでは以下のイベントが人気です。

・スクール内の試合(特に上位レベル?)
・毎月の練習イベント(特に上位レベル?)
・人気コーチの特別イベント
・人気のテーマレッスン

同じスクールに通っている人なら、自分のイメージと近いと思いませんでした?

この手のイベントが発表されると、みんな予約受付開始日をチェックして意識し始めます。

中には事前告知なしにイベント受付開始されるものもありますが、それはもう運としか言えないですよね。

人気イベントに確実に予約する方法

「確実に」と言うと少し語弊がありますが、できる限り予約する方法がないか考えてみました。

・意地でも予約開始時間に自分の時間を作る
・代わりに予約できる知り合いに頼む
・代行してくれるバイトを雇う

1 つ目は、皆さんが実際にやられている方法ですよね。

早起きしたりして、自分の身を削るやり方です。

2 つ目は、どうしても自分で予約する時間が取れない場合に、知り合いに代わりに取ってもらう方法です。

気軽な仲であればいいですが、コーヒーくらいご馳走しないとちょっと申し訳ないかな?

3 つ目は、今時っぽいですが、ココナラのような自分のスキルを売り買いするサイトを利用する方法です。



ただし 2 つ目と 3 つ目は、相手に自分の「ログインID」と「パスワード」を共有しないといけないので、悪用されないとしてもリスクはあります。

予約完了後に、すぐにパスワード変更すればいいですが、それはそれで手間ですよね。

じゃあ、どうしたらいいの?そこで、さらに考えてみました。

最終手段は自分のコピーを作る

「クローン人間」や「クローン羊」という単語を使うと古い人間だと思われてしまいそうですが、要は自分の代わりに働いてくれる相棒を作るのです。

それは実際のクローンではなく、IT を活用した方法です。

これを読んでくれているあなたも、他の多くの皆さんも PC やスマホをお持ちだと思いますが、これらを活用するのです。

実際に、みなさんがスクールのイベントを予約する場合、スクールのサイトにログインして、イベントページから予約しますよね。

これと同じことを、システムで自動化して、目的のイベントの予約完了までのフローを行ってしまうというわけです。

システムでと言っても何も難しいことではなく、スマホ(iPhone ならサファリ、Android なら Chrome)や PC(IEやChromeが多い?)でやっている操作をそのまま再現するのです。

スクールの予約システムはそこそこの年季物なので、あまり今時の技術は使われていないサイトです。

よって、Selenium でヘッドレスなブラウザを使うまでもなく、単純に Curl でリクエストを送れば再現できそうです。

自動化の方法

まず、予約完了までの流れは以下の通りです。

1. ログインページにアクセス
2. ログインする
3. イベントページにアクセスする
4. イベントを選択する
5. イベントの詳細ページにアクセスする
6. イベントの内容確認ページにアクセスする
7. 予約が完了する

ぶっちゃけ、システムで使われている情報を知っていれば、以下の 2 つの画面を操作するだけで予約完了できそうです。

・ログインする
・予約が完了する

まず、最初の関門はログインです。

「ログインID」と「パスワード」を入力するだけですが、いくつか hidden で隠されている項目もあるので、この辺も含めてログインをエミュレートします。

次にイベント一覧に掲載されているイベントには「イベントID」が振られているので、事前に ID を把握しておくことは可能です。

必要があれば、ページをスクレイピングして引き回さないといけない情報を抜き出すことも必要になってきますが、このスクールのシステムでは不要でした。

よって、ここまでこればトントン拍子に画面が進んでいき、最後に予約完了画面で OK を押す動作をさせて完了です。

IT 業界で働いている人なら 1 時間もあれば作れちゃうのではないでしょうか。

果たして需要はあるの?

ただ、自分が試しに使うとしても、そんなケースは年に 2 回くらいじゃないでしょうか。

まあ、1 時間の作業で、今後の早起きがなくて済むなら良しとしておきましょう。

ちなみに江坂のスクールのシステムは、「ServiceAce」という SaaS(ASP)のサービスを利用していて、他のテニススクールでも使われています。

よって、江坂以外のスクールでも活用はできると思います。

プログラムは GitHub にっと思いましたが、ソースが雑過ぎるので保留にしておきます。

ただ、純粋に Curl するだけで実現可能なので試してみてください。面倒なので試さないですが、wget でもできそう。

これで、イベント予約のための早起きからは解放されそうです。

ただ、ちゃんと予約できているか確認しないと不安なので、どうしても参加したいイベントの場合は起きてるかも(笑)

参考プログラム

参考程度に、ログインと予約完了処理のプログラムを簡略化して載せておきます。

実際には、皆さんがスマホなどでサイトにアクセスする際に、このような通信のやり取りがされています。

単純に curl コマンドでもいいのですが、もう少し細かく制御したい部分が出てくるかもしれないので PHP で書いてみました。

__ncforminfo で何か管理しているのかなと思いましたが、セッションは Cookie(PHPSESSID)で管理されているし、ここの中身を省略しても何も挙動は変わらないので、ガラケー時代の名残とかなのでしょうか?

予約時の sMemberCD パラメータに入れ込む値はイベント詳細ページなどで確認してください。多分、スクール単位で固定かな?

あとは、予約したいイベントの「イベントID」を事前に確認しておいて、所定の時間に cron などで仕込んでおけばいいと思います。

シェルから呼び出すとしたらこんな感じかな。

実際に参加したいイベントで試してみたところ、無事に予約ができていました。

これで無駄な早起きとはおさらばです。って滅多に使うことはないだろうけど・・・。