ホテル検索ツールを作った話(37,000件の家族向け絞り込み)
家族旅行のホテル探しで毎回困っていたのが「40㎡以上の広い部屋」というフィルター条件。楽天トラベルの検索画面には無いフィルターなのに、子連れには一番大事な条件です。それなら自分で作ろう、と思ったのがきっかけです。
何ができるツールか
hotel.tool-koubou.com で使えます。
- 全国 37,000軒 のホテルから検索
- 部屋の最大サイズ・最小サイズ でフィルタ(家族向けの大部屋を探せる)
- 東京駅からの所要時間 で絞り込み(車・新幹線・飛行機の最短ルートを自動選択)
- レビュー点数・⭐5件数比率での絞り込み
- 温泉・客室露天風呂・ウェルカムベビー認定など条件指定
- 気になるホテルに メモ・評価(候補/検討中/却下) をつけて管理
- 楽天API連携で 実空室と最安値 をワンクリック取得
作り方
AIに「楽天トラベルのWeb APIで全ホテルのデータを取ってきて、ローカルで検索できるようにしたい」と伝えました。すると、以下を組み立ててくれました:
- 楽天ウェブサービスAPIから エリア別全ホテル取得 スクリプト
- 部屋サイズ情報を楽天APIと商品ページから抽出する処理
- 37都道府県のホテルを 1つのJSONファイル(約6MB gzip)に整理
- 絞り込み・ソート機能つきの検索UI
工房主がやったのは「こういう条件で検索したい」「この項目でソートさせて」と伝え続けることだけです。
こだわりポイント
「確認不可」と「満室」を区別した空室判定
楽天APIでは、予約サイトの応答状況に応じて not_found(満室)か too_many_requests(レート制限)かでエラーが返ります。当初は全部「満室」扱いにしていたのですが、レート制限の場合は「確認不可(❓)」と表示する ように改良しました。
「家族向け」に特化した絞り込み
- 部屋サイズのフィルター
- ミキハウス「ウェルカムベビーのお宿」認定施設へのリンク案内
- 子連れ不可・大人専用の宿は別枠表示
運用上の工夫
データが古くなるので、週に1回・月曜日に自動リマインドメール が届くようにしました。Cloudflareのスケジュール機能で、データの鮮度を監視しています。
収益化
ホテル名のリンクは楽天トラベルアフィリエイト経由です。「広告」表記 もつけて透明性を確保しています。
← 他の制作記を見る | トップ | ツールのリクエスト