Yahoo!ローカルサーチAPIは、飲食店などを検索できるWebAPI

Yahoo!ローカルサーチAPI(以下、ローカルサーチAPI)は、店舗、イベント、クチコミ情報などの地域・拠点情報(POI)を検索するためのAPIです。
検索対象は、全国の店舗を網羅した電話帳データおよび店舗オーナーやユーザーからの投稿データです。ご自身で持っているデータもアップロードして検索対象とすることができます。

YOLP(地図):Yahoo!ローカルサーチAPI - Yahoo!デベロッパーネットワーク

パラメータのドキュメントを見てたら、いつのまにか smoking パラメータというのが増えてた

喫煙の可否を指定して検索ができます。
コンマ「,」区切りで複数指定できます。

 ・1 - 禁煙
 ・2 - 分煙
 ・3 - 喫煙可

YOLP(地図):Yahoo!ローカルサーチAPI - Yahoo!デベロッパーネットワーク

試しにAPIをコールしてみたところ、ドキュメントに書かれている「禁煙」ってのはいわゆる全面禁煙 (全席禁煙とか完全禁煙とか) のことらしい (検索結果を見るとちょっと微妙なところがあるような気がするけど)。

それにしても禁煙情報についてのレスポンスデータの仕様説明が公式サイトに見当たらない。。。

そのため、レスポンスデータ内に含まれる禁煙情報について調査した。

APIレスポンスデータに含まれる禁煙・分煙・喫煙フラグを調査

APIレスポンスデータに存在するフラグには2種類のパターンがあるようにみえる。

1つめのパターンは、 NonSmokingFlag または SmokingFlag のいずれかが存在するパターン。

全面禁煙の場合に NonSmokingFlag の値が true になる。

全面喫煙可の場合は SmokingFlag の値が true になる。


Feature.Property.Detail.NonSmokingFlag: true
または
Feature.Property.Detail.SmokingFlag: true

2つめのパターンは、 NonSmokingFlag SeparationSmokingFlag SmokingFlag の3つが存在し、そのいずれかが 1 になり、その他の2つが 0 になるパターン。

全面禁煙の場合は NonSmokingFlag の値が 1 になる。

分煙の場合は SeparationSmokingFlag の値が 1 になる。

全面喫煙可の場合は SmokingFlag の値が 1 になる。


Feature.Property.Detail.NonSmokingFlag: 1 または 0
Feature.Property.Detail.SeparationSmokingFlag: 1 または 0
Feature.Property.Detail.SmokingFlag: 1 または 0

2つのパターンともに NonSmokingFlag と SmokingFlag という同名のフラグが存在するので注意。

APIレスポンスデータにはテキストによる禁煙席情報が含まれることがある

Smoking や SmokingRemarks には、テキストによる禁煙席情報がセットされている。


Feature.Property.Detail.Smoking: テキストによる禁煙席情報
Feature.Property.Detail.SmokingRemarks: テキストによる禁煙席情報

テキストによる禁煙席情報の例


Feature.Property.Detail.Smoking: "全面禁煙"
Feature.Property.Detail.Smoking: "全席喫煙可"
Feature.Property.Detail.SmokingRemarks: "一部喫煙ルームあり"
Feature.Property.Detail.SmokingRemarks: "ランチタイムのみ禁煙になります"
Feature.Property.Detail.SmokingRemarks: "11時~13時は完全禁煙です。"

smoking=1 で全面禁煙のPOIを検索して3件取得したときのAPIレスポンスデータ

リクエストURL: http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?appid=(Your Application ID)&lat=35.1722340&lon=136.889844&detail=full&output=json&results=3&smoking=1

レスポンスJSONデータ: 20140510_yahoo_localsearch_api_1.txt

3件のレスポンスデータから禁煙情報などを以下にピックアップ。


Feature.Name: "フレンチレストラン エスコフィエ/名古屋観光ホテル"
Feature.Property.Detail.NonSmokingFlag: "true"
Feature.Property.Detail.Smoking: "全面禁煙"

Feature.Name: "センチュリーシネマ"
Feature.Property.Detail.NonSmokingFlag: "1"
Feature.Property.Detail.SeparationSmokingFlag: "0"
Feature.Property.Detail.SmokingFlag: "0"
Feature.Property.Detail.SmokingRemarks: "一部喫煙ルームあり"

Feature.Name: "ブッフェ&ラウンジ ジャルダン/名古屋観光ホテル"
Feature.Property.Detail.NonSmokingFlag: "true"
Feature.Property.Detail.Smoking: "全面禁煙"

smoking=2 で分煙のPOIを検索して3件取得したときのAPIレスポンスデータ

リクエストURL: http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?appid=(Your Application ID)&lat=35.1722340&lon=136.889844&detail=full&output=json&results=3&smoking=2

レスポンスJSONデータ: 20140510_yahoo_localsearch_api_2.txt

3件のレスポンスデータから禁煙情報などを以下にピックアップ。


Feature.Name: "全席個室 楽蔵 名古屋錦通店"
Feature.Property.Detail.SmokingFlag: "0"
Feature.Property.Detail.NonSmokingFlag: "0"
Feature.Property.Detail.SeparationSmokingFlag: "1"

Feature.Name: "鮨処 秀宏"
Feature.Property.Detail.NonSmokingFlag: "0"
Feature.Property.Detail.SeparationSmokingFlag: "1"
Feature.Property.Detail.SmokingFlag: "0"
Feature.Property.Detail.SmokingRemarks: "ランチタイムのみ禁煙になります"

Feature.Name: "饂飩晴 新栄町店"
Feature.Property.Detail.NonSmokingFlag: "0"
Feature.Property.Detail.SeparationSmokingFlag: "1"
Feature.Property.Detail.SmokingFlag: "0"
Feature.Property.Detail.SmokingRemarks: "11時~13時は完全禁煙です。"

smoking=3 で全席喫煙可のPOIを検索して3件取得したときのAPIレスポンスデータ

リクエストURL: http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?appid=(Your Application ID)&lat=35.1722340&lon=136.889844&detail=full&output=json&results=3&smoking=3

レスポンスJSONデータ: 20140510_yahoo_localsearch_api_3.txt

3件のレスポンスデータから禁煙情報などを以下にピックアップ。


Feature.Name: "旬菜家 國峰"
Feature.Property.Detail.NonSmokingFlag: "0"
Feature.Property.Detail.SeparationSmokingFlag: "0"
Feature.Property.Detail.SmokingFlag: "1"

Feature.Name: "DINING 六区"
Feature.Property.Detail.Smoking: "全席喫煙可"
Feature.Property.Detail.SmokingFlag: "true"

Feature.Name: "ショットバー ペンローズ    【 栄 スコッチ バーボン カクテル デート 】"
Feature.Property.Detail.NonSmokingFlag: "0"
Feature.Property.Detail.SeparationSmokingFlag: "0"
Feature.Property.Detail.SmokingFlag: "1"

参考情報

tags: yahoo_maps_api

Posted by NI-Lab. (@nilab)