Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú)

Tổng quan

Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) ARI xác định thông tin về các loại phòng và gói (hoặc gói giá) của từng cơ sở lưu trú. Mỗi dữ liệu về loại phòng bao gồm một giá trị nhận dạng duy nhất (RoomID), tên, nội dung mô tả và URL của ảnh phòng được bản địa hoá. Mỗi dữ liệu gói bao gồm một giá trị nhận dạng duy nhất (PackageID), tên, nội dung mô tả, số người lưu trú và giá trị gia tăng được bản địa hoá.

Bạn có thể sử dụng thông báo Giao dịch để làm những việc sau:

  • Xác định dữ liệu cho một hoặc nhiều tài sản.
  • Xác định loại phòng và thông tin về gói dịch vụ cho từng cơ sở lưu trú.
  • Kiểm soát các sản phẩm được cung cấp.

Ngoài ra, bạn có thể thiết lập các hành động để thực hiện những việc sau:

  • Thêm loại phòng và gói dịch vụ vào cơ sở lưu trú.

  • Xoá loại phòng và gói khỏi cơ sở lưu trú.

  • Thêm Điểm khách hàng thân thiết, chương trình phần thưởng vào một gói hoặc cơ sở lưu trú.

Để xem ví dụ về thông báo giao dịch, hãy xem phần Ví dụ về thông báo Giao dịch (Dữ liệu của cơ sở lưu trú).

Phần tử bắt buộc và không bắt buộc

Tài liệu tham khảo XML cung cấp nội dung mô tả về các phần tử bắt buộc và không bắt buộc. Để biết thông tin chi tiết về các thuộc tính và phần tử con, hãy xem phần Phần tử và thuộc tính giao dịch (Dữ liệu của cơ sở lưu trú).

Cú pháp và giản đồ

Hãy sử dụng ví dụ về Ngữ pháp giao dịch (Dữ liệu cơ sở lưu trú) làm tài liệu tham khảo khi bạn tạo thông báo Giao dịch để đảm bảo rằng bạn đang tuân theo đúng định dạng.

Bạn có thể sử dụng công cụ XML của bên thứ ba như xmllint để xác thực nguồn cấp dữ liệu bằng các lược đồ đã xuất bản trước khi gửi nguồn cấp dữ liệu cho Google. Để biết lược đồ thông báo giao dịch, hãy xem Lược đồ Quảng cáo khách sạn.

Nguyên tắc

Hãy làm theo các nguyên tắc sau đây đối với thông báo Giao dịch:

Việc cần làm:

delta: Dùng để thêm hoặc cập nhật các loại phòng và gói mới (gói giá).

overlay: Dùng để thay thế tất cả các loại phòng và gói cho một cơ sở lưu trú bằng một nhóm mới. Phải bao gồm thông tin về tất cả các loại phòng và gói giá mà bạn vẫn muốn bán.

Ngôn ngữ được hỗ trợ:

Chỉ định một đến hai ngôn ngữ (tiếng Anh và ngôn ngữ địa phương của cơ sở lưu trú nếu cần) cho các trường Tên, Nội dung mô tả và Chú thích. Bạn có thể thêm nhiều ngôn ngữ hơn nếu cần.

Loại phòng và gói dịch vụ:

Khi cập nhật một loại phòng hoặc gói dịch vụ, bạn phải gửi tất cả thông tin liên quan cho loại phòng hoặc gói dịch vụ đó. Ví dụ: khi thêm ảnh, bạn cũng phải thêm tên và nội dung mô tả.

<AllowablePackageIDs><AllowableRoomIDs> là không bắt buộc và nếu không được đặt, bạn có thể tạo bất kỳ kiểu kết hợp nào giữa loại phòng và gói giá. Bạn vẫn phải gửi tình trạng phòng và giá phòng cùng với mã loại phòng và mã gói giá. Các phần tử này cho phép bạn kiểm soát sản phẩm cũng như vô hiệu hoá các tổ hợp mà hệ thống không còn hỗ trợ.

Gửi cho Google thông báo Giao dịch cập nhật bất cứ khi nào có thay đổi về loại phòng hoặc gói, hoặc thông tin chi tiết quan trọng về loại phòng hoặc gói cần được thêm.

Điểm khách hàng thân thiết:

Để đưa hoặc loại trừ chương trình phần thưởng vào gói của bạn, hãy thiết lập cấu hình Điểm khách hàng thân thiết với Google. Thao tác này sẽ hiển thị số điểm kiếm được liên kết với gói đó. Tìm hiểu thêm về Điểm khách hàng thân thiết.

Sử dụng phần tử <MilesIncluded> để xác định hoặc cập nhật chiến dịch khách hàng thân thiết. Hãy xem phần Giao dịch(Dữ liệu của cơ sở lưu trú) để biết thêm thông tin. Bạn có thể thêm điểm khách hàng thân thiết vào <PackageData>.

Ví dụ:

Phần này cung cấp một ví dụ cơ bản về thông báo Giao dịch ARI sử dụng các phần tử bắt buộc và không bắt buộc. Để thêm hoặc cập nhật loại phòng và gói, bạn sử dụng thao tác cho delta để thêm hoặc cập nhật loại phòng và gói hoặc overlay để thay thế tất cả định nghĩa về loại phòng và gói (xoá các mục cũ).

Bạn cần chỉ định một đến hai ngôn ngữ (tiếng Anh và ngôn ngữ địa phương của tài sản nếu cần) cho các trường Tên, Nội dung mô tả và Phụ đề. Sau đó, hãy thêm thông tin dữ liệu cơ sở lưu trú, bao gồm cả đường liên kết đến ảnh.

Đối với <PropertyID><RoomID>, hãy sử dụng cùng một mã nhận dạng mà bạn sử dụng trong hệ thống của mình cho gói giá và loại phòng (tương ứng). Tính nhất quán với hệ thống của bạn là yếu tố quan trọng để đảm bảo rằng Google đang hiển thị chính xác giá và dữ liệu của bạn.

Sau khi chuẩn bị tệp, bạn phải gửi tệp đó đến Google thông qua một thông báo POST đến điểm cuối sau: https://www.google.com/travel/hotels/uploads/property_data

Để tìm hiểu thêm về cách đẩy/POST thông báo, hãy xem phần Đẩy thông báo.

Ví dụ sau đây cho thấy cách đặt thông báo Giao dịch bằng thao tác delta:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>PROPERTYID</Property>
      <RoomData>
        <RoomID>ROOMID</RoomID>
        <Name><Text text="ROOM NAME" language="en"/></Name>
        <Description>
          <Text text="ROOM DESCRIPTION TEXT" language="en"/>
        </Description>
        <Capacity>4</Capacity>
        <PhotoURL>
          <Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
          <URL>https://LINK TO PHOTO</URL>
        </PhotoURL>
      </RoomData>
      <PackageData>
        <PackageID>BASE</PackageID>
        <Name><Text text="Internet Special" language="en"/></Name>
        <Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
        <Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
      </PackageData>
  </PropertyDataSet>
</Transaction>

Để biết thêm ví dụ, chẳng hạn như cách sử dụng thao tác overlay, thêm loại phòng và gói vào dữ liệu cơ sở lưu trú hiện có, cũng như xoá các loại phòng và gói hiện có, hãy xem Ví dụ về giao dịch (Dữ liệu cơ sở lưu trú).

Hướng dẫn

Phần này cung cấp giải pháp cho các trường hợp bạn có thể gặp phải khi gửi Thông báo giao dịch.

Tình huống 1: Cách xoá dữ liệu loại phòng

Làm cách nào để xoá dữ liệu loại phòng và/hoặc gói dịch vụ hiện có?

Mô tả

Bạn đã gửi nhiều loại phòng, bao gồm cả phòng King và Queen, cho cơ sở lưu trú. Tất cả các loại phòng Queen đều không hoạt động trong quá trình tu sửa và hiện chỉ có các loại phòng King.

Giải pháp

  • Bạn không cần cập nhật tình trạng phòng, giá hoặc khoảng không quảng cáo hằng đêm cho loại phòng và mã gói đã bị xoá hoặc vô hiệu hoá.
  • Nếu loại phòng hoặc gói đã bị xoá hoặc huỷ kích hoạt, hãy gửi một thông báo Giao dịch mới bằng action="overlay". Thông báo này chỉ bao gồm các loại phòng và gói vẫn còn hoạt động, đồng thời loại trừ loại phòng hoặc gói đã bị xoá.

Mẫu

Đoạn mã XML này cho biết cách sử dụng thao tác overlay để xoá một loại phòng.

Dưới đây là hành động delta ban đầu bao gồm các loại phòng King và Queen:

  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
      </PackageData>
    <RoomData>
      <RoomID>Queen</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <Capacity>2</Capacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>

Sau đó, bạn có thể đặt overlay để xoá loại phòng Queen và giữ lại loại phòng King:

  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>

Tình huống 2: Cách kiểm soát sản phẩm bằng AllowablePackageIDs

Làm cách nào để kiểm soát sản phẩm (kết hợp loại phòng và gói) khi các gói được nhóm theo loại phòng?

Mô tả

Bạn có một số gói chỉ áp dụng cho một số loại phòng. Ví dụ: nếu cơ sở lưu trú của bạn có 4 loại phòng (bao gồm cả phòng Tổng thống) và 6 gói khác nhau, nhưng chỉ một số gói đủ điều kiện cho phòng Tổng thống, thì bạn có thể chỉ định điều kiện.

Giải pháp

Gửi thông báo Giao dịch đã cập nhật, chỉ định những sản phẩm có trong gói bằng <AllowablePackageIDs>.

Mẫu

Đoạn mã XML này cho thấy cách sử dụng <AllowablePackageIDs> để chỉ định các gói được sử dụng với một loại phòng nhất định. Ở đây, loại phòng Penthouse suite chỉ cho phép gói Penthouse all-inclusive hoặc gói Bữa sáng miễn phí, còn loại phòng King suite chỉ cho phép gói King all-inclusive hoặc gói Pet friendly.

<RoomData>
  <RoomID>penthouse_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
    <AllowablePackageID>free_breakfast</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
  <RoomID>king_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>king_all_inclusive</AllowablePackageID>
    <AllowablePackageID>pet_friendly</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
  <PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>pet_friendly</PackageID>
</PackageData>

Tình huống 3: Cách kiểm soát sản phẩm bằng AllowableRoomIDs

Làm cách nào để kiểm soát sản phẩm (kết hợp loại phòng và gói) khi loại phòng được nhóm theo gói?

Mô tả

Một loại phòng và gói dịch vụ kết hợp không còn được bán dưới dạng sản phẩm hoặc bạn muốn kiểm soát những gì có trong một gói mới. Ví dụ: bạn chỉ muốn chỉ định một số loại phòng nhất định, chẳng hạn như phòng King và Queen có tầm nhìn ra biển, với một gói.

Giải pháp

Gửi thông báo Giao dịch đã cập nhật, trong đó chỉ định chính xác các sản phẩm có trong gói bằng phần tử <AllowableRoomIDs>.

Mẫu

Đoạn mã XML này cho thấy cách sử dụng <AllowableRoomID> để chỉ định loại phòng King và Queen có tầm nhìn ra biển trong gói.

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>