Method: accounts.properties.ingestLosPropertyPrices

Update the prices for a single property using length-of-stay formatted prices. For a given property, each arrival date in the requested range will have all of its LOS prices replaced, including all products and occupancies. Prices with arrival dates outside the specified date ranges are unaffected.

HTTP request

POST https://travelpartnerprices.googleapis.com/v1/{propertyPrices.property=accounts/*/properties/*}:ingestLosPropertyPrices

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
propertyPrices.property

string

The resource name of the PropertyPrices. Has the form accounts/{account_id}/properties/{property_id}.

account_id: This string value is the "Account ID" value listed on the Account settings page in Hotel Center.

property_id: The value of this element must be a string that matches the listing ID in your Hotel List Feed.

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestTime": string,
  "propertyPrices": {
    "property": string,
    "arrivalDatePrices": [
      {
        "productPrices": [
          {
            object (LosProductPrices)
          }
        ],
        "startDate": {
          object (Date)
        },
        "endDate": {
          object (Date)
        }
      }
    ]
  }
}
Fields
requestTime

string (Timestamp format)

Required. The moment in time that the LoS Price message was sent, expressed as an RFC 3339-formatted string.

Any message sent with a requestTime within the prior 24 hours will be processed, and those that haven't will be discarded.

Messages are processed in order of requestTime, regardless of the order in which they are received. For example, a price update with a requestTime of 2019-05-03T14:09:00Z that is received after a message for the same itineraries with a requestTime of 2019-05-03T14:10:00Z will be discarded in favor of the later timestamped message.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

propertyPrices.arrivalDatePrices[]

object (LosArrivalDatePrices)

Prices for an arrival date. All prices within this arrivalDayPrices apply to a specific property, but different arrival dates.

Response body

If successful, the response body contains an instance of PropertyPrices.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/travelpartner

For more information, see the OAuth 2.0 Overview.

LosPropertyPrices

Length of stay prices, specified at the property level.

JSON representation
{
  "arrivalDatePrices": [
    {
      object (LosArrivalDatePrices)
    }
  ],
  "property": string
}
Fields
arrivalDatePrices[]

object (LosArrivalDatePrices)

Prices for an arrival date. All prices within this arrivalDayPrices apply to a specific property, but different arrival dates.

property

string

The resource name of the PropertyPrices. Has the form accounts/{account_id}/properties/{property_id}.

account_id: This string value is the "Account ID" value listed on the Account settings page in Hotel Center.

property_id: The value of this element must be a string that matches the listing ID in your Hotel List Feed.

LosArrivalDatePrices

Length of stay prices, grouped by arrival date ranges.

JSON representation
{
  "productPrices": [
    {
      object (LosProductPrices)
    }
  ],
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Fields
productPrices[]

object (LosProductPrices)

Prices for a product. All prices within this productPrices apply to a specific property, arrival date combination, but different products.

startDate

object (Date)

The productPrices will be applied to all arrival dates between the startDate and the endDate, inclusive.

If only trying to specify one arrival date (and not a range), endDate may be omitted.

endDate

object (Date)

The productPrices will be applied to all arrival dates between the startDate and the endDate, inclusive.

If only trying to specify one arrival date (and not a range), endDate may be omitted.

Date

Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:

  • A full date, with non-zero year, month, and day values.
  • A month and day, with a zero year (for example, an anniversary).
  • A year on its own, with a zero month and a zero day.
  • A year and month, with a zero day (for example, a credit card expiration date).

Related types:

JSON representation
{
  "year": integer,
  "month": integer,
  "day": integer
}
Fields
year

integer

Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

month

integer

Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.

day

integer

Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.

LosProductPrices

Length of stay prices, grouped by product type (roomTypeId/ratePlanId combinations).

JSON representation
{
  "occupancyPrices": [
    {
      object (LosOccupancyPrices)
    }
  ],
  "roomTypeId": string,
  "ratePlanId": string
}
Fields
occupancyPrices[]

object (LosOccupancyPrices)

Prices for an occupancy. All prices within this occupancyPrices apply to a specific property, arrival date, product combination, but to different occupancies.

roomTypeId

string

The unique ID for the room that this price is referring to. Use this ID to match the Room Bundle data with what you sent in roomdata. For more information, refer to Room Bundle metadata.

If roomTypeId is populated, ratePlanId must also be populated.

ratePlanId

string

The unique ID for the package data that this price is referring to. Use this ID to match the Room Bundle data with what you sent in packagedata. For more information, refer to Room Bundle metadata.

If ratePlanId is populated, roomTypeId must also be populated.

LosOccupancyPrices

Length of stay prices, grouped by adult occupancy count.

JSON representation
{
  "prices": [
    {
      object (LosPrices)
    }
  ],
  "adults": integer
}
Fields
prices[]

object (LosPrices)

Length of stay prices. All prices within prices apply to a specific property, arrival date, product, and occupancy combination.

adults

integer

The maximum number of guests that can be booked per room, including adults and children. This value is set for all rates within the corresponding occupancyPrices field and must be a positive integer between 1 and 99.

LosPrices

Length of stay prices.

JSON representation
{
  "rates": [
    number
  ],
  "taxes": [
    number
  ],
  "fees": [
    number
  ],
  "rateRuleId": string,
  "currencyCode": string
}
Fields
rates[]

number

The base rate component of the length of stay prices.

If a corresponding taxes value is provided, this rate is non-inclusive of the tax (the total price will be the sum of the relevant rate and tax).

Should be a comma-separated list of rates. The value at index n corresponds to an n+1 length of stay.

You must send the full LoS set of 30 prices at a time. If you send fewer than 30, we will process all of the provided LoS prices as normal, and the remaining rates as unavailable up to LoS 30. If you send more than 30, we will drop any prices you send beyond the 30th rate.

Unavailable lengths of stays should be represented with a 0.

taxes[]

number

The tax component of length of stay prices.

Should be a comma-separated list of taxes. The value at index n corresponds to an n+1 length of stay.

fees[]

number

Optional. The fee component of length of stay prices.

Should be a comma-separated list of fees. The value at index n corresponds to an n+1 length of stay.

rateRuleId

string

For conditional rates, this ID matches a rate to a definition in your Rate Rule Definition file.

The character limit for this field is 40 characters.

currencyCode

string

The three-letter currency code which rates and taxes are provided in. For example, "USD" for US dollars.

Applies to rates and taxes.