Travel Partner Prices API
Travel Partner Prices API は、Google 広告から送信するための RESTful インターフェースを 物件価格を Google に送ります
サービス: travelpartnerprices.googleapis.com
このサービスを呼び出すには、Google 提供のクライアント ライブラリ。お使いの このサービスを呼び出すために独自のライブラリを使用する必要がある場合は、 テクニカル アカウント マネージャー(TAM)によるディスカバリ ドキュメントの取得 割り当てることができます。
サービス エンドポイント
サービス endpoint は、 API サービスのネットワーク アドレスを指定するベース URL。1 つのサービス 複数のサービス エンドポイントが存在する場合があります。このサービスには次のサービスがあります 示されているすべての URI は、このサービス エンドポイントからの相対パスです。
https://travelpartnerprices.googleapis.com
メソッド | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
指定した宿泊施設に提供された滞在日数の料金をアップロードします。 HTTP として JSON エンコードされた LoS 料金メッセージ(下記参照)が必要です。 あります。
|
API の認証
Travel Partner Prices API は、OAuth 2.0 を使用して以下の処理を行います。 API にアクセスできるように、アプリケーションを認証します。
設定手順を確認するには、OAuth の設定 2.0。設定内容は次のとおりです Travel Partner API の説明を ご覧くださいTravel Partner API と Travel Partner Prices API は 異なるものですこの設定手順では 「Travel Partner Prices API」に置き換える必要があります。名前は、 「Travel Partner API」参照されます。
リクエスト
構文
LoS Prices
メッセージには次の構文が使用されます。
{
"requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
"propertyPrices": {
"arrivalDatePrices": [{
"startDate": {
"year": int
"month": int
"day": int
}
"endDate": {
"year": int
"month": int
"day": int
}
"productPrices": [{
"roomTypeId": "string"
"ratePlanId": "string"
"occupancyPrices": [{
"adults": int
"prices": [{
"rateRuleId": "string"
"currencyCode": "string"
"rates": [night_1,night_2,...]
"taxes": [night_1,night_2,...]
"fees": [night_1,night_2,...]
}]
}]
}]
}]
}
}
元素と属性
滞在日数の料金メッセージには、次の要素と属性があります。
要素 | 発生回数 | タイプ | 説明 |
---|---|---|---|
requestTime | 1 | string | LoS 料金メッセージが送信された時間 RFC 3339 形式の 使用します。 過去 24 日以内に メッセージは RFC 3339 では、
秒の小数点以下は省略可能です。
ナノ秒の精度です。たとえば
|
propertyPrices | 1 | Object | 宿泊施設の料金。このpropertyPrices 内のすべての料金
すべて同じプロパティに適用されます。
この要素は繰り返しません。複数の宿泊施設の料金を送信するには 複数の HTTP リクエスト(プロパティごとに少なくとも 1 つ)を行う必要があります。 |
arrivalDayPrices[] | 1..n | Object | 到着日の料金。このarrivalDayPrices 内のすべての料金
特定の宿泊施設に適用され、到着日が異なる。 |
startDate | 1 | Object | productPrices はすべての到着日に適用されます
startDate ~endDate の範囲内(両端を含む)。
期間ではなく、1 つの到着日のみを指定する場合:
|
startDate.year | 1 | integer | startDate 年の年。1 ~ 9999 の範囲で指定してください。 |
startDate.month | 1 | integer | 1 年の中の月。1~12 である必要があります。 |
startDate.day | 1 | integer | 1 月の中の日付。1 ~ 31 で、その年と月に対して有効である必要があります。 |
endDate | 0..1 | Object | productPrices は
startDate と endDate (両端を含む)。
期間ではなく、1 つの到着日のみを指定する場合:
|
endDate.year | 1 | integer | endDate 年の年。1 ~ 9999 の範囲で指定してください。 |
endDate.month | 1 | integer | 1 年の中の月。1~12 である必要があります。 |
endDate.day | 1 | integer | 1 月の中の日付。1 ~ 31 で、その年と月に対して有効である必要があります。 |
productPrices[] | 1..n | Object | 商品の価格。このproductPrices 内のすべての料金
特定の宿泊施設と到着日の組み合わせに適用されますが、
プロダクトの
|
roomTypeId | 0..1 | string | この料金が参照している客室の一意の ID。使用 この ID を使用して、条件の組み合わせデータと客室データで送信した内容を照合します。 詳細については、このモジュールの 条件の組み合わせのメタデータ。 |
ratePlanId | 0..1 | string | この料金が参照しているパッケージ データの一意の ID。使用 この ID を使用して、条件の組み合わせデータと packagedata で送信した内容を照合します。 詳細については、このモジュールの 条件の組み合わせのメタデータ。 |
occupancyPrices[] | 1..n | Object | 宿泊料金。このoccupancyPrices 内のすべての料金
特定の宿泊施設、到着日、商品の組み合わせにのみ適用されますが、
設定することもできます。
|
adults | 1 | integer | 1 つの部屋で予約できる宿泊客の最大数
使用できます。この値は
対応する occupancyPrices フィールド。この値は正の値である必要があります。
1 ~ 99 の整数。
注: サポートチームに連絡して、 大人 4 人を超える場合に適しています。 |
prices[] | 1..n | Object | 滞在日数の料金。prices 内のすべての価格が以下に適用されます
特定の宿泊施設、到着日、商品、定員の組み合わせ。
|
rateRuleId | 0..1 | string | 限定価格の場合: この ID によって料金が料金ルール定義ファイルの定義と照合されます。 このフィールドの文字数制限は 40 文字です。 |
currencyCode | 1 | string | 3 文字の通貨コード(rates 、taxes )
用意されています。たとえば、米ドルの場合は "USD" です。
|
rates[] | 30 | float | 滞在日数の料金の基本料金コンポーネント。
対応する インデックス 一度に 30 個の料金の全 LoS セットを送信する必要があります。Google 30 未満の場合、提供されたすべての LoS 料金が 残りの料金は LoS 30 までは利用できません。もし 30 件を超える料金を送信する場合、30 件目を超える料金を送信すると ドロップ。 利用できない滞在日数は、
|
taxes[] | 30 | float | 滞在日数の料金の税金コンポーネント。
インデックス |
fees[] | 30 | float | 滞在日数の料金の料金コンポーネント。
インデックス |
例
料金とLOS に基づく税金
次の例では、最低宿泊日数を 2 に設定しています
別のチェックイン日には空室状況を設定せず、
endDate
を指定せずに 2023 年 9 月 1 日から startDate
を設定した場合、次のようになります。
1 つの日付に対してのみ料金を指定し、
endDate
。
2
に設定された occupancyPrices
配列を使用すると、さまざまな料金を設定できます。
別の宿泊人数に合わせたりしますしたがって、2023 年 9 月 4 日の上限には空室がありません。
(rates
に利用可能)
表示されている taxes
配列は、割合の 10% として計算されます。
表示されている fees
配列は、1 滞在あたり 50 ドルの清掃料金を適用しています。
2023 年 9 月 3 日にチェックイン日を利用できない場合は、
rates
、taxes
、productPrices
を省略して、日付を明示的に送信します。
リクエストした日付に空きがないことを確認します。
{
"requestTime": "2023-08-10T12:15:222",
"propertyPrices": {
"arrivalDatePrices": [
{
"startDate": {
"year": 2023,
"month": 9,
"day": 1
},
"productPrices": [
{
"occupancyPrices": [
{
"adults": 2,
"prices": [
{
"currencyCode": "USD",
"rates": [
0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"taxes": [
0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"fees": [
0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}
]
}
]
}
]
},
{
"startDate": {
"year": 2023,
"month": 9,
"day": 3
},
"productPrices": [
{
"occupancyPrices": [
{
"adults": 2,
"prices": [
{
"currencyCode": "USD",
"rates": [
0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"taxes": [
0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"fees": [
0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}
]
}
]
}
]
}
]
}
}
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
JSON 表現 | |
---|---|
{ "name": "string" } |
フィールド | |
---|---|
name |
変更された PropertyPrices のリソース名。次のような形式になります。
accounts/{account}/properties/{property} 。
|