Method: accounts.properties.ingestLosPropertyPrices

Cập nhật giá của một cơ sở lưu trú bằng giá theo định dạng cho thời gian lưu trú. Đối với một cơ sở lưu trú nhất định, mỗi ngày đến trong phạm vi yêu cầu sẽ được thay thế tất cả giá LOS, bao gồm tất cả sản phẩm và số người lưu trú. Giá có ngày đến nằm ngoài phạm vi ngày đã chỉ định sẽ không bị ảnh hưởng.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Tham số
propertyPrices.property

string

Tên tài nguyên của PropertyPrices. Có dạng accounts/{account_id}/properties/{property_id}.

account_id: Giá trị chuỗi này là "Mã tài khoản" có trên trang Cài đặt tài khoản trong Hotel Center.

property_id: Giá trị của phần tử này phải là một chuỗi khớp với mã trang thông tin trong nguồn cấp dữ liệu danh sách khách sạn.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "requestTime": string,
  "propertyPrices": {
    "property": string,
    "arrivalDatePrices": [
      {
        "productPrices": [
          {
            object (LosProductPrices)
          }
        ],
        "startDate": {
          object (Date)
        },
        "endDate": {
          object (Date)
        }
      }
    ]
  }
}
Trường
requestTime

string (Timestamp format)

Bắt buộc. Thời điểm gửi thông báo Giá LoS, được biểu thị dưới dạng chuỗi có định dạng RFC 3339.

Mọi tin nhắn được gửi bằng requestTime trong vòng 24 giờ trước sẽ được xử lý, còn những tin nhắn không bị loại bỏ.

Thông báo được xử lý theo thứ tự requestTime, bất kể thứ tự nhận được. Ví dụ: Thông báo cập nhật giá có requestTime2019-05-03T14:09:00Z mà nhận được sau khi nhận được một thông báo cho cùng hành trình có giá trị requestTime2019-05-03T14:10:00Z sẽ bị loại bỏ và thay vào đó là thông báo có dấu thời gian muộn hơn.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

propertyPrices.arrivalDatePrices[]

object (LosArrivalDatePrices)

Giá cho ngày đến. Tất cả mức giá trong arrivalDayPrices này đều áp dụng cho một cơ sở lưu trú cụ thể, nhưng khác ngày đến.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của PropertyPrices.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

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

Để biết thêm thông tin, hãy xem bài viết Tổng quan về OAuth 2.0.

LosPropertyPrices

Giá cho thời gian lưu trú, được chỉ định ở cấp cơ sở lưu trú.

Biểu diễn dưới dạng JSON
{
  "arrivalDatePrices": [
    {
      object (LosArrivalDatePrices)
    }
  ],
  "property": string
}
Trường
arrivalDatePrices[]

object (LosArrivalDatePrices)

Giá cho ngày đến. Tất cả mức giá trong arrivalDayPrices này đều áp dụng cho một cơ sở lưu trú cụ thể, nhưng khác ngày đến.

property

string

Tên tài nguyên của PropertyPrices. Có dạng accounts/{account_id}/properties/{property_id}.

account_id: Giá trị chuỗi này là "Mã tài khoản" có trên trang Cài đặt tài khoản trong Hotel Center.

property_id: Giá trị của phần tử này phải là một chuỗi khớp với mã trang thông tin trong nguồn cấp dữ liệu danh sách khách sạn.

LosArrivalDatePrices

Giá của thời gian lưu trú, được nhóm theo phạm vi ngày đến.

Biểu diễn dưới dạng JSON
{
  "productPrices": [
    {
      object (LosProductPrices)
    }
  ],
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Trường
productPrices[]

object (LosProductPrices)

Giá cho một sản phẩm. Tất cả mức giá trong productPrices này đều áp dụng cho một cơ sở lưu trú cụ thể, tổ hợp ngày đến, nhưng các sản phẩm khác nhau.

startDate

object (Date)

productPrices sẽ được áp dụng cho tất cả các ngày đến trong khoảng thời gian từ startDate đến endDate.

Nếu chỉ cố gắng chỉ định một ngày đến (chứ không phải một phạm vi), endDate có thể bị bỏ qua.

endDate

object (Date)

productPrices sẽ được áp dụng cho tất cả các ngày đến trong khoảng thời gian từ startDate đến endDate.

Nếu chỉ cố gắng chỉ định một ngày đến (chứ không phải một phạm vi), endDate có thể bị bỏ qua.

Ngày

Đại diện cho toàn bộ hoặc một phần ngày theo lịch, chẳng hạn như ngày sinh nhật. Thời gian trong ngày và múi giờ được chỉ định ở nơi khác hoặc không đáng kể. Ngày này có liên quan đến Lịch Gregory. Thông tin này có thể là một trong những trường hợp sau:

  • Ngày đầy đủ, với các giá trị năm, tháng và ngày khác 0.
  • Tháng và ngày, thể hiện giá trị năm 0 (ví dụ: ngày kỷ niệm).
  • Một năm riêng biệt, tháng không tháng và ngày không tháng.
  • Năm và tháng, không có ngày (ví dụ: ngày hết hạn thẻ tín dụng).

Các loại có liên quan:

Biểu diễn dưới dạng JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Trường
year

integer

Năm của ngày. Giá trị phải từ 1 đến 9999 hoặc bằng 0 để chỉ định ngày không có năm.

month

integer

Tháng trong năm. Giá trị phải từ 1 đến 12 hoặc bằng 0 để chỉ định một năm không có tháng và ngày.

day

integer

Ngày trong tháng. Phải có giá trị từ 1 đến 31 và có giá trị hợp lệ trong năm và tháng, hoặc bằng 0 để chỉ định một năm độc lập hoặc là một năm và tháng mà ngày không quan trọng.

LosProductPrices

Giá theo thời gian lưu trú, được nhóm theo loại sản phẩm (tổ hợp RoomTypeId/ratePlanId).

Biểu diễn dưới dạng JSON
{
  "occupancyPrices": [
    {
      object (LosOccupancyPrices)
    }
  ],
  "roomTypeId": string,
  "ratePlanId": string
}
Trường
occupancyPrices[]

object (LosOccupancyPrices)

Giá cho một người lưu trú. Tất cả mức giá trong occupancyPrices này đều áp dụng cho một cơ sở lưu trú, ngày đến, tổ hợp sản phẩm cụ thể, nhưng áp dụng cho nhiều mức sức chứa khác nhau.

roomTypeId

string

Mã nhận dạng duy nhất của phòng mà giá này đang tham chiếu. Hãy sử dụng mã này để so khớp dữ liệu Gói dịch vụ phòng với dữ liệu mà bạn đã gửi trong dữ liệu phòng. Để biết thêm thông tin, hãy tham khảo mục siêu dữ liệu của Gói dịch vụ phòng.

Nếu điền roomTypeId thì bạn cũng phải điền ratePlanId.

ratePlanId

string

Mã nhận dạng duy nhất của dữ liệu gói mà mức giá này đang tham chiếu. Sử dụng mã này để so khớp dữ liệu Gói dịch vụ phòng với dữ liệu mà bạn đã gửi trong dữ liệu gói. Để biết thêm thông tin, hãy tham khảo mục siêu dữ liệu của Gói dịch vụ phòng.

Nếu điền ratePlanId thì bạn cũng phải điền roomTypeId.

LosOccupancyPrices

Giá cho thời gian lưu trú, được nhóm theo số người lớn lưu trú.

Biểu diễn dưới dạng JSON
{
  "prices": [
    {
      object (LosPrices)
    }
  ],
  "adults": integer
}
Trường
prices[]

object (LosPrices)

Giá cho thời gian lưu trú. Mọi mức giá trong phạm vi prices đều áp dụng cho một tổ hợp cơ sở lưu trú, ngày đến, sản phẩm và số người lưu trú cụ thể.

adults

integer

Số lượng khách tối đa có thể đặt cho mỗi phòng, bao gồm cả người lớn và trẻ em. Giá trị này được đặt cho tất cả các mức giá trong trường Giá cho phòng có người lưu trú tương ứng và phải là một số nguyên dương từ 1 đến 99.

LosPrices

Giá cho thời gian lưu trú.

Biểu diễn dưới dạng JSON
{
  "rates": [
    number
  ],
  "taxes": [
    number
  ],
  "fees": [
    number
  ],
  "rateRuleId": string,
  "currencyCode": string
}
Trường
rates[]

number

Thành phần giá cơ bản của giá theo thời gian lưu trú.

Nếu bạn cung cấp giá trị taxes tương ứng, thì mức giá này chưa bao gồm thuế (tổng giá sẽ là tổng của mức thuế và thuế có liên quan).

Phải là một danh sách giá được phân tách bằng dấu phẩy. Giá trị tại chỉ mục n tương ứng với thời gian lưu trú là n+1.

Bạn phải gửi toàn bộ 30 mức giá của LoS cùng một lúc. Nếu bạn gửi ít hơn 30 LoS, chúng tôi sẽ xử lý tất cả các mức giá LoS mà bạn cung cấp như bình thường và các mức giá còn lại sẽ không được cung cấp đến 30 LoS. Nếu bạn gửi nhiều hơn 30 đơn đặt hàng, chúng tôi sẽ giảm mọi mức giá mà bạn gửi vượt quá mức giá thứ 30.

Thời gian lưu trú không hoạt động phải được thể hiện bằng 0.

taxes[]

number

Thành phần thuế của giá theo thời gian lưu trú.

Phải là một danh sách thuế được phân tách bằng dấu phẩy. Giá trị tại chỉ mục n tương ứng với thời gian lưu trú là n+1.

fees[]

number

Không bắt buộc. Thành phần phí của giá theo thời gian lưu trú.

Phải là danh sách các khoản phí được phân tách bằng dấu phẩy. Giá trị tại chỉ mục n tương ứng với thời gian lưu trú là n+1.

rateRuleId

string

Đối với giá phòng có điều kiện, mã này sẽ so khớp giá với định nghĩa trong tệp Định nghĩa quy tắc giá.

Trường này có giới hạn ký tự là 40 ký tự.

currencyCode

string

Mã đơn vị tiền tệ gồm ba chữ cái dùng để cung cấp giá và thuế. Ví dụ: "USD" cho đô la Mỹ.

Áp dụng cho ratestaxes.