거래 메시지는 객실, 가격, 패키지에 관한 데이터를 Google에 전송합니다.
거래 메시지에는 두 가지 기본 유형이 있습니다.
숙박 일정 데이터: 다음을 포함하여 객실 패키지 및 숙박 일정 데이터를 정의합니다.
호텔 가격 및 인벤토리: 특정 요구사항을 충족하는 숙박 일정의 최소 가격을 설정합니다. 자세한 내용은 가격 업데이트를 참고하세요.
인벤토리에서 객실을 삭제할 수도 있습니다. 자세한 내용은 인벤토리 삭제를 참고하세요.
객실 패키지: 실제 객실과 추가 서비스 패키지를 조합한 숙박 일정 가격을 설정합니다. 자세한 내용은 Room 번들을 참고하세요.
Google은 항상 가격을 사용할 수 있도록 거래 메시지의 콘텐츠를 캐시합니다. 경우에 따라 Google은 캐시의 값이 최신 상태가 아니라고 판단하여 업데이트된 가격을 가져오기 위해 추가 <Query> 메시지 (또는 경우에 따라 실시간 가격 쿼리)를 전송할 수 있습니다. 이 데이터는 일반적으로 매우 자주 변경됩니다. 거래 메시지의 가격 및 사용 가능 여부를 정의하려면 <Result>를 사용하세요.
객실 및 패키지 메타데이터: 설명, 사진, 최대 숙박 인원과 같은 객실 및 패키지에 관한 세부정보를 지정합니다. 이 데이터는 자주 변경되지 않습니다. 메타데이터 트랜잭션 메시지를 정의하려면 <PropertyDataSet>를 사용합니다. Google은 객실 및 패키지에 관한 정보를 매번 반복적으로 포함하는 대신 가격 메시지에서 참조할 수 있도록 이 메타데이터를 저장합니다. 자세한 내용은 방 및 패키지 메타데이터 정의를 참고하세요.
거래 메시지의 루트 요소는 <Transaction>입니다. <Transaction> 요소를 루트 요소로 사용하는 메시지에는 하위 요소 중 하나 이상이 필요합니다. 거래 메시지는 총 메시지 크기가 100MB를 초과하지 않는 한 하위 요소를 얼마든지 포함할 수 있습니다.
게재 모드와 관계없이 Google에서 실시간 가격 쿼리라는 요청을 보낼 수도 있습니다. 이러한 쿼리 메시지는 현재 검색에 대한 응답으로 가격을 찾습니다. 지정된 기간(일반적으로 수백 밀리초) 내에 응답하면 광고가 입찰에 참여할 수 있습니다.
또한 국가, 기기 유형, 지정된 투숙객 수를 비롯한 고객에 더 적합한 결과를 얻을 수 있습니다. 자세한 내용은 실시간 가격 쿼리를 참고하세요.
메일 크기
단일 트랜잭션 메시지에 데이터 업데이트를 조합하여 포함할 수 있지만 각 메시지의 크기는 100MB로 제한됩니다. 일반적으로 모든 가져오기 및 힌트 요청에는 응답 시간 제한이 100초입니다. 제한 시간은 요청에 따라 Google에서 조정할 수 있는 구성 가능한 필드입니다. 매우 큰 메시지의 경우 제한 시간을 10분으로 설정하는 것이 좋습니다.
메시지 크기를 크게 줄이고 메시지 크기 및 시간 제한 문제를 방지하려면 거래 메시지를 사용하여 객실 및 패키지 메타데이터를 사전 정의하세요.
메시지 헤더에 Content-Encoding: gzip를 추가하여 메일에 GNU 압축 콘텐츠를 추가할 수도 있습니다.
All rights reserved. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-25(UTC)
[null,null,["최종 업데이트: 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."]]