羽田空港P2駐車場の予約が取れないのでプログラムで空きを監視して取った話 - スイスポくんのカスタム日記
羽田空港P2駐車場の予約が取れないのでプログラムで空きを監視して取った話

羽田空港P2駐車場の予約が取れないのでプログラムで空きを監視して取った話

11/28に羽田空港の第2駐車場(P2)を使いたかったのですが、予約が満車で取れませんでした。仕方がないので、1分おきに空きを確認して予約まで進めるプログラムを作り、8回目でやっと取れました。やってみて、P2の予約は手作業で取れるものではなく、ボット同士で取り合っている状態だと感じたので書いておきます。

予約開始の2時間後には11/28のP2が満車だった#

羽田空港のP2・P3は、入場日の30日前の午前10時から予約できます。

予約開始の2時間後ぐらいに見てみたら、11/28はもう満車でした。。。

しばらくリロードしてみたり、数日あけてまた見てみたりしましたが、ずっと満車です。公式のQ&Aを見ると、キャンセル待ちの制度はないので、こまめに予約状況を確認してくださいとのことでした。

これは11/3に見た予約サイトの空き状況です。左がP2で、ピンクが満車、緑が混雑です。11月は「空車」の日が1日もなく、11/28も満車のままでした。

羽田空港P2・P3の予約サイトの空き状況カレンダー。11月はほとんどの日が満車のピンク

うーん。こまめにと言われても。。。

空港周辺の民間駐車場は荷物の載せ替えが面倒なので見送り#

羽田空港の周りには、送迎付きの民間駐車場もたくさんあります。そっちでもいいかなと思ったのですが、駐車場で送迎の車に荷物を載せ替えるのが面倒です。

帰りも、飛行機を降りたらすぐ自分の車で帰りたいのに、送迎を待つひと手間がかかるのが嫌でした。P2はターミナルに直結しているので、やっぱりP2がいいです。

羽田空港P2の空き状況を1分おきにチェックするプログラムを作った#

仕方がないので、プログラムで定期的に空きを確認して、空いたら予約させる作戦にしました。

予約サイトのトップページには、ログインしなくても見られる空き状況のカレンダーがあります。このカレンダーを1分おきに確認して、11/28と11/29が「空車」か「混雑」になったら、Chromeを自動で動かしてログインし、日付・入場時刻・車を入れて予約ボタンまで押す、という流れです。

  • Pythonで書いて、ブラウザの操作はPlaywrightを使いました
  • Macに常駐させて、空きが出たら通知が出るようにしました
  • 使ったのは自分のアカウントと自分のクレジットカードです

ちなみに、予約料は1件1,000円です。入場日の8日前までなら、キャンセルしても全額戻ります。

3Dセキュアの認証コードで7回取り逃した#

ここで3Dセキュアに阻まれました。

予約ボタンを押すと、カード会社の本人認証(3Dセキュア)の画面が出ます。規約で、すべての予約に本人認証が必須になっています。私のカードだと、認証コードがメールで届くので、それを画面に入れないと決済が終わりません。

最初は、認証画面が出たらMacに通知を出して、自分で入れるつもりでした。しかし、空きが出るのは朝の8時台だったり、夜の22時台だったりで、通知に気づけません。結局、空きを見つけて決済画面まで進んだのに、認証コードを入れられずに7回取り逃しました。

面倒なので、認証コードもプログラムで入れることにしました。認証画面には「Reference Code」という3文字の照合用コードが出ていて、カード会社からのメールにも同じコードが書いてあります。Gmailを検索して、照合用コードが一致するメールから認証コードを取り出して入力するようにしました。

届くメールはこんな感じです。認証コードとカード番号は伏せています。

三井住友カードから届いた3Dセキュアの認証コードのメール。ReferenceCodeと認証コードが書いてある

これで8回目、11/1の23時54分に空きを見つけてから27秒で予約が完了しました!!

空きは1日に数回、数分で満車に戻る#

10/30の昼から11/1の夜まで、2日半で約3,200回カレンダーを確認しました。そのうち11/28に空きが出たのは9回です。1分おきに見ていても、空きが出るのは1日に3〜4回ぐらいでした。

しかも、空いたと思ったら数分で満車に戻ります。ちゃんと測れた回だと、14時13分に空いて14時17分には満車でした。空いていたのは4分ぐらいです。

プログラムの記録はこんな感じです。上が4分で満車に戻った回、下が予約できた回です。

空き状況の監視ログ。14時13分に空いて14時17分に満車に戻り、11/1は23時54分23秒の検知から27秒で予約完了

キャンセルが出るのは時間を問わずなので、人間が手でリロードしていて拾えるものではないです。数分で埋まるのは、たぶん私と同じようにプログラムで予約しているからだと思います(確かめたわけではないですが)。

普通の人はどうやって羽田空港P2を予約しているのか#

プログラムを書けない人はどうしているんだろうと思って、調べてみました。

予約代行サービスは1件6,000円〜8,500円#

検索すると、P2・P3の予約代行サービスがいくつか出てきます。例えばairPという代行サービスだと、30日前の予約開始に合わせて取る通常予約が6,000円、キャンセル待ちが8,500円です(どちらも公式の予約料1,000円込み)。

キャンセル待ちは、空きが出たら代わりに取ってくれるサービスなので、やっていることは今回の私のプログラムとほぼ同じっぽいです。公式の予約料の8.5倍と考えると、結構お高いです。。。

ちなみに、代行を頼むには予約サイトのIDとパスワードを業者に渡す必要があります。一方で、予約サイトの規約には「会員登録を第三者に利用、貸与、譲渡又は売買等をしてはならない」と書いてあります。予約サイトのトップにも、第三者に使わせたことがわかったら利用を止めることがある、という注意が出ていました。止められるのは頼んだ会員のほうなので、ちょっと怖いです。

AIに教わった「長めに取って後で縮める」方法は納得いかない#

AIに「普通の人はどうしているの?」と聞いてみたら、ハック的なアイデアを教えてくれました。

入場日の35日前ぐらいに、その時点で空きがある日から7日間など長めに予約しておきます。30日前になったら、日程変更で期間を5日間に縮める、という方法らしいです。予約は最長14日まで取れて、日程変更も1回はできるので、それを使うということみたいです。

ルール上は通ってしまうのかもしれませんが、使わない日の枠を押さえておくことになるので、その日に停めたい人が取れなくなります。縮めたときに空いた枠も、結局はプログラムが数分で拾っていくんだろうなと思います。

酷い。。。モラルとは、という感じです。こんなロジックがまかり通っているのかと思うと、不公平さを感じました。

公式でキャンセル待ちを作ってほしい#

いろいろやってみて思ったのは、今の仕組みのままだと、人間が普通に予約するのはほぼ無理だということです。

空きはキャンセルでランダムに出て、数分で埋まります。拾えるのは、プログラムを書ける人か、お金を払って代行に頼める人だけです。ボット同士が戦っている横で、人間がリロードして勝てるとは思えません。

公式でキャンセル待ちを登録できて、空きが出たら登録順に割り当ててくれる仕組みがあれば、プログラムも代行も要らなくなる気がします。どうせなら、そっちを作ってもらったほうがいいんですけど。。。

まとめ:手作業でP2のキャンセルを拾うのはほぼ無理でした#

  • 羽田空港P2は予約開始の2時間後に満車。キャンセル待ちの制度はない
  • 1分おきの監視でも、空きは1日に3〜4回、数分で満車に戻る
  • 3Dセキュアの認証コードで7回取り逃し、自動入力にしてから27秒で予約が取れた
  • 代行サービスは6,000円〜8,500円。IDとパスワードを渡すのは規約的にちょっと怖い

今回はたまたまプログラムを書けたので取れましたが、プログラムを使えない人にとっては無理ゲーだと思います。公式のキャンセル待ちができるまでは、この取り合いが続くのかな。。。

この記事を書いた人
スイスポくん
スイスポくん筆者・ブログ運営者

ZC33S(6MT・黒)のオーナー。カスタムとメンテナンスをDIY中心に、実際に作業した記録と実測データを書いています。第二種電気工事士なので電装系の記事が多めです。

スイスポくんの記事一覧

コメント