ヴァル研究所 Advent Calendar 2017 14日目の記事です。
今日は駅すぱあとWebサービスの定期控除機能について紹介しようと思います。
WebサービスDocumentsのTipsにある、定期券利用時の運賃計算の例を踏まえつつ、定期券控除した状態での運賃取得方法を解説します。
定期券を利用した運賃計算の準備
まずは運賃計算を行う際に、定期券を利用するための準備を行います。駅すぱあとWebサービスでは、予め定期券の区間を「定期経路文字列」という形で用意しておことで、経路探索時に該当区間の運賃を控除した状態で運賃を取得できます。
実際の例を見てもらうとイメージがつきやすいかと思います。以下の例は、「高円寺駅-東京駅」を定期券の利用区間とした状態で「高円寺駅-舞浜駅」の経路探索を行なった場合の結果です。
定期控除なしの場合は 470円 なのに対し、定期控除ありの場合は高円寺駅-東京駅間の金額が差し引かれた運賃になっていることが分かります。
定期経路文字列の作成
定期経路文字列は、経路探索APIのリクエストに含まれている、 駅の名称
平均路線名
平均路線の方向
を組み合わせた文字列になります。
具体的には以下のような文字列になります。
高円寺:JR中央線快速:Up:東京
定期経路文字列を指定した経路探索
定期経路を指定した経路探索は以下のように行います。
http://api.ekispert.jp/v1/json/search/course/extreme?key=アクセスキーを指定してください&searchType=plain&viaList=東京:舞浜&assignDetailRoute=高円寺:JR中央線快速:Up:東京&bringAssignmentError=true
定期経路文字列を使用して経路探索結果の運賃から定期券の区間分の運賃を控除する方法を紹介しました。指定できる定期券は鉄道のみに限定されますが、運賃計算の例としてAPIを触ってみてはいかがでしょうか。