kintoneで温泉や旅館を見つけてごゆるりとしましょう

こんにちは。インベストメントエバンジェリストの武井です。
今の市況は兎にも角にもアメリカ大統領選です。

国内市場では11月に入ってからそこそこのリスクオフが進みました。
トランプの支持率が拮抗して来たからですが、
アメリカ大統領選はあくまで選挙人システムであって、支持率や投票総数は必ずしも関係ありません。

早い段階で30%以上の期日前投票が行われ、
スイングステート(激戦州)の総取りが不可欠なトランプ当選の可能性は私の肌感覚だといいとこ5%程度であり、
1%→5%へのリスクオフにしては過剰反応な嫌いがあります。

とはいえ、決め打ちで臨み、オクトーバーサプライズの最後っ屁で万が一トランプになったら目も当てられないため、
11/9(水)は、フロリダ/ノースカロライナ/オハイオ/ジョージアのいずれかをクリントンが獲得した時点で買いに動くのが得策かと思っています。
上記州はアメリカ東部に位置する選挙人の多いスイングステートで、開票が最も早く行われる州でもあります。
ペンシルベニアなんかを落とすようだと、上記から2つ以上とかに塩梅した方がいいかもしれませんが、計算上は上記どれかを取れればクリントンが勝つ見込みです。

こんな肩の凝る相場が続く日は、kintoneで温泉を探して、こってりと湯につかるに限りますね。

まずはどんな温泉があるのかから調べたいですね。しかもkintoneで。
以下の作品をご覧ください。

onsen1

「都道府県」を選択すると、自動的にその地域の大雑把な温泉エリア(大エリア)が表示されるので、
その中から好きな温泉エリアを選びます。

すると、その温泉エリアの中から更に細かなエリア(小エリア)が表示されるので、
その中から好きな詳細温泉エリアを選びます。

選んだら「温泉検索」ボタンを押すことで、温泉名、泉質、温泉一言Tipsといった温泉情報がわらわら出て来ます!
「大体このエリアはこんな温泉があるんだ」というのが分かります。
で、この辺のエリアにしようと決めるわけです。

そうすると、宿泊施設を予約したくてウズウズしてくるわけですが、
そこら辺もkintoneでやっちまいましょうという魂胆です。
以下の作品をご覧ください。

onsen2

先ほどと同じように、エリアを選んだら、「人気順/価格のお安い順」、「宿泊開始日」、「宿泊日数」を選び、
「宿泊プラン検索」ボタンを押します。

すると、その条件に応じた宿泊プランがわらわらと出て参ります。
フィーリングの合致したプランだけを取捨選択するのも〇。

右側のピンクのボタンを押すと予約サイトに直行!さあ温泉はすぐそこだ!

【厳重注意事項】

アベックや多人数で温泉に行く輩は敵対勢力なので、宿泊人数オプションはありません。

JavaScript

(function () {
	"use strict";

	// クレジット表記
	kintone.events.on(['app.record.edit.show', 'app.record.detail.show', 'app.record.create.show'], function (event) {
		var jalanSpace = kintone.app.record.getSpaceElement('jalan');
		$(jalanSpace).append('<a href="http://www.jalan.net/jw/jwp0000/jww0001.do"><img src="https://www.jalan.net/jalan/doc/jws/images/jws_88_50_blue.gif" alt="じゃらん Web サービス" title="じゃらん Web サービス" border="0"></a>');
		return event;
	});

	// 予約ボタン関係
	kintone.events.on(['app.record.edit.show', 'app.record.detail.show'], function (event) {
		if (event.type === "app.record.detail.show") {
			var cnt = 0;
			var interval = setInterval(function () {
				if ($(".control-value-gaia.value-5326657[already!=already]").length > 0) {
					$(".control-value-gaia.value-5326657[already!=already]").each(function () {
						$(this).html('<button class="urlButton" onclick="window.open(' + "'" + $(this).text() + "'" + ')">予約する</button>');
						$(this).attr('already', 'already');
					});
					$(".label-5326657").css("width", "90px");
				}
				if(cnt > 50){
					clearInterval(interval);
				}else{
					cnt++;
				}
			}, 100);
		}else{
				var interval = setInterval(function () {
					var length = $(".control-value-gaia.value-5326657").length;
				if (length === event.record.Table2.value.length) {
					clearInterval(interval);
					for(var i=0;i<length;i++){
						$(".control-value-gaia.value-5326657").eq(i).html('<button class="urlButton" onclick="window.open(' + "'" + event.record.Table2.value[i].value.予約.value + "'" + ')">予約する</button>');
					}
				}
			}, 100);
		}

		return event;
	});

	kintone.events.on(['app.record.edit.show', 'app.record.create.show'], function (event) {
		// 都道府県コード
		var cityCode = {
			北海道: "010000",
			青森県: "020000",
			岩手県: "030000",
			宮城県: "040000",
			秋田県: "050000",
			山形県: "060000",
			福島県: "070000",
			茨城県: "100000",
			栃木県: "080000",
			群馬県: "090000",
			埼玉県: "110000",
			千葉県: "120000",
			東京都: "130000",
			神奈川県: "140000",
			新潟県: "170000",
			富山県: "180000",
			石川県: "190000",
			福井県: "200000",
			山梨県: "150000",
			長野県: "160000",
			岐阜県: "220000",
			静岡県: "210000",
			愛知県: "230000",
			三重県: "240000",
			滋賀県: "250000",
			京都府: "260000",
			大阪府: "270000",
			兵庫県: "280000",
			奈良県: "290000",
			和歌山県: "300000",
			鳥取県: "310000",
			島根県: "320000",
			岡山県: "330000",
			広島県: "340000",
			山口県: "350000",
			徳島県: "360000",
			香川県: "370000",
			愛媛県: "380000",
			高知県: "390000",
			福岡県: "400000",
			佐賀県: "410000",
			長崎県: "420000",
			熊本県: "430000",
			大分県: "440000",
			宮崎県: "450000",
			鹿児島県: "460000",
			沖縄県: "470000"
		};
		var prefIndex = "";
		for (var key in cityCode) {
			prefIndex += "<option>" + key + "</option>";
		}

		// 都道府県選択プルダウン
		var prefSpace = kintone.app.record.getSpaceElement('pref');
		$(prefSpace).append('<div class="kintoneplugin-select-outer"><div class="kintoneplugin-select"><select id="prefSelect">' + prefIndex + '</select></div></div>');
		// 温泉検索ボタン
		var onsenSpace = kintone.app.record.getSpaceElement('hotSpringSearch');
		$(onsenSpace).append("<button id='onsenSearchButton'>温泉検索</button>");
		// 宿泊プラン検索ボタン
		var hotelSpace = kintone.app.record.getSpaceElement('hotelSearch');
		$(hotelSpace).append("<button id='hotelSearchButton'>宿泊プラン検索</button>");
		var sort = kintone.app.record.getSpaceElement('sort');
		$(sort).append('<div class="kintoneplugin-select-outer"><div class="kintoneplugin-select"><select id="sortSelect"><option>人気順</option><option>価格のお安い順</option></select></div></div>');

		// 温泉検索関係
		$('#onsenSearchButton').on('click', function () {
			var smallAreaValue = $("#smallAreaSelect option:selected").text();
			smallAreaValue = changeSmallAreaValue(smallAreaValue);
			// 温泉情報取得
			kintone.proxy('http://jws.jalan.net/APICommon/OnsenSearch/V1/?key=aqr157553298a0&s_area=' + smallArea[smallAreaValue] + '&count=100&xml_ptn=1', 'GET', {}, {}).then(function (argsHotSpring) {
				var xmlHotSpring = $.parseXML(argsHotSpring[0]);
				var lengthHotSpring = xmlHotSpring.children[0].children[1].innerHTML;
				var thisRecord = kintone.app.record.get();
				thisRecord.record.Table1.value = [];
				for (var k = 0; k < lengthHotSpring; k++) {
					var length = xmlHotSpring.children[0].children[k + 4].children.length
					var subRowOhmura = {
						value: {
							温泉名: {
								type: 'SINGLE_LINE_TEXT',
								value: xmlHotSpring.children[0].children[k + 4].children[0].innerHTML
							},
							泉質: {
								type: 'SINGLE_LINE_TEXT',
								value: xmlHotSpring.children[0].children[k + 4].children[5].innerHTML
							},
							備考: {
								type: 'MULTI_LINE_TEXT',
								value: xmlHotSpring.children[0].children[k + 4].children[length - 1].innerHTML
							}
						}
					};
					thisRecord.record.Table1.value.push(subRowOhmura);
				}
				kintone.app.record.set(thisRecord);
			});
			return false;
		});

		// 宿泊プラン検索
		$('#hotelSearchButton').on('click', function () {
			var smallAreaValue = $("#smallAreaSelect option:selected").text();
			smallAreaValue = changeSmallAreaValue(smallAreaValue);
			// ソート順
			var sortValue = $("#sortSelect option:selected").text();
			if (sortValue === "人気順") {
				sortValue = 4;
			} else {
				sortValue = 2;
			}
			var thisRecord = kintone.app.record.get();
			// 宿泊開始日
			var startStay = thisRecord.record.宿泊開始日.value;
			startStay = moment(startStay).format("YYYYMMDD");
			// 宿泊日数
			var stayDays = thisRecord.record.宿泊日数.value;

			// 宿泊プラン取得
			kintone.proxy('http://jws.jalan.net/APIAdvance/StockSearch/V1/?key=aqr157553298a0&s_area=' + smallArea[smallAreaValue] + '&count=10&order=' + sortValue + '&stay_date=' + startStay + '&stay_count=' + stayDays, 'GET', {}, {}).then(function (argsHotel) {
				var xmlHotel = $.parseXML(argsHotel[0]);
				var lengthHotel = xmlHotel.children[0].children[1].innerHTML;

				thisRecord.record.Table2.value = [];
				for (var k = 0; k < lengthHotel; k++) {
					var length = xmlHotel.children[0].children[k + 4].children.length;
					var plan = xmlHotel.children[0].children[k + 4].children[0].innerHTML.replace(/amp;/g, "");
					var url = xmlHotel.children[0].children[k + 4].children[5].innerHTML.replace(/amp;/g, "");
					var cap = xmlHotel.children[0].children[k + 4].children[length - 1].children[8].innerHTML.replace(/&lt;BR&gt;/g, "");
					var subRowOhmura = {
						value: {
							施設名: {
								type: 'MULTI_LINE_TEXT',
								value: xmlHotel.children[0].children[k + 4].children[length - 1].children[1].innerHTML
							},
							プラン: {
								type: 'MULTI_LINE_TEXT',
								value: plan
							},
							参考料金: {
								type: 'NUMBER',
								value: xmlHotel.children[0].children[k + 4].children[length - 4].innerHTML
							},
							宿泊施設概要: {
								type: 'MULTI_LINE_TEXT',
								value: cap
							},
							予約: {
								type: 'MULTI_LINE_TEXT',
								value: url
							}
						}
					};
					thisRecord.record.Table2.value.push(subRowOhmura);
				}
				kintone.app.record.set(thisRecord);
				var length = $(".control-value-gaia.value-5326657").length;
				if (length === thisRecord.record.Table2.value.length) {
					for(var i=0;i<length;i++){
						$(".control-value-gaia.value-5326657").eq(i).html('<button class="urlButton" onclick="window.open(' + "'" + thisRecord.record.Table2.value[i].value.予約.value + "'" + ')">予約する</button>');
					}
				}
			});
			return false;
		});

		// 大エリア
		var bigArea = {
			"札幌": "010200",
			"定山渓": "010300",
			"小樽・キロロ・積丹": "010500",
			"ニセコ・ルスツ": "010800",
			"洞爺・登別・苫小牧": "011100",
			"函館・大沼・松前": "011400",
			"稚内・留萌": "011700",
			"旭川・層雲峡": "012000",
			"富良野・美瑛・トマム": "012100",
			"網走・北見・知床": "012300",
			"釧路・阿寒・根室・川湯・屈斜路": "012600",
			"石狩・空知・千歳": "012900",
			"帯広・十勝": "013200",
			"日高・えりも": "013300",
			"離島(利尻・礼文・天売・焼尻)": "013500",
			"青森": "020200",
			"弘前": "020500",
			"十和田湖": "020800",
			"八戸": "020900",
			"下北・三沢": "021100",
			"津軽西海岸": "021400",
			"津軽半島": "021700",
			"雫石": "030100",
			"盛岡": "030200",
			"安比・八幡平・二戸": "030300",
			"花巻・北上・遠野": "030500",
			"三陸海岸": "030800",
			"奥州・平泉・一関": "031100",
			"仙台": "040200",
			"松島・塩竈": "040500",
			"石巻・気仙沼": "040800",
			"鳴子・大崎": "041100",
			"栗原・登米": "041200",
			"白石・蔵王": "041400",
			"秋田": "050200",
			"田沢湖・角館・大曲": "050300",
			"十和田湖・大館・鹿角": "050500",
			"白神・男鹿": "050800",
			"横手・鳥海": "051100",
			"山形・蔵王・天童・上山": "060200",
			"尾花沢・新庄・村山": "060500",
			"寒河江・月山": "060800",
			"米沢・置賜": "061100",
			"酒田・鶴岡": "061400",
			"福島・二本松": "070200",
			"相馬": "071100",
			"裏磐梯・磐梯高原": "071500",
			"猪苗代・表磐梯": "071600",
			"会津": "071700",
			"南会津": "072000",
			"郡山": "072500",
			"白河": "072800",
			"いわき・双葉": "073200",
			"宇都宮・さくら": "080200",
			"那須・板室": "080500",
			"塩原・矢板・大田原・西那須野": "080600",
			"日光・霧降高原・奥日光・中禅寺湖・今市": "080800",
			"鬼怒川・川治・湯西川・川俣": "080900",
			"佐野・小山・足利・鹿沼": "081100",
			"馬頭・茂木・益子・真岡": "081600",
			"四万・吾妻・川原湯": "090100",
			"草津・尻焼・花敷": "090200",
			"万座・嬬恋・北軽井沢": "090300",
			"水上・月夜野・猿ヶ京・法師": "090400",
			"沼田・老神・尾瀬": "090500",
			"赤城・桐生・渡良瀬": "090800",
			"渋川・伊香保": "091100",
			"前橋・高崎・伊勢崎・太田・榛名": "091400",
			"藤岡・碓氷・磯部・妙義": "092000",
			"北茨城・奥久慈・日立": "100200",
			"水戸・笠間": "100500",
			"常総・結城・桜川": "100600",
			"つくば・牛久": "100800",
			"霞ヶ浦・土浦・鹿島・潮来": "101100",
			"大洗・ひたちなか": "101400",
			"川越・さいたま": "110200",
			"秩父・長瀞": "110500",
			"飯能": "110800",
			"久喜・行田": "111100",
			"本庄・熊谷": "111400",
			"越谷・草加": "111700",
			"千葉・市原": "120200",
			"舞浜・浦安・船橋・幕張": "120500",
			"成田": "120800",
			"松戸・柏・野田": "121100",
			"佐倉・八街": "121400",
			"九十九里・銚子": "121700",
			"木更津・君津・富津": "122000",
			"勝浦・鴨川": "122300",
			"館山・南房総": "122600",
			"銀座・日本橋・東京駅周辺": "136200",
			"お茶の水・湯島・九段・後楽園": "136500",
			"六本木・麻布・赤坂・青山": "136800",
			"お台場・汐留・新橋・品川": "137100",
			"上野・浅草・両国": "137400",
			"池袋・目白・板橋・赤羽": "137700",
			"新宿・中野・杉並・吉祥寺": "138000",
			"渋谷・目黒・世田谷": "138300",
			"蒲田・大森・羽田周辺": "138600",
			"葛飾・江戸川・江東": "138900",
			"八王子・立川・町田・府中・調布": "139200",
			"青梅・奥多摩": "139500",
			"伊豆七島・小笠原": "139800",
			"川崎": "140100",
			"横浜": "140200",
			"横須賀・三浦": "140500",
			"湘南・鎌倉": "140800",
			"厚木・海老名": "141100",
			"相模原": "141400",
			"箱根": "141600",
			"湯河原・真鶴・小田原": "141700",
			"足柄": "142000",
			"甲府・湯村・昇仙峡": "150100",
			"石和・勝沼・塩山": "150200",
			"大月・都留": "150300",
			"山中湖・忍野": "150500",
			"河口湖・西湖・富士吉田・精進湖・本栖湖": "150600",
			"下部・身延・早川": "150800",
			"南アルプス": "151100",
			"八ヶ岳・小淵沢・清里・大泉": "151400",
			"長野・戸隠・小布施": "160200",
			"野沢温泉・木島平・秋山郷": "160500",
			"志賀・北志賀・湯田中渋": "160600",
			"上田・別所・鹿教湯": "160800",
			"菅平・峰の原": "160900",
			"戸倉上山田・千曲": "161100",
			"軽井沢・佐久・小諸": "161400",
			"八ヶ岳・富士見・原村・野辺山・小海": "161600",
			"蓼科・白樺湖・車山・女神湖・姫木平": "161800",
			"上諏訪・下諏訪・岡谷・霧ヶ峰・美ヶ原高原": "161900",
			"白馬・小谷": "162000",
			"松本市(松本駅周辺・浅間・美ヶ原・塩尻)": "162200",
			"松本市(上高地・乗鞍・白骨・野麦峠)": "162300",
			"安曇野・大町": "162400",
			"伊那・駒ヶ根・飯田・昼神": "162600",
			"木曽": "163200",
			"斑尾・飯山・信濃町・黒姫": "163500",
			"新潟・月岡・阿賀野川": "170200",
			"瀬波・村上・岩船": "170500",
			"燕・三条・岩室・弥彦": "170600",
			"柏崎・寺泊・長岡・魚沼(湯之谷)": "171100",
			"南魚沼・十日町・津南(六日町)": "171300",
			"湯沢・苗場": "171400",
			"上越・糸魚川・妙高": "171700",
			"佐渡": "172000",
			"立山・黒部・宇奈月": "180200",
			"富山": "180500",
			"高岡・氷見・砺波": "180800",
			"輪島・能登": "191100",
			"和倉・七尾": "191400",
			"金沢・羽咋": "192000",
			"白山": "192300",
			"加賀・小松・辰口": "192600",
			"三国・あわら": "200200",
			"福井・奥越前": "200300",
			"越前": "200400",
			"若狭": "200500",
			"熱海": "210200",
			"伊東・宇佐美・川奈": "210400",
			"伊豆高原": "210500",
			"東伊豆": "210800",
			"下田・白浜": "211000",
			"南伊豆": "211100",
			"西伊豆": "211400",
			"中伊豆": "211700",
			"沼津・三島": "212000",
			"御殿場・富士": "212300",
			"静岡・清水": "212600",
			"焼津・御前崎": "212900",
			"大井川・寸又峡・川根": "213200",
			"浜松・浜名湖": "213500",
			"磐田・袋井・掛川": "213700",
			"飛騨・高山": "220200",
			"奥飛騨": "220300",
			"下呂・南飛騨": "220500",
			"郡上・美濃・関": "220600",
			"恵那・多治見・可児・加茂": "220800",
			"岐阜・大垣・養老": "221100",
			"白川郷": "221500",
			"名古屋": "230200",
			"三河": "230500",
			"尾張・犬山・小牧": "230800",
			"知多": "231100",
			"桑名・長島・四日市・湯の山・鈴鹿": "240200",
			"伊賀・上野・名張": "240500",
			"津・久居・美杉・松阪": "240800",
			"伊勢・二見": "241000",
			"鳥羽": "241100",
			"南鳥羽": "241300",
			"志摩": "241400",
			"奥伊勢": "241700",
			"東紀州": "242000",
			"大津": "250200",
			"彦根・長浜": "250500",
			"甲賀・信楽": "250800",
			"湖西": "251100",
			"草津・守山・近江八幡": "251400",
			"雄琴・堅田": "251700",
			"河原町・烏丸・大宮周辺": "260200",
			"京都駅周辺": "260500",
			"大原・鞍馬・貴船": "261400",
			"嵯峨野・嵐山・高雄": "262000",
			"祇園・東山・北白川周辺": "262300",
			"京都南部(宇治・長岡京・山崎)": "263300",
			"湯の花・丹波・美山": "263900",
			"天橋立・宮津・舞鶴": "264200",
			"丹後・久美浜": "264500",
			"綾部・福知山": "264800",
			"大阪北部(茨木・高槻・箕面・伊丹空港)": "271400",
			"新大阪・江坂・十三・塚本": "271700",
			"大阪駅・梅田駅・福島・淀屋橋・本町": "272000",
			"大阪ベイエリア": "272300",
			"大阪城・京橋・市内東部": "272600",
			"心斎橋・なんば・四ツ橋": "272900",
			"上本町・天王寺・市内南部": "273200",
			"大阪東部(寝屋川・守口・門真・東大阪)": "273500",
			"大阪南部(堺・岸和田・関西空港)": "273800",
			"神戸・有馬・明石": "280200",
			"尼崎・宝塚・三田・篠山": "280500",
			"姫路・赤穂・播磨": "280800",
			"城崎・竹野・豊岡": "281100",
			"香住・浜坂・湯村": "281200",
			"神鍋・鉢伏・養父・和田山": "281400",
			"淡路島": "281700",
			"奈良・斑鳩・天理": "290200",
			"飛鳥・橿原・三輪": "290500",
			"吉野・奥吉野": "290800",
			"和歌山市・加太・和歌浦": "300200",
			"高野山": "300300",
			"有田・御坊・日高": "300500",
			"白浜・龍神": "300800",
			"本宮・新宮・中辺路": "301000",
			"勝浦・串本・すさみ": "301100",
			"鳥取・岩美": "310200",
			"倉吉・三朝・湯梨浜": "310500",
			"米子・皆生・大山": "310800",
			"松江・安来・玉造・奥出雲": "320100",
			"出雲・大田・石見銀山": "320400",
			"益田・浜田・津和野": "320500",
			"隠岐島": "320800",
			"岡山・玉野・牛窓": "330200",
			"倉敷・総社・井笠": "330500",
			"津山・美作三湯・蒜山": "330800",
			"高梁・新見・吉備高原": "331100",
			"福山・尾道": "340300",
			"庄原・三次・芸北": "340600",
			"広島・宮島": "340900",
			"三原・竹原・東広島・呉": "341100",
			"岩国・柳井・周南": "350300",
			"山口・秋芳": "350600",
			"萩・長門": "351000",
			"下関・宇部": "351300",
			"徳島・鳴門": "360200",
			"阿南・日和佐・宍喰": "360500",
			"大歩危・祖谷・剣山": "360800",
			"高松・東讃": "370200",
			"琴平・丸亀・坂出": "370500",
			"小豆島": "370800",
			"松山・道後": "380200",
			"今治・しまなみ海道": "380500",
			"南予・宇和島": "380800",
			"新居浜・東予": "381100",
			"高知・須崎・南国": "390200",
			"安芸・室戸": "390500",
			"足摺・四万十": "390800",
			"福岡市(博多駅周辺・天神周辺)": "400100",
			"太宰府・宗像": "400300",
			"糸島・前原": "400400",
			"久留米・原鶴・筑後川": "400500",
			"柳川・八女・筑後": "400600",
			"北九州": "400800",
			"佐賀・古湯・熊の川": "410200",
			"嬉野・武雄": "410500",
			"太良": "410800",
			"唐津・呼子": "411100",
			"伊万里・有田": "411300",
			"長崎": "420200",
			"平戸・松浦・田平": "420500",
			"佐世保・ハウステンボス": "420600",
			"島原・雲仙・小浜": "420800",
			"五島列島": "421100",
			"壱岐・対馬": "421400",
			"熊本": "430200",
			"玉名・山鹿・菊池": "430300",
			"黒川・杖立・わいた": "430400",
			"阿蘇": "430500",
			"八代・水俣・湯の児": "430800",
			"人吉・球磨": "430900",
			"天草": "431100",
			"大分": "440200",
			"別府": "440500",
			"湯布院": "440600",
			"中津・国東": "440800",
			"日田・天ヶ瀬・耶馬渓": "441100",
			"九重・久住・竹田・長湯": "441400",
			"宮崎・青島・日南": "450200",
			"えびの・都城": "450300",
			"日向・延岡・高千穂": "450500",
			"鹿児島・桜島": "460200",
			"南薩・指宿": "460500",
			"垂水・大隅": "460800",
			"霧島": "461100",
			"北薩・川内": "461400",
			"離島(鹿児島)": "461700",
			"那覇": "470200",
			"沖縄市(コザ)・北谷・宜野湾": "470500",
			"西海岸・東海岸": "470800",
			"南部": "471100",
			"本部・名護・国頭": "471400",
			"離島(沖縄)": "471700"
		};

		// 小エリア
		var smallArea = {
			"ススキノ・大通": "010202",
			"北大・丘珠": "010205",
			"琴似・テイネ": "010208",
			"厚別・白石・豊平": "010211",
			"真駒内": "010214",
			"定山渓": "010302",
			"小樽": "010502",
			"余市・キロロ": "010505",
			"積丹": "010508",
			"ニセコ・倶知安": "010802",
			"ルスツ": "010805",
			"苫小牧": "011102",
			"登別・室蘭": "011105",
			"洞爺": "011108",
			"函館・湯の川": "011402",
			"大沼・長万部・江差": "011405",
			"松前": "011408",
			"稚内": "011702",
			"羽幌": "011705",
			"留萌・増毛": "011708",
			"名寄": "012002",
			"旭川": "012005",
			"層雲峡・天人峡": "012011",
			"美瑛": "012102",
			"富良野": "012105",
			"トマム": "012108",
			"サロマ・紋別": "012302",
			"網走・北見": "012305",
			"斜里・羅臼": "012308",
			"釧路・阿寒": "012602",
			"川湯・屈斜路": "012605",
			"根室": "012608",
			"深川・滝川": "012902",
			"石狩": "012905",
			"夕張・岩見沢": "012908",
			"支笏湖・千歳": "012911",
			"帯広・十勝川": "013202",
			"十勝・サホロ": "013205",
			"日高・えりも": "013302",
			"利尻・礼文": "013502",
			"天売・焼尻": "013505",
			"奥尻": "013508",
			"青森・浅虫・八甲田": "020202",
			"弘前・白神": "020505",
			"大鰐・碇ヶ関・黒石": "020511",
			"十和田湖": "020802",
			"八戸": "020902",
			"三沢": "021102",
			"野辺地": "021105",
			"下北半島": "021108",
			"津軽西海岸": "021402",
			"西津軽": "021405",
			"北津軽・五所川原": "021702",
			"東津軽": "021705",
			"雫石・鶯宿": "030102",
			"盛岡・つなぎ": "030202",
			"安比・八幡平・二戸": "030302",
			"花巻・北上・湯田": "030502",
			"遠野": "030505",
			"釜石・大船渡": "030802",
			"宮古": "030805",
			"久慈": "030808",
			"平泉・一関": "031102",
			"奥州・水沢・江刺": "031105",
			"仙台": "040202",
			"秋保・作並": "040205",
			"名取・岩沼": "040208",
			"松島・塩竈": "040502",
			"黒川": "040505",
			"気仙沼・本吉": "040802",
			"石巻・女川・牡鹿": "040805",
			"鳴子・大崎": "041101",
			"栗原・登米": "041202",
			"白石・蔵王・遠刈田": "041402",
			"角田": "041405",
			"秋田": "050202",
			"田沢湖・角館": "050302",
			"大仙・大曲": "050305",
			"大館": "050502",
			"八幡平・十和田湖": "050505",
			"白神・能代": "050802",
			"鷹巣・阿仁・森吉": "050803",
			"男鹿": "050805",
			"横手・湯沢": "051102",
			"鳥海・本荘・象潟": "051105",
			"山形": "060202",
			"蔵王": "060203",
			"天童": "060205",
			"上山": "060208",
			"尾花沢・銀山": "060502",
			"新庄・最上・肘折": "060505",
			"東根・村山": "060508",
			"寒河江": "060802",
			"月山・朝日": "060805",
			"米沢": "061102",
			"南陽・赤湯・高畠": "061105",
			"長井・置賜": "061108",
			"酒田・遊佐": "061402",
			"鶴岡・湯野浜・あつみ": "061405",
			"福島・飯坂・土湯・高湯": "070202",
			"二本松・岳・大玉": "070205",
			"相馬": "071102",
			"南相馬・原町": "071105",
			"裏磐梯・五色沼・磐梯高原": "071502",
			"猪苗代・表磐梯": "071602",
			"猪苗代(会津)": "071605",
			"喜多方・熱塩・山都": "071705",
			"柳津・西会津": "071708",
			"会津若松・東山・芦ノ牧": "071712",
			"会津高原・湯野上・南会津": "072005",
			"桧枝岐・尾瀬・奥会津": "072008",
			"郡山・磐梯熱海・須賀川": "072502",
			"田村・三春": "072505",
			"白河・羽鳥湖": "072802",
			"棚倉・東白川": "072805",
			"双葉": "073202",
			"いわき・平": "073205",
			"いわき・湯本": "073208",
			"いわき・小名浜": "073212",
			"宇都宮": "080202",
			"さくら": "080204",
			"那須・板室": "080502",
			"塩原": "080602",
			"矢板・大田原": "080605",
			"日光・霧降高原": "080802",
			"奥日光・中禅寺湖": "080805",
			"今市": "080811",
			"鬼怒川・川治": "080902",
			"湯西川・川俣": "080905",
			"佐野・足利": "081102",
			"小山": "081105",
			"栃木": "081108",
			"鹿沼・足尾": "081111",
			"馬頭・南那須": "081602",
			"益子・茂木": "081605",
			"真岡": "081608",
			"四万・吾妻・川原湯": "090102",
			"草津・尻焼・花敷": "090205",
			"万座・嬬恋・北軽井沢": "090302",
			"水上・月夜野・猿ヶ京・法師": "090402",
			"玉原・沼田・老神": "090505",
			"尾瀬・片品": "090508",
			"赤城": "090802",
			"桐生・渡良瀬・梨木": "090805",
			"渋川・伊香保": "091102",
			"館林": "091402",
			"太田": "091405",
			"伊勢崎": "091408",
			"前橋": "091411",
			"高崎・榛名": "091414",
			"藤岡・富岡": "092002",
			"碓氷・磯部": "092008",
			"多野": "092011",
			"北茨城": "100202",
			"日立": "100203",
			"久慈・袋田": "100205",
			"水戸": "100502",
			"笠間": "100508",
			"下館・真壁・桜川": "100602",
			"結城・古河": "100605",
			"つくば": "100802",
			"牛久": "100805",
			"霞ヶ浦・土浦": "101102",
			"潮来": "101105",
			"鹿島": "101402",
			"大洗・ひたちなか": "101405",
			"鉾田市": "101407",
			"川越・所沢": "110202",
			"さいたま": "110205",
			"上尾": "110208",
			"川口・戸田": "110211",
			"秩父": "110502",
			"長瀞": "110505",
			"飯能": "110802",
			"東松山・森林公園・小川町": "110805",
			"久喜": "111102",
			"行田": "111105",
			"本庄": "111402",
			"熊谷・深谷": "111405",
			"草加": "111702",
			"越谷": "111705",
			"千葉": "120202",
			"市原": "120205",
			"幕張": "120503",
			"船橋": "120505",
			"舞浜・浦安": "120508",
			"成田": "120802",
			"印西": "120805",
			"野田": "121105",
			"松戸・柏": "121108",
			"佐倉": "121402",
			"八街": "121405",
			"九十九里": "121702",
			"銚子": "121705",
			"茂原": "121708",
			"木更津・君津": "122002",
			"富津・鋸南": "122005",
			"勝浦・御宿": "122302",
			"鴨川": "122308",
			"富浦・白浜・千倉": "122602",
			"館山": "122605",
			"銀座・晴海・築地": "136202",
			"東京・神田・日本橋": "136205",
			"お茶の水・湯島・本郷": "136502",
			"九段・四谷・後楽園周辺": "136505",
			"大塚・文京": "136508",
			"六本木・麻布・虎ノ門": "136802",
			"赤坂・溜池": "136805",
			"青山": "136808",
			"白金": "136812",
			"お台場・汐留・竹芝": "137102",
			"品川・高輪・天王洲": "137105",
			"新橋・芝": "137108",
			"上野(東京)": "137402",
			"浅草": "137405",
			"墨田・両国": "137408",
			"荒川・足立": "137412",
			"池袋": "137702",
			"板橋・赤羽": "137705",
			"新宿": "138002",
			"中野・杉並": "138005",
			"吉祥寺・三鷹・武蔵野": "138008",
			"渋谷": "138302",
			"恵比寿・目黒・五反田": "138305",
			"世田谷": "138308",
			"蒲田・大森・羽田周辺": "138602",
			"葛飾・江戸川": "138902",
			"江東": "138905",
			"調布・府中": "139202",
			"立川・八王子・多摩": "139205",
			"町田": "139208",
			"福生・東村山・小金井": "139212",
			"青梅": "139502",
			"奥多摩": "139505",
			"伊豆七島・小笠原": "139802",
			"川崎": "140102",
			"横浜・ベイエリア": "140202",
			"戸塚・港南": "140208",
			"新横浜・青葉": "140211",
			"横須賀": "140502",
			"三浦": "140505",
			"逗子": "140802",
			"鎌倉": "140805",
			"藤沢・茅ヶ崎": "140808",
			"平塚・大磯": "140811",
			"海老名・大和": "141102",
			"厚木・伊勢原": "141105",
			"相模原": "141402",
			"箱根": "141602",
			"小田原": "141705",
			"湯河原・真鶴": "141708",
			"秦野": "142002",
			"南足柄・上郡": "142005",
			"丹沢": "142008",
			"湯村(山梨)": "150102",
			"甲府": "150105",
			"石和・勝沼・塩山": "150205",
			"大月・都留": "150302",
			"山中湖・忍野": "150502",
			"河口湖・西湖・富士吉田": "150602",
			"精進湖・本栖湖": "150605",
			"下部・身延・早川": "150802",
			"南アルプス・芦安・白根": "151102",
			"白州・武川": "151105",
			"小淵沢": "151402",
			"清里・大泉・須玉": "151405",
			"韮崎": "151408",
			"長野・飯綱・戸隠": "160202",
			"小布施": "160208",
			"秋山郷": "160502",
			"木島平": "160511",
			"野沢温泉": "160514",
			"北志賀・竜王・奥志賀": "160602",
			"湯田中・渋・志賀高原": "160605",
			"上田・別所・鹿教湯": "160802",
			"須坂・菅平・峰の原": "160902",
			"戸倉上山田・千曲": "161102",
			"軽井沢": "161402",
			"佐久・小諸": "161405",
			"野辺山・小海": "161602",
			"原村・富士見": "161605",
			"蓼科・白樺湖・車山": "161802",
			"女神湖・姫木平・東白樺湖": "161808",
			"上諏訪・下諏訪・岡谷・霧ヶ峰・美ヶ原高原": "161902",
			"白馬村": "162002",
			"栂池・小谷": "162005",
			"松本駅周辺": "162202",
			"浅間・美ヶ原": "162205",
			"塩尻・その他": "162208",
			"上高地": "162302",
			"乗鞍": "162303",
			"白骨": "162305",
			"野麦峠": "162308",
			"大町": "162402",
			"安曇野・穂高": "162405",
			"高遠・伊那・辰野": "162602",
			"駒ヶ根": "162608",
			"飯田・天竜峡": "162612",
			"阿智・昼神・下伊那": "162615",
			"奈良井・薮原": "163202",
			"木曽・御岳": "163205",
			"南木曽・妻籠・馬籠(一部岐阜県)": "163208",
			"斑尾・飯山": "163502",
			"信濃町・黒姫": "163505",
			"新潟駅周辺": "170208",
			"月岡・阿賀野川・五頭・麒麟山": "170212",
			"瀬波・村上": "170502",
			"岩船・胎内": "170505",
			"燕・三条・岩室・弥彦": "170602",
			"長岡・寺泊": "171102",
			"柏崎": "171105",
			"魚沼(湯之谷・奥只見)": "171108",
			"十日町・津南・松之山": "171302",
			"南魚沼(塩沢・六日町)": "171305",
			"湯沢": "171408",
			"苗場・かぐら": "171411",
			"上越・妙高・鵜の浜": "171702",
			"糸魚川": "171705",
			"佐渡": "172002",
			"宇奈月・黒部": "180202",
			"滑川・魚津": "180205",
			"立山": "180208",
			"富山・八尾": "180502",
			"氷見・高岡": "180802",
			"小矢部・砺波": "180805",
			"輪島・能登": "191102",
			"和倉・七尾": "191402",
			"羽咋・かほく": "192001",
			"金沢・湯涌": "192002",
			"白山": "192302",
			"粟津・小松・辰口": "192602",
			"加賀": "192605",
			"あわら": "200202",
			"三国": "200205",
			"福井・鯖江": "200302",
			"奥越前・池田": "200305",
			"越前": "200402",
			"敦賀・若狭": "200502",
			"熱海": "210202",
			"南熱海・多賀・網代": "210205",
			"伊東・宇佐美・川奈": "210402",
			"伊豆高原": "210502",
			"大川・北川・熱川": "210802",
			"片瀬・白田": "210803",
			"稲取": "210805",
			"河津・今井浜": "210808",
			"下田・白浜": "211002",
			"弓ヶ浜": "211105",
			"下賀茂": "211108",
			"石廊崎": "211111",
			"妻良・伊浜": "211114",
			"三津・大瀬": "211401",
			"戸田・土肥": "211402",
			"堂ヶ島・宇久須": "211405",
			"松崎・雲見": "211408",
			"伊豆長岡・大仁・韮山": "211702",
			"修善寺・天城湯ヶ島・中伊豆": "211705",
			"沼津": "212002",
			"三島": "212005",
			"御殿場": "212302",
			"裾野": "212305",
			"富士・富士宮・朝霧": "212308",
			"静岡": "212602",
			"清水": "212605",
			"焼津": "212902",
			"御前崎・牧之原": "212905",
			"藤枝": "212908",
			"島田": "212911",
			"大井川・寸又峡・川根": "213202",
			"浜名湖": "213508",
			"浜松・浜北": "213509",
			"天竜": "213511",
			"掛川": "212910",
			"磐田・袋井": "212912",
			"飛騨古川・荘川・清見": "220202",
			"飛騨高山・丹生川": "220205",
			"奥飛騨": "220302",
			"下呂・南飛騨": "220502",
			"郡上八幡・白鳥・高鷲・明宝": "220602",
			"美濃・関": "220605",
			"恵那・中津川・瑞浪": "220802",
			"多治見・土岐・加茂・可児": "220805",
			"岐阜・羽島": "221102",
			"大垣・養老・揖斐": "221105",
			"白川郷": "221502",
			"名古屋駅・名古屋城周辺": "230202",
			"栄・伏見・丸の内・ナゴヤドーム周辺": "230203",
			"金山・大須・笠寺以南": "230204",
			"奥三河・新城・湯谷": "230502",
			"西三河": "230505",
			"豊橋・豊川": "230508",
			"渥美半島・伊良湖": "230511",
			"蒲郡・吉良・幡豆": "230514",
			"稲沢・津島": "230802",
			"犬山・小牧・一宮": "230805",
			"瀬戸・日進": "230808",
			"知多半島": "231102",
			"日間賀島": "231105",
			"篠島": "231108",
			"桑名・長島・四日市・湯の山": "240202",
			"鈴鹿・亀山": "240208",
			"上野(三重)": "240502",
			"阿山・伊賀": "240505",
			"名張・赤目四十八滝・青山": "240508",
			"津": "240802",
			"久居・榊原": "240805",
			"白山・美杉": "240808",
			"松阪": "240811",
			"伊勢・二見": "241002",
			"鳥羽": "241105",
			"南鳥羽": "241302",
			"志摩(浜島・阿児・磯部)": "241402",
			"南勢": "241405",
			"志摩(志摩・大王)": "241408",
			"奥伊勢": "241705",
			"紀伊長島": "242002",
			"尾鷲・熊野": "242005",
			"大津": "250202",
			"彦根": "250502",
			"長浜": "250505",
			"甲賀・信楽": "250802",
			"高島": "251102",
			"草津・守山": "251402",
			"近江八幡": "251405",
			"雄琴・堅田": "251702",
			"二条城・御所周辺": "260202",
			"河原町周辺": "260205",
			"烏丸通・四条通": "260208",
			"京都駅前": "260502",
			"京都駅近郊・山科": "260505",
			"大原・鞍馬・貴船": "261405",
			"祇園・東山": "262302",
			"北山・宝ヶ池": "262305",
			"岡崎・北白川": "262308",
			"長岡京・山崎": "263302",
			"宇治・京田辺": "263306",
			"相楽": "263309",
			"亀岡・湯の花・丹波": "263902",
			"美山": "263905",
			"天橋立・宮津": "264202",
			"舞鶴": "264205",
			"丹後": "264505",
			"久美浜・小天橋": "264508",
			"綾部・福知山": "264802",
			"吹田・豊中・伊丹空港周辺": "271402",
			"池田・箕面・能勢": "271405",
			"茨木・高槻・枚方": "271408",
			"新大阪・江坂・十三・塚本": "271702",
			"梅田・中之島・福島・天満": "272002",
			"淀屋橋・北浜・本町": "272005",
			"ユニバーサルシティ": "272302",
			"天保山・南港・住之江": "272305",
			"京橋・鶴見緑地": "272602",
			"谷町・大阪城公園": "272605",
			"心斎橋・なんば・四ツ橋": "272902",
			"上本町・天王寺・阿倍野": "273202",
			"鶴橋・平野": "273205",
			"住吉・長居公園": "273208",
			"東大阪・八尾": "273502",
			"寝屋川・守口・門真・四條畷": "273505",
			"松原・藤井寺": "273508",
			"富田林・河内長野": "273511",
			"堺・泉大津": "273802",
			"岸和田・貝塚": "273805",
			"関空・泉佐野・岬": "273808",
			"有馬": "280201",
			"六甲・北神": "280202",
			"六甲アイランド": "280203",
			"北野・新神戸": "280204",
			"三宮・ポートアイランド": "280205",
			"元町・メリケンパーク": "280208",
			"ハーバーランド・神戸・新開地": "280211",
			"須磨・舞子・明石": "280214",
			"尼崎・西宮・宝塚・武田尾": "280502",
			"三田・篠山": "280505",
			"姫路・加古川": "280802",
			"赤穂・相生・たつの": "280803",
			"三木・西脇・宍粟・佐用・兵庫中部": "280805",
			"城崎": "281102",
			"竹野": "281105",
			"豊岡・出石": "281108",
			"香住": "281202",
			"浜坂": "281205",
			"湯村(兵庫)": "281208",
			"ハチ北高原・おじろ": "281405",
			"神鍋・江原": "281408",
			"ハチ高原・養父・和田山": "281411",
			"淡路": "281702",
			"洲本": "281704",
			"南あわじ": "281705",
			"奈良・大和郡山": "290202",
			"斑鳩・天理": "290205",
			"生駒・信貴山": "290208",
			"飛鳥・橿原・三輪": "290502",
			"室生・宇陀": "290505",
			"吉野・天川・洞川": "290802",
			"奥吉野・十津川": "290805",
			"和歌山市・加太・和歌浦": "300202",
			"高野山・橋本": "300302",
			"有田": "300502",
			"御坊・日高": "300505",
			"龍神": "300801",
			"白浜・南部・田辺": "300802",
			"中辺路・大塔": "301002",
			"本宮": "301005",
			"新宮": "301008",
			"串本・すさみ": "301102",
			"那智勝浦・太地": "301105",
			"鳥取": "310202",
			"岩美": "310205",
			"八頭": "310208",
			"浜村・鹿野": "310211",
			"はわい・東郷": "310502",
			"三朝": "310505",
			"倉吉・関金": "310508",
			"米子・皆生・境港": "310802",
			"大山": "310805",
			"松江・美保関・玉造": "320102",
			"安来": "320105",
			"奥出雲・雲南": "320111",
			"出雲・大社・湯の川": "320408",
			"大田・温泉津": "320411",
			"浜田・江津・有福": "320505",
			"津和野・益田": "320508",
			"島前": "320802",
			"島後": "320805",
			"岡山・玉野": "330202",
			"牛窓・日生": "330205",
			"倉敷・児島・鷲羽山": "330502",
			"総社・井原・笠岡": "330505",
			"湯原・蒜山高原": "330802",
			"津山・奥津": "330805",
			"美作・湯郷": "330808",
			"高梁・川上・成羽": "331102",
			"新見・阿哲": "331105",
			"福山・尾道・しまなみ": "340302",
			"庄原・帝釈峡・神石高原": "340602",
			"三次": "340605",
			"芸北": "340608",
			"広島": "340902",
			"宮島・廿日市": "340905",
			"三原・竹原・東広島": "340305",
			"呉・江田島": "340308",
			"岩国": "350302",
			"柳井・周防大島": "350305",
			"周南・湯野": "350308",
			"山口・湯田・防府": "350602",
			"秋芳": "350605",
			"萩": "351002",
			"長門": "351005",
			"宇部": "351302",
			"下関・長府・川棚": "351305",
			"徳島": "360202",
			"鳴門": "360205",
			"阿南・日和佐": "360502",
			"宍喰・海南・牟岐": "360505",
			"大歩危・祖谷・池田": "360802",
			"脇町・阿波・美馬": "360805",
			"剣山・那賀": "360808",
			"高松・屋島": "370202",
			"さぬき市・津田": "370208",
			"引田・東かがわ": "370211",
			"琴平・善通寺": "370502",
			"観音寺": "370505",
			"丸亀": "370507",
			"坂出・宇多津": "370508",
			"小豆島": "370802",
			"松山": "380202",
			"道後": "380205",
			"伊予": "380208",
			"今治": "380502",
			"しまなみ海道": "380505",
			"内子・大洲・佐田岬": "380802",
			"宇和島": "380805",
			"西条・東予・石鎚山": "381102",
			"新居浜・伊予三島": "381105",
			"高知・春野": "390202",
			"吾川・いの": "390203",
			"南国・香美": "390205",
			"須崎・土佐・仁淀川": "390208",
			"安芸": "390502",
			"室戸": "390505",
			"中村・四万十・大方": "390802",
			"足摺・土佐清水・宿毛": "390805",
			"福岡市(博多駅周辺・香椎・海の中道)": "400102",
			"福岡市(天神周辺・百道浜)": "400105",
			"太宰府・二日市": "400302",
			"宗像・玄海": "400305",
			"若宮・遠賀・直方": "400308",
			"糸島・前原": "400402",
			"久留米": "400502",
			"原鶴・筑後川": "400505",
			"柳川・八女・筑後": "400602",
			"北九州市(小倉・八幡・門司)": "400802",
			"苅田・行橋・豊前": "400805",
			"飯塚・田川": "400808",
			"佐賀・古湯・熊の川": "410202",
			"鳥栖・神埼": "410205",
			"嬉野": "410502",
			"武雄": "410505",
			"太良": "410802",
			"唐津・呼子・玄海": "411102",
			"伊万里・有田": "411302",
			"長崎": "420202",
			"諫早・大村": "420205",
			"平戸": "420505",
			"松浦・田平": "420508",
			"佐世保": "420602",
			"ハウステンボス": "420603",
			"西海・大島": "420605",
			"島原": "420802",
			"雲仙・小浜": "420805",
			"上五島": "421102",
			"下五島": "421105",
			"壱岐": "421402",
			"対馬": "421405",
			"熊本": "430202",
			"宇土・益城": "430214",
			"山鹿・平山・植木": "430302",
			"荒尾・玉名": "430305",
			"菊池": "430308",
			"杖立・わいた": "430402",
			"黒川・小田・田の原・満願寺": "430405",
			"南阿蘇": "430502",
			"阿蘇・内牧": "430505",
			"八代・水俣・湯の児": "430802",
			"人吉・球磨": "430902",
			"天草上島・松島": "431102",
			"天草下島・下田": "431105",
			"大分": "440202",
			"臼杵・佐伯": "440205",
			"大野": "440208",
			"別府": "440502",
			"湯布院・湯平": "440602",
			"中津・耶馬渓・宇佐": "440802",
			"国東・杵築": "440805",
			"日田・天ヶ瀬": "441102",
			"九重": "441402",
			"久住・長湯・竹田": "441405",
			"西都": "450201",
			"宮崎・青島・シーガイア": "450202",
			"日南海岸": "450205",
			"えびの・都城": "450302",
			"日向": "450502",
			"高千穂": "450505",
			"延岡": "450508",
			"鹿児島・桜島": "460202",
			"伊集院・東市来・吹上浜": "460502",
			"指宿": "460505",
			"知覧・南さつま": "460508",
			"垂水・大隅": "460802",
			"霧島": "461102",
			"出水・阿久根": "461402",
			"大口": "461405",
			"川内・いちき串木野": "461408",
			"甑島列島": "461702",
			"種子島": "461705",
			"屋久島": "461708",
			"大隈諸島": "461711",
			"吐喝喇列島": "461714",
			"奄美大島": "461717",
			"喜界島・徳之島・沖永良部島": "461720",
			"与論島": "461723",
			"那覇": "470202",
			"首里": "470205",
			"沖縄市(コザ)": "470502",
			"北谷・嘉手納": "470503",
			"宜野湾": "470511",
			"西海岸": "470802",
			"東海岸": "470805",
			"糸満": "471102",
			"島尻": "471105",
			"本部・伊江島・水納島": "471402",
			"名護": "471405",
			"国頭": "471408",
			"石垣島": "471702",
			"西表島・小浜島・竹富島": "471705",
			"宮古島": "471708",
			"与那国島": "471711",
			"久米島": "471714",
			"伊平屋島・伊是名島": "471717",
			"慶良間諸島": "471720",
			"大東島": "471723"
		};

		// 最初に画面を開いた時にも大エリア・小エリアを検索する
		bigAreaSearch(cityCode, bigArea);
		
		// 都道府県を変更した場合
		$('#prefSelect').change(function () {
			bigAreaSearch(cityCode, bigArea);
			return false;
		});

		return event;
	});

	// 小エリア検索関数
	function smallAreaSearch(bigArea) {
		var smallAreaSpace = kintone.app.record.getSpaceElement('smallArea');
		var bigAreaValue = $("#bigAreaSelect option:selected").text();
		var prefValue = $("#prefSelect option:selected").text();
		// 大エリアで被っているキーがあったので合わせる
		if (bigAreaValue === "離島") {
			if (prefValue === "鹿児島県") {
				bigAreaValue = "離島(鹿児島)";
			} else {
				bigAreaValue = "離島(沖縄)";
			}
		}
		kintone.proxy('http://jws.jalan.net/APICommon/AreaSearch/V1/?key=aqr157553298a0&l_area=' + bigArea[bigAreaValue], 'GET', {}, {}).then(function (argsSmall) {
			var xmlSmall = $.parseXML(argsSmall[0]);
			var lengthSmall = xmlSmall.children[0].children[1].children[0].children[0].children[0].getElementsByTagName("SmallArea").length;
			var opsSmall = "";
			for (var j = 0; j < lengthSmall; j++) {
				opsSmall += "<option>" + xmlSmall.children[0].children[1].children[0].children[0].children[0].getElementsByTagName("SmallArea").item(j).attributes.item(1).nodeValue + "</option>";
			}
			$(smallAreaSpace).html("");
			$(smallAreaSpace).append('<div class="kintoneplugin-select-outer"><div class="kintoneplugin-select"><select id="smallAreaSelect">' + opsSmall + '</select></div></div>');

		});
	}

	// 小エリアでも被っているキーがあったので合わせる
	function changeSmallAreaValue(smallAreaValue) {
		if (smallAreaValue === "上野") {
			var prefVal = $("#prefSelect option:selected").text();
			if (prefVal === "東京都") {
				smallAreaValue = "上野(東京)";
			} else {
				smallAreaValue = "上野(三重)";
			}
		} else if (smallAreaValue === "湯村") {
			var prefVal = $("#prefSelect option:selected").text();
			if (prefVal === "山梨県") {
				smallAreaValue = "湯村(山梨)";
			} else {
				smallAreaValue = "湯村(兵庫)";
			}
		}
		return smallAreaValue;
	}

	// 大エリア検索関数
	function bigAreaSearch(cityCode, bigArea) {
		var pref = $("#prefSelect option:selected").text();
		kintone.proxy('http://jws.jalan.net/APICommon/AreaSearch/V1/?key=aqr157553298a0&pref=' + cityCode[pref], 'GET', {}, {}).then(function (args) {
			var xml = $.parseXML(args[0]);
			var length = xml.children[0].children[1].children[0].children[0].getElementsByTagName("LargeArea").length;
			var ops = "";
			for (var i = 0; i < length; i++) {
				ops += "<option>" + xml.children[0].children[1].children[0].children[0].getElementsByTagName('LargeArea').item(i).attributes.item(1).nodeValue + "</option>";
			}
			var bigAreaSpace = kintone.app.record.getSpaceElement('bigArea');
			$(bigAreaSpace).html("");
			$(bigAreaSpace).append('<div class="kintoneplugin-select-outer"><div class="kintoneplugin-select"><select id="bigAreaSelect">' + ops + '</select></div></div>');

			$('#bigAreaSelect').change(function () {
				smallAreaSearch(bigArea);
			});
			smallAreaSearch(bigArea);
		});
	}

})();

CSS

/* コメントと変更履歴消す */
.gaia-argoui-app-show-sidebar{
	display:none;
}

#user-js-sort {
	margin-left: 15px;
}

.urlButton {
	position: relative;
	border-radius: 4px;
	color: #fff;
	line-height: 50px;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: none;
	transition: none;
	text-shadow: 0px 1px 0px #f56778;
}
.urlButton,
.urlButton:hover {
	border-bottom: 4px solid #cb5462;
	background-color: #f56778;
	background-image: -webkit-linear-gradient(top, #f997b0, #f56778);
	background-image: linear-gradient(to bottom, #f997b0, #f56778);
	box-shadow: inset 1px 1px 0 #fbc1d0;
}
.urlButton::before,
.urlButton::after {
	bottom: -1px;
	left: -1px;
	width: 200px;
	height: 50px;
	border: 1px solid #ee8090;
	border-bottom: 1px solid #b84d5a;
	border-radius: 4px;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: none;
	transition: none;
}
.urlButton::before {
	height: 48px;
	bottom: -4px;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 1px 1px 0px #bfbfbf;
}
.urlButton:hover {
	background: #f56778;
	background-image: -webkit-linear-gradient(top, #f56778, #f997b0);
	background-image: linear-gradient(to bottom, #f56778, #f997b0);
	color: #913944;
	text-shadow: 0px 1px 0px #f9a0ad;
}
.urlButton:active {
	bottom: -4px;
	margin-bottom: 4px;
	border: none;
	box-shadow: 1px 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, .3);
}
.urlButton:active::before,
.urlButton:active::after {
	border: none;
	box-shadow: none;
}

#onsenSearchButton,#hotelSearchButton {
	width: 150px;
	margin-left: 15px;
	background-color:#6fba26;
	padding:10px;
	position:relative;
	font-family: 'Open Sans', sans-serif;
	font-size:12px;
	text-decoration:none;
	color:#fff;
	background-image: linear-gradient(bottom, rgb(100,170,30) 0%, rgb(129,212,51) 100%);
	box-shadow: inset 0px 1px 0px #b2f17f, 0px 6px 0px #3d6f0d;
	border-radius: 5px;
}

#onsenSearchButton:active,#hotelSearchButton:active {
	top:7px;
	background-image: linear-gradient(bottom, rgb(100,170,30) 100%, rgb(129,212,51) 0%);
	box-shadow: inset 0px 1px 0px #b2f17f, inset 0px -1px 0px #3d6f0d;
	color: #156785;
	text-shadow: 0px 1px 1px rgba(255,255,255,0.3);
	background: rgb(44,160,202);
}
#onsenSearchButton::before,#hotelSearchButton::before {
	background-color:#072239;
	content:"";
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	padding-left:2px;
	padding-right:2px;
	padding-bottom:4px;
	left:-2px;
	top:5px;
	z-index:-1;
	border-radius: 6px;
	box-shadow: 0px 1px 0px #fff;
}

#onsenSearchButton:active::before,#hotelSearchButton:active::before {
	top:-2px;
}

プログラム解説

概ね以下の流れでプログラムが組まれています。

  1. 都道府県 → 大エリア → 小エリアをそれぞれじゃらんエリアAPIで取得/表示
  2. 選択した小エリアで温泉をじゃらん温泉検索APIで取得/表示
  3. 選択した小エリア・宿泊開始日・宿泊日数で宿泊プランをじゃらん宿泊プランAPIで取得/表示

ありがとうじゃらん

特別難しいことはしていないと思いますが、
なぜか「取得できた結果の形式が、その温泉やそのプランによって異なる場合がある」辺りが辛かった点ですね。

苦労した点は大エリアと小エリアの連想配列をすべて手打ちしたところです(キリッ

これ以外にも取得できる情報や絞り込める検索条件等ありますので、
kintoneで温泉に行きたい人はぜひ利用してみてください。

※最初からじゃらんに行けばいいは禁止

トヨクモのkintone連携サービスは30日間無料でお試しが可能です。自動で課金が開始されることはございませんので、「やっぱり必要ないな」と感じた時も、特に解約等のご連絡は不要です。以下のボタンよりお気軽にお試しくださいませ。

最新情報をチェックしよう!