Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thông báo Giao dịch gửi dữ liệu về phòng, giá và gói dịch vụ cho Google.
Có hai loại thông báo Giao dịch chính:
Dữ liệu về hành trình: Xác định dữ liệu về hành trình và gói dịch vụ phòng, trong đó có:
Giá và quỹ phòng khách sạn: Đặt mức giá tối thiểu cho những hành trình đáp ứng một số yêu cầu. Để biết thêm thông tin, hãy xem bài viết Cập nhật giá.
Bạn cũng có thể xoá phòng khỏi quỹ phòng. Để biết thêm thông tin, hãy xem bài viết Xoá quỹ phòng.
Gói dịch vụ phòng: Đặt giá cho lịch trình cho một kiểu kết hợp phòng thực tế và gói dịch vụ bổ sung. Để biết thêm thông tin, hãy xem bài viết Gói dịch vụ phòng.
Google lưu nội dung của thông báo Giao dịch vào bộ nhớ đệm để giá luôn có sẵn. Trong một số trường hợp, Google xác định rằng giá trị trong bộ nhớ đệm đã cũ, nên có thể gửi thêm thông báo <Query> (hoặc trong một số trường hợp là Truy vấn Yêu cầu cung cấp giá hiện tại) để lấy giá mới. Thông thường, dữ liệu này rất thường xuyên thay đổi. Để xác định giá và tình trạng phòng của thông báo Giao dịch, hãy sử dụng <Result>.
Siêu dữ liệu về phòng và gói dịch vụ: Xác định thông tin chi tiết về phòng và gói dịch vụ, chẳng hạn như thông tin mô tả, ảnh chụp và sức chứa tối đa. Dữ liệu này không thay đổi thường xuyên. Để xác định siêu dữ liệu của thông báo Giao dịch, hãy sử dụng <PropertyDataSet>. Google sẽ lưu trữ siêu dữ liệu này để bạn có thể tham chiếu đến siêu dữ liệu này trong thông báo giá thay vì phải nhập thông tin lặp lại về phòng và gói dịch vụ trong mỗi thông báo. Để biết thêm thông tin, hãy xem phần Xác định siêu dữ liệu về phòng và gói dịch vụ.
Phần tử gốc của thông báo Giao dịch là <Transaction>. Những thông báo sử dụng phần tử <Transaction> làm phần tử gốc cần có ít nhất một trong các phần tử con. Thông báo giao dịch có thể có số lượng phần tử con không hạn chế, miễn là tổng dung lượng thông báo không vượt quá 100 MB.
Bất kể bạn chọn chế độ phân phối nào, Google cũng có thể gửi cho bạn các yêu cầu gọi là truy vấn Yêu cầu cung cấp giá hiện tại. Những thông báo Truy vấn này tìm giá để phản hồi một lượt tìm kiếm hiện tại. Nếu bạn phản hồi trong khung thời gian quy định (thường là vài trăm mili giây), thì quảng cáo của bạn có thể xuất hiện trong phiên đấu giá.
Kết quả của bạn cũng có thể phù hợp với nhu cầu của khách hàng hơn, chẳng hạn như quốc gia, loại thiết bị của khách hàng và số lượng khách lưu trú mà khách hàng chọn. Để biết thêm thông tin, hãy xem bài viết Truy vấn yêu cầu cung cấp giá hiện tại.
Kích thước thư
Bạn có thể sử dụng mọi kiểu kết hợp thông tin cập nhật về dữ liệu trong một thông báo Giao dịch, tuy nhiên mỗi thông báo có giới hạn là 100 MB. Thông thường, mọi yêu cầu Lấy dữ liệu và yêu cầu Gợi ý có giới hạn thời gian phản hồi là 100 giây. Thời gian chờ là một trường có thể định cấu hình mà Google có thể điều chỉnh theo yêu cầu. Google khuyên bạn nên đặt thời gian chờ là 10 phút đối với các thông báo có kích thước rất lớn.
Để giảm đáng kể kích thước của thông báo và tránh sự cố về kích thước và thời gian chờ của thông báo, hãy sử dụng thông báo Giao dịch để xác định trước siêu dữ liệu về phòng và gói dịch vụ.
Bạn cũng có thể thêm nội dung nén GNU vào thông báo bằng cách thêm Content-Encoding: gzip vào tiêu đề của thông báo.
Mọi quyền được bảo lưu. Java là một nhãn hiệu đã đăng ký của Oracle và/hoặc chi nhánh của Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eTransaction messages relay data about rooms, prices, and packages to Google, encompassing itinerary details (like pricing and inventory) and room/package metadata (descriptions, photos, etc.).\u003c/p\u003e\n"],["\u003cp\u003eThese messages are delivered via Pull or Changed Pricing modes, with Google occasionally requesting live pricing for real-time search results (except for EEA users due to the new search experience).\u003c/p\u003e\n"],["\u003cp\u003eTransaction messages can combine various data updates, but they're limited to 100MB; pre-defining room/package metadata and using gzip compression can help manage size.\u003c/p\u003e\n"],["\u003cp\u003eGoogle might request updated pricing through additional Query or Live Pricing Queries if its cached data is deemed outdated, ensuring accurate information is displayed.\u003c/p\u003e\n"],["\u003cp\u003eWhen defining pricing and availability within Transaction messages, either \u003ccode\u003e<AllowablePackageIDs>\u003c/code\u003e or \u003ccode\u003e<AllowableRoomIDs>\u003c/code\u003e should be used, but not both, to specify room type and rate plan combinations.\u003c/p\u003e\n"]]],[],null,["# Overview of Transaction messages\n\nTransaction messages send data about rooms, prices, and packages to Google.\nThere are two primary types of Transaction messages:\n\n1. **Itinerary data**: Define Room Bundle and itinerary data including:\n\n - *Hotel prices and inventory* : Set the minimum price for an itinerary that\n meets certain requirements. For more information, see\n [Updating Prices](/hotels/hotel-prices/dev-guide/updating-prices).\n You can also remove a room from inventory. For more information, see\n [Remove inventory](/hotels/hotel-prices/dev-guide/removing-inventory).\n\n - *Room Bundles* : Set the itinerary prices for a combination of a physical\n room and a package of additional services. For more information,\n [Room Bundles](/hotels/hotel-prices/dev-guide/room-bundles).\n Google caches the contents of your Transaction messages so that the prices\n are available at all times. In some cases, Google determines that the values\n in its cache are not up to date, so it might send additional [`\u003cQuery\u003e`](../xml-reference/queries#Query)\n messages (or in some cases, [Live Pricing Queries](/hotels/hotel-prices/dev-guide/query-messages#live_pricing_queries))\n to get updated prices. This data typically changes very frequently. To\n define pricing and availability of Transaction messages, use [`\u003cResult\u003e`](../xml-reference/transaction-messages#Result).\n\n2. **Room and package metadata** : Specifies details about rooms and packages,\n such as a descriptions, photos, and maximum occupancy. This data does not\n change very often. To define metadata Transaction messages, use\n [`\u003cPropertyDataSet\u003e`](../xml-reference/transaction-messages#PropertyDataSet). Google stores this metadata so that you can refer to it\n from your pricing messages rather than include repetitive information about\n rooms and packages in every one. For more information, see\n [Define room and package metadata](/hotels/hotel-prices/dev-guide/room-bundles#metadata).\n\nThe root element of a Transaction message is [`\u003cTransaction\u003e`](../xml-reference/transaction-messages#Transaction). Messages that use\nthe `\u003cTransaction\u003e` element as the root element require at least one of the\nchild elements. Transaction messages can have any number of child elements, as\nlong as the total message size does not exceed 100MB.\n| **Key Point:** Use either `\u003cAllowablePackageIDs\u003e` or `\u003cAllowableRoomIDs\u003e`, but not both. If neither of these elements are defined in the Transaction message, room types can be combined with any rate plan.\n\nFor examples of Transaction messages responding to requests by Google, see\n[Pricing \\& Room Inventory (Transactions) XML Reference](/hotels/hotel-prices/xml-reference/transaction-messages).\n\nDelivery modes\n--------------\n\nThe type and frequency with which you send Transaction messages depends on your\ndelivery mode:\n\n- For the Pull delivery mode, you send Transaction messages when you receive a [`\u003cQuery\u003e`](../xml-reference/queries#Query) from Google.\n- For the Changed Pricing delivery mode, you send a Transaction message after receiving and responding to a [`\u003cHintRequest\u003e`](../xml-reference/queries#hintrequest) and `\u003cQuery\u003e`.\n\nFor more information, see [Pricing Delivery modes](/hotels/hotel-prices/dev-guide/delivery-mode).\n\nLive pricing queries\n--------------------\n\nRegardless of your delivery mode, Google might also send you requests known as\n*Live pricing queries* . These Query messages seek prices in response to a\n*current* search. If you respond within the specified timeframe which is\nusually a few hundred milliseconds, then your ad can appear in the auction.\nYour results can also better match the customer, including their country and\ndevice type, and the number of guests they specified. For more information, see\n[Live pricing queries](/hotels/hotel-prices/dev-guide/query-messages#live_pricing_queries).\n| **Key Point:** Due to the [New Search experience](/search/blog/2024/02/search-experiences-in-eea), Live Query has limited availability for EEA users.\n\nMessage size\n------------\n\nYou can include any combination of data updates in a single Transaction message,\nbut there is a 100MB limit on the size of each message. Typically, all Pull and\nHint Requests have a response time limit of 100 seconds. The timeout is a\nconfigurable field adjustable by Google as requested. Google recommends that you\nset the time-out to 10 minutes for very large messages.\n\nTo greatly reduce message size and potentially avoid issues with message\nsizes and time-outs, use Transaction messages to pre-define your\n[room and package metadata](/hotels/hotel-prices/dev-guide/room-bundles#metadata).\nYou can also add GNU zipped content to messages by adding\n`Content-Encoding: gzip` to the message headers."]]