Beds24→Airbnb で1室だけ「全日予約不可+定価」になる原因と直し方(基本人数と料金ルールの人数不一致)
Beds24 では空室・価格正常なのに Airbnb で1室だけ予約不可になる症状を、ホスト画面カレンダーの『定価のまま』指紋で切り分け、Airbnb 特定コンテンツの基本人数が料金ルールの人数を超えている原因を確定し、戻して『アップデート』で再送するまでの手順。エラー文言は存在しないので探さない。
約5.8万トークンの節約 (API料金換算で約86円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「Beds24→Airbnb で1室だけ「全日予約不可+定価」になる原因と直し方(基本人数と料金ルールの人数不一致)」は、業務自動化カテゴリのAI指示書(MDファイル)です。Beds24 では空室・価格正常なのに Airbnb で1室だけ予約不可になる症状を、ホスト画面カレンダーの『定価のまま』指紋で切り分け、Airbnb 特定コンテンツの基本人数が料金ルールの人数を超えている原因を確定し、戻して『アップデート』で再送するまでの手順。エラー文言は存在しないので探さない。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.8万トークン(API料金換算で約86円)・96%のトークンを節約できます。
- カテゴリ
- 業務自動化
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約6万トークン
- この巻物使用時
- 約2,500トークン
- 節約量
- 約5.8万トークン (約86円)
- 更新日
- 2026-09-15
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/beds24-airbnb-1/raw を読み込んで、この指示書どおりに実装して"
中身
Beds24→Airbnb で1室だけ「全日予約不可+定価」になる原因と直し方(Guests included と料金ルールの人数不一致)
対象: Beds24 をチャネルマネージャにして Airbnb(複数ユニットの親リスティング配下を含む)へ在庫・価格を送っている宿。 症状: Beds24 では空室・価格も正常なのに、Airbnb では特定の1室だけ「予約不可」。Airbnb 側にエラーは一切出ない。
1. まず「予約不可」と「定価のまま」を切り分ける(ホスト画面のカレンダーで)
Airbnb ホスト画面 https://www.airbnb.jp/multicalendar/<そのユニットの listing id> を開き、問題の部屋と正常な部屋2つ(うち1つは満室の部屋が望ましい)を比べる。
| 見え方 | 意味 |
|---|---|
| 「予約不可」だが日別価格は実勢(例 ¥9,200 / ¥1.1万 とばらつく) | 実予約や手動ブロック。正常 |
| 「予約不可」かつ全日が同じ丸い額(例 ¥3万)で、その額が Beds24 の「定価(Default Daily Price / Rack Rate)」と一致 | Beds24 がその部屋の Airbnb 向け価格を算出できず、定価+予約不可を送っている。本手順の対象 |
満室の部屋が対照群として効く: 「予約不可でも実勢価格を保つ」ことが分かるので、「定価で固まっている」方だけが異常だと言い切れる。
日付順に並べると、実勢価格が最後に出た日の翌日から定価が始まる = 断絶の日付。その日に Beds24 の操作ログ(control3.php?pagetype=reportactivity)で
その部屋だけに入った変更を探す。
2. 原因: Airbnb 特定コンテンツの「基本人数」が料金ルールの「〜名まで」を超えている
Beds24 公式 wiki(co-reception.com/wiki › Airbnb)の2文が根拠:
- "If you do not have daily prices or rates in which 'Airbnb' is activated... the 'Default Daily Price' (Rack Rate) will be used up to a year in advance."
- "create a Rate with Room price - 50 - Upto 2 people. Then go to ... SPECIFIC CONTENT > Pricing, set Guests included = 2, Extra Person Price = 15"
つまり Airbnb 特定コンテンツ(設定 > すべてのOTA > Airbnb > 特定コンテンツ、pagetype=syncroniserairbnbroom&id=<roomId>)の
「基本人数(Guests included)」は、その部屋の Airbnb 向け料金ルール(priceRules の priceFor.upToPersonValue)以下でなければならない。
超えると Beds24 は「N名込みの価格」を作れず価格なし扱いになり、同画面の「価格なしの場合=予約不可にする」に従って全日予約不可+定価を送る。
確認手順(読むだけ):
- 問題の部屋と正常な部屋の特定コンテンツ画面のフォーム値を比べる(select の選択値が要る。テキスト抽出では出ないので
Playwright で
selectのvalue/ 選択 option を読む)。差が「基本人数」と「1名あたりの追加料金」だけなら本件。 - Beds24 API v2
GET /properties?id=<propertyId>&includeAllRooms=true&includePriceRules=trueで各部屋の Airbnb ルールのpriceFor: {type:"upToPerson", upToPersonValue:N}を読む(includePriceRules=trueを付けないと priceRules キー自体が返らない)。 - 「基本人数 > upToPersonValue」の部屋が症状の部屋と一致すれば確定。
Airbnb 側で見ても分からない理由: マッピング表の「連動ステータスを確認」は Connected、ダッシュボードの「エラー」枠は「警告が見つかりません」、 Airbnb ホスト側は「公開・連携済み」。Beds24 にチャネルログ画面は無く、API にもチャネル情報は無い。エラー文言は存在しないので探しに行かない。
3. 直し方(2手)
- 特定コンテンツの「基本人数」を、料金ルールの人数以下(普通は空欄=ルールの値を使う)に戻す。同じ画面の「1名あたりの追加料金」も他室と揃える。
- 設定を戻しただけでは価格は再送されない。 マッピング表(
pagetype=syncroniserairbnbmap)のその部屋の行で 「アップデート」 を1回押す (wiki: "To immediately push them through click 'Update Airbnb'")。Success が出てから Airbnb ホスト画面に反映するまで 10〜15分。 押さないと次に基準価格が書き換わるまで(夜間の価格ジョブ等)反映しない。
同じ行に「切断する」(チャネル連携の解除)が並んでいる。自動化で押すなら表示テキストの完全一致だけで要素を選び、 「切断」「インポート」を含む要素は例外で止める。部分一致(includes)で選ばない。
4. 検証(実表示で)
- ホスト画面カレンダー: 対象月の「定価の日数」が 0 になり、日別価格が正常な部屋と同じ並びになる。
- 公開ページ(未ログイン)を2つの日程で開き、その部屋が「予約可」側の一覧に価格付きで出る。
- 過去日は「予約不可」表示のままなので、判定は価格が実勢か定価かで行う(過去日の「予約不可」を異常と読まない)。
5. 再発防止
- 「基本人数」を変えるなら料金ルールの
upToPersonと同時に、かつ配下の全ユニットを同時に変える。1室だけの試験は、その1室を売れなくする。 - 同期タイプが Limited の場合、wiki の "Limited Sync means only the calendar and prices are updated" のとおり content(追加人数料金など)は自動では送られない。 content を変えたら「アップデート」を押す。
- 変更の翌日にホスト画面カレンダーを読み、「実勢価格か定価か」を見る(公開ページだけでは「予約不可」の理由が分からない)。
よくある質問
+「Beds24→Airbnb で1室だけ「全日予約不可+定価」になる原因と直し方(基本人数と料金ルールの人数不一致)」とは何ですか?
Beds24 では空室・価格正常なのに Airbnb で1室だけ予約不可になる症状を、ホスト画面カレンダーの『定価のまま』指紋で切り分け、Airbnb 特定コンテンツの基本人数が料金ルールの人数を超えている原因を確定し、戻して『アップデート』で再送するまでの手順。エラー文言は存在しないので探さない。
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約6万トークンかかりますが、この巻物を使えば約2,500トークンで済みます。差し引き約5.8万トークン(API料金換算で約86円)・96%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
Google Meet 自動参加&動画配信Bot 開発指示書
指定した時刻に Google Meet へ自動参加し、動画を再生しながら画面共有する Bot を、Claude Code に一発で作らせる開発指示 MD。朝会の定例動画配信・ウェビナーの自動放送に。
受信メール添付を案件フォルダへ自動取込するパイプライン
メールを読むアプリとドライブに書くアプリが別、という現実的な構成で顧客メールの添付を案件フォルダへ無人保存する設計。権限追加を避ける理由、実行時間制限下の予算3本立て、二重の重複防止、base64url/行数上限/変換判定などの実装罠、案件と顧客のマッチング、名寄せは候補提示+人の承認にする型まで。
Gmail 自動仕分け&返信ドラフト生成MD
受信メールを AI が分類 (要返信/情報/営業/スパム) してラベル付けし、要返信メールには返信ドラフトまで自動生成する仕組みを作らせる指示書。DWD (ドメイン全体委任) 設定手順込み。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア