Developer Hub
これは自動生成された翻訳です。

複数部屋タイプの予約

旅行者が1つの旅程で最大8種類の客室または料金タイプを予約できるようにします

ご注意:マルチルームタイプは、Rapid Lodging APIの新しい機能であり、現在は一部のベータパートナーのみがご利用いただけます。この機能にご興味をお持ちの方は、アカウントマネージャー までご連絡ください。

概要

Rapidのパートナー様は、Expedia Group's industry-leadingが取り扱う宿泊施設の在庫の中から、さまざまな客室タイプや料金プランをご利用いただけます。「マルチルームタイプ」機能により、旅行者は1つの旅程で最大8つの客室タイプまたは料金タイプを予約できるようになり、同行するグループの予約がより簡単になります。これにより、予約およびサービス提供のプロセスが簡素化されます。例えば、朝食付きのキングルームを1室と、朝食なしのツインルームを1室予約したい旅行者などです。

仕組み

新しい「links.price_check_multi_room」パラメータを使用すると、異なる収容人数で複数の利用可能状況の照会を行うことができます。

客室タイプごとに実行されるすべての「空室状況」検索において、「ショッピングパス」の条件は同一でなければなりません。これには、以下を含みます :

  • checkin
  • checkout
  • currency
  • country_code
  • language
  • property_id
  • sales_channel
  • sales_environment
  • travel_purpose
  • billing_terms
  • partner_point_of_sale
  • payment_terms

ご注意: 返される各ルームには、ratesamenitiescancel_penaltiesoccupancy_pricing、および がそれぞれ個別に含まれていますtotals。したがって、「multi-room」タイプの予約において複数の客室料金が選択された場合、どの客室にどの料金条件が適用されるかについて混乱が生じないよう、各料金を旅行者に対して明確かつ個別に提示する必要があります。

統合プロセスの流れとAPIの例

利用可能状況の確認手順

  • links.price_check_multi_roomというクエリパラメータを使用すると、異なる客室稼働率で複数のAvailabilityリクエストを行うことができます。
  • 各レスポンスには、POST形式の価格確認リクエストを送信するために使用できるmulti-room形式のリンクが返されます。

リクエストの例 :

GET /v3/properties/availability?checkin=2027-09-09&checkout=2027-09-10&country_code=US&currency=USD&language=en-US&property_id=19&rate_plan_count=250&sales_channel=website&sales_environment=hotel_only&occupancy=1&include=links.price_check_multi_room

応答の例 :

[
  {
    "property_id": "19",
    "status": "available",
    "rooms": [
      {
        "id": "212410677",
        "room_name": "Luxe Room",
        "rates": [
          {
            "id": "236167773",
            "status": "available",
            "available_rooms": 22,
            "refundable": true,
            "member_deal_available": true,
            "sale_scenario": {},
            "merchant_of_record": "expedia",
            "amenities": {},
            "links": {
              "payment_options": {}
            },
            "bed_groups": {
              "37321": {
                "id": "37321",
                "description": "1 King Bed",
                "links": {
                  "price_check": {
                    "method": "GET",
                    "href": "/v3/properties/19/rooms/212410677/rates/236167773?token=F~OjogZCQ0Nhky..."
                  }
                },
                "configuration": []
              },
              "37340": {
                "id": "37340",
                "description": "2 Queen Beds",
                "links": {
                  "price_check": {
                    "method": "GET",
                    "href": "/v3/properties/19/rooms/212410677/rates/236167773?token=F~OjogZCQ0Nhky..."
                  }
                },
                "configuration": []
              }
            },
            "cancel_penalties": [],
            "occupancy_pricing": {}
          }
        ]
      }
    ],
    "links": {
      "price_check_multi_room": {
        "method": "POST",
        "href": "/v3/properties/19/rooms?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH"
      }
    },
    "score": 603
  }
]

価格確認の手順

  • 客室の稼働率が異なる各「空室状況」のレスポンスについて、「Price Check」リンクを抽出し、各客室の「href」コンテナ内に、POSTリクエストの本文として含めてください。各客室に「unique traveler_reference」を割り当て、個別の料金での予約を区別してください。
  • 各部屋の空室状況を確認するため、料金照会のリクエストを送信してください。この応答には、予約リンクと、その後の予約リクエストに必要なセッショントークンの両方が含まれます。

リクエストの例 :

POST /v3/properties/19/rooms?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH

"rooms": [
        {
            "traveler_reference": "King",
            "href": "/v3/properties/19/rooms/200093863/rates/203299127?token=F~OjogZCQ0NhkyAQ9PYWUCZ202D2gCCVAMS1YAFAUNITJUAVQGGAldTgVUc2dhNXdkHVZTAAFXAVFUFABQC1QbBgAGVB4PVgUMGldQUgAGVlcPUgUHUT5BUVhQAwdUCwQVAQcEChpVBwIBGQZSUlkfVwEDUVMHAgtSBVoCVDJTA1EJAwRBNAADXQdCYlMNUwixOGJsYiOyYDlRp2A3B1FQAASvM29XFSldWwYRJFFXljNOa0pAFk8SBhMOQC5YW1R7VlNAG0ZFUEIEFgMRfw9bXhscQERNUF0XXUBJRggFGG7XYzBWUa8xZFYJTQUFhTBi0DU8lDYyvGE19jdk_jVnmGdlnjZHAVRRVAcBBQMUBAQCCEwMU1YDFQ4GAAdPBg1cUwcFAAwBAloA0zonBlUBBUwBBRpVVGcKVwxTDQsNVRoDUQ8CVlIFBVBq3zo2FwedYDIIe0iv"
        }, 
            {
            "traveler_reference": "Queen",
            "href": "/v3/properties/19/rooms/314008365/rates/380069275?token=F~OjogZCQ0NhkyAQ9PYWUCZ202D2gCCVAMS1YAFAUNITJUAVQGGAldTgVUc2dhNXdkHVZTAAFXAVFUFABQC1QbBgAGVB4PVgUMGldQUgAGVlcPUgUHUT5BUVhQAwdUCwQVAQcEChpVBwIBGQZSUlkfVwEDUVMHAgtSBVoCVDJTA1EJAwRBNAADXQdCYlMNUwixOGJsYiOyYDlRp2A3B1FQBgWvM2lUFTNBUARfRnZWUEHDMQA5GRQWGkFRQF8TZEZcVlkgUgAUFRoSXUNWFlwXaExVB1saHRESQVVeEFtAHBFfUE8512QyU1fyYjQDUR9TCdQ5Zd8yMJM1Z71nZ6dkOf1mNZRhM59hE1VQVFdYVVZWHAAJBg4bDAFTUE5bA10AHVQCW1dQAgENUgoBAdcxLlMBAQJJVQUVVwcyCwADUAAMUAgaV1YHBlcBUA0HO45nYEVVmWcyRag8NQ=="
        }
    ]
}'

応答の例 :

{
  "rooms": [
    {
      "traveler_reference": "King",
      "status": "available",
      "available_rooms": 242,
      "occupancy_pricing": {},
      "cancel_penalties": []
    },
    {
      "traveler_reference": "Queen",
      "status": "available",
      "available_rooms": 390,
      "occupancy_pricing": {},
      "cancel_penalties": []
    }
  ],
  "links": {
    "book": {
      "method": "POST",
      "href": "/v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH",
      "body_token": "REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBBWlYJEAlBDiYRVAF9UAtSQVYHRlJwHFV2F1QEXVdVQkNXXVNMElAGQAd1RAQKABAHBkFXcRxXAkRaVwtnWQATAQVEACIdBlZTBAgCWApeA1YUBQtAASAWBAYUUhBcaVlXFQcBQQR5Q1AGUwAAC1gAAFAPRApTEFNxEVRRQFRBVzoSTBJREFMDQwdyEQBTY2UjLHIjMXURUFcUB3AcAQUDWgtDV0xEBgsWBycQCwsFUxsMABZRBhECJxcGV0MXC1EBOgZYAA1fBlURVwNGC3UdVgVVVQ9HAxBXVBJUe0BWBlkGX1cGRUMDVBEKJBBTAwdZCURTHQUAQFEhEgpWQgBRFlpWUQBZBB0LBkAAcUQDAUMWEFYdVARDC3IcVwZUCFdXCTxdVQ5SAEprDloJG2wCBARfQRYKVhwLI0ECU15QDhFdHVFUEgZwQwZWQUQSEQoMVBA5CgFDUAUSUSMXAgoCURMHBhYFJ0RQBlRVAWcMUUcCC0cKJ0MLCwYDUApXFFQBEAsnRgZWWwFQOVdTSgZHDRRBCg5fHFAGF1V3FwYEBhYEA3tcWQURVwR2BFIdAwcQBidAAAsHVVJqWwlWVg1RRkUARwpXWkFTBh0BIBxUB0AEdRxScUYGdRFUARBARlUWBXYWVgUdVSMRVHMWC1NyWAxfI10FEFRxEVRRFwd2F1AlEFAGRghLAxEGdxdTAhRRIxNXIBQGUC5YW1QcBnRHBVYTC3tEAXoWBlRETFheFlxMSBZWdxECVhcHJAJAVXZBUCEVU1EdVHURV3JGCgZpEVJWWkYGVBBWJxJRekBWBlsAUUATVghSHxELVxBScEQKVwYTCgUXVyBHBQoWXwpaPF1WFVAHRAt4EVcBA1AFAwdcVgUNQwRUHAN6QAYEFllABzxZVEYCVx0HIBFXUABeUVUFCwEPURwKUEECIh0DUBBZTAY5Q01DAxFWABRRIENXAzEyIisiI2VzR1AAFQpzQAQHVV5YEQ8WEQQCQAskEFACDlYXVlccCwcRUXtDA1RDR1AHBmsHUQVaAVZSHFcHQVd0RlMDXwNYQQMTAAYTBXATAQJYUg9WAEYRUwQdAnQQBlYDU1UWVRMHCkMKc0EEAUUEVRZWUAUDWF0XUwtDBiQUBQsRQRZWEwZUFlZ6EwIBUllcB1xnCwdZA1VBZg5XXRtnBV0AWRIXBlRGAXQQAFcAVA5HUEQDVBEBdxdTAkIXEkYOClRGPQxVEAELFgQjElYECwxEBgsWBiUQCwtSB1FnWFdGBgYVV3MRVwFWVQFQVUACU0YKIBQGV1MGXGtcAURQRgpEElwKCBJUCkBXdRFRAAdGBVZgE1FcCxBTASNdAUQTCgUXVyBHBQoGVQFoAFtcVgtSFEpYQAxcXkQDARJXJBYKVBNTexQOJxEDJx0GUBdJQAYVUHsRUwZAUXJDVCYWAAFpEVxdDCZVBR0EIUcKCkZUdBEGJRFWAEILGwNABCFDUVdDUXYSVyEXAgphEFNQWhYCJ0RQBhMCJh1QdkcCCxNMBwhNUEFNRg0lFFQBEAolURFTfUEBIhYEC0ACIEECJ0dcXBBXWgdYRmtZUWxEVlNaRQYJIGxkJHJxcBNHUQIAQEsMXlFqSwlNQgdTDkUAQwpcGRQTXVtXTFoOUAZaEUsAVQZBRF0IVDtNX1QOAVBXUQVcB1AZBQYGAUwNBAQOTFoAV1QfUF4CBAEAVwQDV1JWExJYElFsQEsRVQwWEFcGCkVdDQtQWWxbQVgVRAFEH1sUR01cWQNHZkpVEUZRXl08XVANXQUMUgoDAwdJUgNUUE4MBlACSAkBXg0VXAABUgVWUFADUgIDHhYBR0cKXVs8XgIMU1cIAwZYU1cVUFZSCBoGUAJRGlldBAEaWwdWAgQGBwFYDQZVFg1QXVARBFRdW1MIFGRqQ0dZEUpXB15CURNZARVEE10GBx4FCQBQWRVIFlZIBxZEGGdYBl8JAUUVVlhWFWsBXEcLEwkLXAcIF1gODUNSDj1dXlRJQ1FQWlZFBRUHUGlEDFUACFAAC1cUVlAUCARgUQlDAicGABxXIgFWF1wCUwYDCVQGVT4TFxNQTwdYbRZDQERZRFYLZn5-eS1jK2tgM3dudHlqZDE3YnY2dRBbXRJnQgVCVkRcVQJURwFHV1dHD00UTDpSWF0ADjZgEFEHQw1dCwEKAg0VB19dBQldDw0BCVMMHFIBTAhYExFTRhINV0dqQhcJUwtYUD5YAgkGBAdRBQVEAUMQEVRaARwMYGB9FV0XRQ1FXVECQFBcWjlWVl1VX2BrcBUOVUZbAUZdC1Q6AVoFCwtVDV4IRVJcAFIIV0FMWQUDBlYZVgxIVwdAew0BV18QR1heA1QEUwALVwFYAw=="
    }
  }
}

「予約作成」ステップ

  • 予約リンクをクエリパラメータとして使用して予約リクエストを作成し、リクエスト本文にセッショントークンを含めてください。
  • 各ルームオブジェクトに、対応するtraveler_reference を設定し、旅行者の予約詳細を入力してから、リクエストを送信してください。
  • 処理が正常に完了すると、複数の客室タイプをまとめた予約を表す1つの旅程IDが返されます。

リクエストの例 :

POST /v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH

{
  "rooms": [
    {
      "given_name": "",
      "family_name": "",
      "traveler_reference": "King"
    },
    {
      "given_name": "",
      "family_name": "",
      "traveler_reference": "Queen"
    }
  ],
  "payments": [],
  "body_token": "REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBBWlYJEAlBDiYRVAF9UAtSQVYHRlJwHFV2F1QEXVdVQkNXXVNMElAGQAd1RAQKABAHBkFXcRxXAkRaVwtnWQATAQVEACIdBlZTBAgCWApeA1YUBQtAASAWBAYUUhBcaVlXFQcBQQR5Q1AGUwAAC1gAAFAPRApTEFNxEVRRQFRBVzoSTBJREFMDQwdyEQBTY2UjLHIjMXURUFcUB3AcAQUDWgtDV0xEBgsWBycQCwsFUxsMABZRBhECJxcGV0MXC1EBOgZYAA1fBlURVwNGC3UdVgVVVQ9HAxBXVBJUe0BWBlkGX1cGRUMDVBEKJBBTAwdZCURTHQUAQFEhEgpWQgBRFlpWUQBZBB0LBkAAcUQDAUMWEFYdVARDC3IcVwZUCFdXCTxdVQ5SAEprDloJG2wCBARfQRYKVhwLI0ECU15QDhFdHVFUEgZwQwZWQUQSEQoMVBA5CgFDUAUSUSMXAgo_

応答の例 :

{
  "links": {
    "retrieve": {
      "method": "GET",
      "href": "/v3/itineraries/9069459818327?token=REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBeUEsHC1UKTTtbAGxEXAZaFgAIJjlhfCZ9c0BEV1JTRUFfXVdqRA1BF1dRXERZQVxRGRQXW1oAHVVdXQVTFhZTVVITQQpWUzsVXVwPUFwCAFdVVgtIV1UGDhlSBgIPG1JSUgAeAA9ZUFYBBFFWW1FbFxFRFV0-QRhCUVsXQFRRWxEPWgxVWT5TFFtER1cTFlIXEUINDlRGPRZURkBQXFk9XgALAA9ZAwBVVVMYDl9UUxgMVFJVGQxSAgsZXQRXBFQGUwBWVVZdRUJRFkIKV1pnDVMOAQAFAAZcBAFLDQQABBlXB1RQGgcIUlAUXQYFAwcLAw5XAVRUQw8DWV8RUQJSXlFcHTdmR0tWQRdQVVxDUkcNAR5IFF8FXBxaDVFVDx5EEAxAVRFEHGddBQlUWxUVAAlWQWxdCk9REAteDF1fFl9QVxcDW2tcCFgdFFYHDwMXUBYDBzoSC1pSX1ACAg0dVQAYBQJjVlBHB3cFUx1WdFYBF1cPV1AIDQwDUGJARRRSQ1wIPEQRSxRbFVYLbCt-KitiLT5layNidyppYmFkZ3xldhZbUhZrF1VABEUFV1RZRwFDUVYQXkJHQTlbXwBTDmIyFQZZRA0FCQkLUwFAVg1UVFIMXV4BBgZTHlQAGwAKFkVSFkNWAxBrEUJcXwhVVD1RBQVUBVQCAVJFUUBHQAAIVhsJYDJ1QF5GRlsSVFgBFl8NDW5XDQFUCGZqchEPVhZdXEwIWl5sVw5UV1dVDggIF1ALUVdbC0dAWAFVUAdJVVwdUFMeBlxVDF1eVl1PBVlWEVcEA00VA1MPWQIWW0ETHFYMWkByDlFaDkYUXFwJVwQADwQDXFRT"
    }
  },
  "itinerary_id": "7069459818327"
}

End-to-end予約の流れ

複数部屋タイプのフロー

価格確認でよくあるエラーとその解決策

フィールドタイプHTTPステータスエラーメッセージ訂正
checkinトークン400製品は、すべて同じ「checkin」の日付が記載されている必要があります。すべてのトークンで同じである必要があります。これにより、一貫したショッピング体験が確保されます。
checkoutトークン400製品は、すべて同じ「checkout」の日付が記載されている必要があります。すべてのトークンで同じである必要があります。そうすることで、一貫したショッピング体験を確保できます。
languageトークン400製品には、同じlanguage が記載されている必要があります。すべてのトークンで同じである必要があります。そうすることで、一貫したショッピング体験を確保できます。
country_codeトークン400製品には、同じcountry_code が記載されている必要があります。すべてのトークンで統一されている必要があります。これにより、一貫したショッピング体験が確保されます。
currencyトークン400製品には、同じcurrency が記載されている必要があります。すべてのトークンで統一されている必要があります。これにより、一貫したショッピング体験が確保されます。
sales_channelトークン400製品には、同じsales_channel が記載されている必要があります。すべてのトークンで統一されている必要があります。これにより、一貫したショッピング体験が確保されます。
sales_environmentトークン400製品には、同じsales_environment が記載されている必要があります。すべてのトークンで同じである必要があります。これにより、一貫したショッピング体験が確保されます。
travel_purposeトークン400製品には、同じtravel_purpose が記載されている必要があります。すべてのトークンで同じである必要があります。そうすることで、一貫したショッピング体験を確保できます。
property_idhref400製品には、同じproperty_id が記載されている必要があります。href内の施設というIDは、のPOSTリクエスト()のパスにあるIDと一致している必要があります。
merchant_of_recordトークン400製品には、同じmerchant_of_record が記載されている必要があります。ショップからの回答の一部です。エクスペディアと施設の商品は、組み合わせることができません。
occupancyトークン400収容人数は9人未満でなければなりません。すべてのhrefs にわたる(トークン内の)収容人数を合計し、部屋数が8室を超えないようにします。

注: 複数部屋の予約中に発生しうるその他の一般的なエラーには、クレジットカードや請求先情報の誤りなど、「Rapid Booking」の際に発生するものと同じものがあります。

>> 詳細については、「Rapidのエラー処理」をご覧ください

その他のリソース

すべての Rapid API エンドポイントを試してみたい場合でも、OpenAPI 仕様や Postman コレクションをダウンロードしたい場合でも、必要なリソースが用意されています。



このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。