Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

駅すぱあとWebサービスで魔法使いになったお客さんの話

605 views

Published on

2018/07/25実施『はじめての駅すぱあとWebサービス』書籍出版記念イベント LTスライドです

Published in: Engineering
  • Be the first to comment

駅すぱあとWebサービスで魔法使いになったお客さんの話

  1. 1. 駅すぱあとWebサービスで 魔法使いになったお客さんの話 株式会社ヴァル研究所 マーケティングテクノロジー部 システムソリューション開発チーム 伊藤英明
  2. 2. 1 ・名前:伊藤英明 ・⼊社年:2014年 (Valは2社⽬、社会⼈歴は15年⽬) ・趣味:娘(4歳)と遊ぶ、ミニ四駆 ・認定、資格:⼈間中⼼設計専⾨家 認定プロダクトオーナー 認定スクラムマスター ⾃⼰紹介
  3. 3. 「RODEM」のプロダクトオーナー 2 ⾃⼰紹介
  4. 4. コンカーさんに導⼊いただいています 3
  5. 5. RODEMの精算データ連携先の⼀つでもあります 4 カレンダー&RODEM
  6. 6. 5 コンカーの担当者様が 米国本社に対してデモを 実施した時の話
  7. 7. コンカージャパンの担当者が本国の上司から 「Youはいつから魔法使いになったんだ?」 と⾔われる ああああああああああ コンカージャパンさんが本国のコンカーにデモした 時の話 6 ※イメージです (……すごい!)
  8. 8. 7 Youはいつから 魔法使いに なったんだ !? ※イメージです
  9. 9. 8 “十分に発達した科学技術は、 魔法と見分けがつかない” アーサー・C・クラーク(SF作家)
  10. 10. Concur Japan Partner Award 受賞 9
  11. 11. RODEMの中で駅すぱあとwebサービスはどう動いているか 10
  12. 12. 11 1.カレンダーからの訪問先指定 2.経路探索時の定期区間割当 3.算出した経路の変更 RODEMの中で駅すぱあとwebサービスはどう動いているか
  13. 13. 1.カレンダーからの訪問先指定 12
  14. 14. 13 ・カレンダーに⾏き先名が登録される ・⾏き先検索ロジックにより曖昧さを吸収し、DBを検索 ・企業名を正規化 --- ここまで、RODEMオリジナルの処理 --- ・企業名のみでは⾏き先として不⼗分なため、経路探索に必要な情報へ適切に変換 ・法⼈番号データベースより、企業の住所を抜き出す ・住所から周辺の出発駅候補、到着駅候補への変換は「住所情報からの周辺駅検索」で処理 http://docs.ekispert.com/v1/api/address/station.html 1.カレンダーからの訪問先指定
  15. 15. 14 ただ、ここで取得できるDistanceは指定した住所と駅までの直線距離となるため、徒歩区 間の所要時間を正しく算出できない。 そのため、下記の処理に変更 1.GeOAPを利⽤して住所を緯度経度に変換 2.「緯度経度からの周辺駅検索」で http://docs.ekispert.com/v1/api/geo/station.html 1.カレンダーからの訪問先指定
  16. 16. 15 3.GeOAPで取得した緯度経度と駅までの徒歩距離を取得 4.歩くスピードにより徒歩時間を算出 5.地点⽣成を利⽤して探索出来る地点データに変換 http://docs.ekispert.com/v1/api/toolbox/course/point.html 6.経路探索へ 1.カレンダーからの訪問先指定
  17. 17. 16 1.カレンダーからの訪問先指定 ⾃社 (出発地) 顧客 (到着地) ⼀定範囲内の 出発駅候補 ⼀定範囲内の 到着駅候補
  18. 18. 2.経路探索時の定期区間割当 17
  19. 19. 2.経路探索時の定期区間割当 18 経路探索はもちろん「経路探索」を利⽤。 http://docs.ekispert.com/v1/api/search/course/extreme.html ただ、ここで定期区間の割当のため、ちょっとチューニングを⾏っています。
  20. 20. 2.経路探索時の定期区間割当 19 定期区間の割当は「経路検索」のassignDetailRouteを使えば簡単に実装できます。 ただ、これだと複数⼈で移動する場合、かつ、持っている定期区間が異なっていた場合、 こんなことにもなりかねません。 メンバー1:A駅〜B駅〜C駅(定期持っていない) メンバー2:A駅〜D駅〜C駅(A駅〜D駅の定期を持っているので) やはり、持っている定期を使ったほうが安くなることもあるので、「わざと遠回り」 したり「同じ⾏き先なのに乗る電⾞が違う」という問題が発⽣し、「予定に間に合わ なかった」という問題が発⽣することも考えられます。
  21. 21. 2.経路探索時の定期区間割当 20 そのため、RODEMでは下記のように定期を割り当てています。 1.assignDetailRouteを指定せずに経路探索をし、その経路再現情報(シリアライズ データ)を取得 2.「経路の再現/定期券・指定列⾞利⽤」に取得したシリアライズデータと assignDetailRouteを渡す http://docs.ekispert.com/v1/api/course/edit.html 3.定期区間控除後の運賃が取得できた場合は、この経路を採⽤する
  22. 22. 3.算出した経路の変更 21
  23. 23. 3.算出した経路の変更 22 RODEMでは⾃動でカレンダーに移動予定を反映する関係上、まずは単⼀の経路のみ出⼒ しています。 これは「⼀番早くつく経路」もしくは「⼀番安い経路」の2つなのですが、場合によって は異なる経路を使ったり、時間をずらしたりしたいこともある。 この経路変更についてはWebサービスの「HTML5 インターフェースサンプル」を利⽤し ています。 https://github.com/EkispertWebService/GUI/
  24. 24. 3.算出した経路の変更 23 サンプルのメリットはやはり「経路表⽰に関するコードを書かなくて良くなる」という ことです。 単純な発着駅のみを表⽰するだけであれば簡単なのですが、それだけではありません。 1.JRと私鉄のように運賃の切れ⽬は1区間ではなく複数区間にまたがっていることが ある 2.ICカードと普通のきっぷで⾦額が異なるが、切り替える機能がほしい 3.特急券を購⼊する場合、座席を指定する必要があるが、切り替える機能がほしい 4.乗り⼊れ路線など、「下⾞しないけど運賃上は別れている区間」みたいな複雑な ルールが有る 5.前のダイヤ、次のダイヤなど複数の追加機能がほしい 6.スマートフォンとPCでちょうど良い表⽰にしたい 7.その他いっぱい
  25. 25. 24 RODEMでは基本的にサンプルをそのまま使っていますが、「徒歩だけで移動」、「⾞で の移動」を表現したいため、カスタマイズしました。 「HTML5 インターフェースサンプル」を直接編集するのではなく、別のJavaScriptを作 成し、上書きする形でカスタマイズしています。 3.算出した経路の変更
  26. 26. 25 下記はRODEMでカスタマイズした例です。まずはWebサービスのレスポンスを参考に 徒歩⽤のJSONを作ります。 { "ResultSet": { "Course": { "Route": { "distance": "35", "timeWalk": "45", "Line": { "timeOnBoard": "45", "distance": "35", "Name": "徒歩", "Type": "walk", } }, "Point": [ { "Name": "出発地" }, { "Name": "⽬的地" } ] } } } } ※⼀部わかりやすいように加⼯しています 3.算出した経路の変更
  27. 27. 26 setResult関数を利⽤してJSONを流し込みます。 ※setResult関数については下記のGitHubに説明があります。 https://github.com/EkispertWebService/GUI/wiki/html5_reference_Course すると、こんな感じで簡単に徒歩経路が表⽰できます。 3.算出した経路の変更
  28. 28. RODEMの中で駅すぱあとwebサービスはどう動いているか 27 「RODEM powered by 駅すぱあと」と⾔って差し⽀えないサービス
  29. 29. 28 ところで
  30. 30. 29 Youも魔法使いに なりたくないか?
  31. 31. 30 RODEMを契約して 魔(以下略)
  32. 32. 31 この際、契約 しなくてもいいです
  33. 33. 無料トライアルあります 32 RODEM 検索
  34. 34. ご清聴ありがとうございました

×