二区間定期の定期代を調べる

探索経路に二区間定期が存在する場合、二区間定期での定期代を取得します。

関連URL

手順

1. 経路探索に用いる条件を生成する

条件生成 /toolbox/course/condition のnikukanteikiパラメータに、二区間定期の利用フラグを指定します。

GET /v1/xml/toolbox/course/condition?key=アクセスキーを入力してください&nikukanteiki=true
<ResultSet apiVersion="1.26.0.0" engineVersion="201601_02a">
<Condition>T3221233232319:F3321122220:A23121141:</Condition>
</ResultSet>

2. 経路探索を行う

1で生成した詳細探索条件を用いて経路探索 /search/course/extreme を行います。

※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。

GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=和光市:池袋:飯田橋&conditionDetail=T3221233232319:F3321122220:A23121141:&searchType=plain
<ResultSet apiVersion="1.26.0.0" engineVersion="201601_02a">
<Course searchType="plain" dataType="plain">
:
<PassStatus teiki3Index="1" teiki6Index="1" kind="nikukanteiki" index="1" selected="true" teiki1Index="1">
<Name>一般定期</Name>
<Type>Normal</Type>
<Comment/>
</PassStatus>
<PassStatus teiki3Index="1" teiki6Index="1" kind="nikukanteiki" index="2" selected="false" teiki1Index="1">
<Name>二区間定期券</Name>
<Type>ToubuTwoRoute</Type>
<Comment/>
</PassStatus>
:

この時点では、 ResultSet/Course/PassStatus/selected が一般定期の方がtrueになっているので、定期代は一般定期として計算されています。

ResultSet/Course/PassStatus/selected をtrueにすることで、二区間定期での定期代が算出されます。

3. 経路の運賃を切り替える

2のレスポンスで二区間定期インデックス ResultSet/Course/PassStatus/index を取得することができるので、二区間定期の定期代を取得します。

GET /v1/xml/course/recalculate?key=アクセスキーを入力してください&nikukanteikiIndex=2&serializeData=2で取得できる経路シリアライズデータを入れてください
<ResultSet apiVersion="1.26.0.0" engineVersion="201601_02a">
<Course dataType="plain">
<Price kind="FareSummary">
<Oneway>420</Oneway>
<Round>840</Round>
</Price>
<Price fareRevisionStatus="none" toLineIndex="1" fromLineIndex="1" kind="Fare" index="1" selected="true">
<Type>Fare</Type>
<Oneway>250</Oneway>
<Round>500</Round>
</Price>
<Price fareRevisionStatus="none" toLineIndex="2" fromLineIndex="2" kind="Fare" index="2" selected="true">
<Type>Fare</Type>
<Oneway>170</Oneway>
<Round>340</Round>
</Price>
<Price kind="Teiki1Summary">
<Oneway>18450</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="2" fromLineIndex="1" passClassIndex="2" kind="Teiki1" index="1" selected="true" nikukanteikiIndex="2">
<Type>Teiki1</Type>
<Oneway>18450</Oneway>
</Price>
<Price kind="Teiki3Summary">
<Oneway>52590</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="2" fromLineIndex="1" passClassIndex="2" kind="Teiki3" index="1" selected="true" nikukanteikiIndex="2">
<Type>Teiki3</Type>
<Oneway>52590</Oneway>
</Price>
<Price kind="Teiki6Summary">
<Oneway>99640</Oneway>
</Price>
<Price fareRevisionStatus="none" toLineIndex="2" fromLineIndex="1" passClassIndex="2" kind="Teiki6" index="1" selected="true" nikukanteikiIndex="2">
<Type>Teiki6</Type>
<Oneway>99640</Oneway>
</Price>
<PassStatus teiki3Index="1" teiki6Index="1" kind="nikukanteiki" index="1" selected="false" teiki1Index="1">
<Name>一般定期</Name>
<Type>Normal</Type>
<Comment/>
</PassStatus>
<PassStatus teiki3Index="1" teiki6Index="1" kind="nikukanteiki" index="2" selected="true" teiki1Index="1">
<Name>二区間定期券</Name>
<Type>ToubuTwoRoute</Type>
<Comment/>
</PassStatus>
</Course>
</ResultSet>