Freigeben über


Erstellen einer Hinweisnachricht

Wenn Sie sich für Pull-With-Hinweis-Anforderungen registrieren, sendet Microsoft eine Nachricht mit dem folgenden Formular an den von Ihnen angegebenen Endpunkt, mit der Sie aufgefordert werden, änderungen an der Reiseroute seit dem letzten Pull Request zu identifizieren. Sie entscheiden die Häufigkeit der Anforderungen zum Zeitpunkt des Onboardings.

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="123-abc" timestamp="2017-10-21T08:45:09Z">
  <LastFetchTime>2017-10-21T08:30:16Z</LastFetchTime>
</HintRequest>

Das LastFetchTime -Element identifiziert das UTC-Datum und die Uhrzeit der letzten erfolgreichen Antwort, die Sie Microsoft gesendet haben, die Änderungen an die Reiseroute identifiziert hat. Wenn seit diesem Zeitpunkt keine Änderungen vorgenommen wurden, sollte Ihre Antwort einen leeren Text enthalten. Wenn Änderungen vorgenommen wurden, enthält der Text eine Hinweismeldung , die die geänderten Reiserouten identifiziert. Sie können die Reiserouten mit einer der folgenden Methoden identifizieren:

Genaue Reiserouten

Ihre Hinweisnachricht kann die einzelnen Reiserouten anhand des Check-in-Datums und der Aufenthaltsdauer identifizieren. Das folgende Beispiel zeigt eine Hinweismeldung, die eine einzelne Reiseroute für ein einzelnes Hotel angibt.

<Hint>
  <Item>
    <Property>789</Property>
    <Stay>
      <CheckInDate>2017-10-20</CheckInDate>
      <LengthOfStay>2</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Jeder <Artikel> stellt eine einzelne Reiseroute dar. Sie können ein <Item-Objekt> für jede Reiseroute angeben, die Sie aktualisieren möchten, und jede Reiseroute kann eine oder mehrere Eigenschaften angeben.

Wenn Microsoft den obigen Hinweis empfängt, sendet es die folgende Abfragenachricht an Sie:

<Query>
  <Checkin>2017-10-20</Checkin>
  <Nights>2</Nights>
  <PropertyList>
    <Property>789</Property>
  </PropertyList>
</Query>

Wenn Sie die Abfragenachricht erhalten, sollte Ihre Antwort einen Preisfeed mit dem folgenden <Ergebnis> enthalten.

  <Result>
    <Property>789</Property>
    <Checkin>2017-10-20</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>

Wenn der obige Hinweis zwei Eigenschaften angibt, enthält der Preisfeed zwei <Result-Elemente> (eines für jede Eigenschaft).

Check-in-Datumsbereiche

Ihre Hinweisnachricht kann eine Reihe von Reiserouten identifizieren. Um den Bereich anzugeben, legen Sie das FirstDate -Element auf das Startdatum des Eincheckens und auf das LastDate letzte Eincheckdatum fest. Das folgende Beispiel zeigt eine Hinweismeldung, die einen Datumsbereich verwendet, um sechs Einchecktermine für eine einzelne Eigenschaft anzugeben.

<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>123</Property>
    <FirstDate>2017-10-20</FirstDate>
    <LastDate>2017-10-25</LastDate>
  </Item>
</Hint>

Jedes <Element> stellt einen einzelnen Bereich von Eincheckdaten dar. Sie können für jeden Check-in-Datumsbereich ein <Item-Objekt> angeben, das die zu aktualisierenden Reiserouten identifiziert, und jede kann eine oder mehrere Eigenschaften angeben.

Wenn Microsoft den obigen Hinweis empfängt, sendet es die folgende Abfragenachricht an Sie.

<Query>
  <FirstDate>2017-10-20</FirstDate>
  <LastDate>2017-10-25</LastDate>
  <Nights>3</Nights>
  <PropertyList>
    <Property>123</Property>
  </PropertyList>
</Query>

Wenn Sie die Abfragemeldung erhalten, sollte Ihre Antwort einen Preisfeed mit den folgenden <Result-Objekten> enthalten.

  <Result>
    <Property>789</Property>
    <Checkin>2017-10-20</Checkin>
    <Nights>1</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-20</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-20</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>

  . . .
  
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>1</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>

In diesem Beispiel ist die maximale Anzahl der Ergebnisse, die der Preisfeed enthalten sollte, 18 (6 Check-in-Daten * 3 Nächte). Ihr Preisfeed enthält möglicherweise weniger, wenn sich einige Reiserouten mit dem Datumsbereich nicht geändert haben.

Erweiterte Check-in-Datumsbereiche

Der erweiterte Check-in-Datumsbereich-Hinweis ähnelt dem Hinweis zum Check-in-Datumsbereich, mit dem Unterschied, dass Sie alle Reiserouten einschließen müssen, die die Reiserouten im Datumsbereich überschneiden. Daher sollte Ihr Preisfeed jede Reiseroute enthalten, deren Check-out-Datum innerhalb des Datumsbereichs liegt.

StaysIncludingRange <> identifiziert den Hinweis als erweiterten Check-in-Datumsbereichshinweis. Um den Bereich anzugeben, legen Sie das FirstDate -Element auf das Startdatum des Eincheckens und auf das LastDate letzte Eincheckdatum fest. Das folgende Beispiel zeigt eine Hinweismeldung, die einen Datumsbereich verwendet, um sechs Einchecktermine für eine einzelne Eigenschaft anzugeben.

<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>123</Property>
    <StaysIncludingRange>
      <FirstDate>2017-10-20</FirstDate>
      <LastDate>2017-10-25</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Jeder <Artikel> stellt einen einzelnen Bereich von Reiserouten dar. Sie können für jeden Check-in-Datumsbereich ein <Item-Objekt> angeben, das die zu aktualisierenden Reiserouten identifiziert, und jede kann eine oder mehrere Eigenschaften angeben.

Wenn Microsoft den obigen Hinweis empfängt, sendet es die folgende Abfragenachricht an Sie. Die MaxLengthOfStay Einstellung in Ihrer QueryControl-Nachricht bestimmt den Wert für <AffectedNights> (in diesem Beispiel wird davon ausgegangen, dass er auf 3 festgelegt ist).

<Query>
  <FirstDate>2017-10-20</FirstDate>
  <LastDate>2017-10-25</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>123</Property>
  </PropertyList>
</Query>

Wenn Sie die Abfragemeldung erhalten, sollte Ihre Antwort einen Preisfeed mit den folgenden <Result-Objekten> enthalten. Beachten Sie, dass das Check-in-Datum für die ersten Objekte vor dem FirstDate Datum in Ihrem Hinweis fällt. Dies liegt daran, dass das Check-out-Datum der Reiseroute innerhalb des Datumsbereichs des Hinweises liegt.

  <Result>
    <Property>789</Property>
    <Checkin>2017-10-17</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-18</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-18</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-19</Checkin>
    <Nights>1</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-19</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-19</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-20</Checkin>
    <Nights>1</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>

  . . .
  
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>1</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>2</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>
  <Result>
    <Property>789</Property>
    <Checkin>2017-10-25</Checkin>
    <Nights>3</Nights>
    <!-- Pricing and other elements that changed -->
  </Result>

Batchverarbeitung von Abfragen

Abhängig von der Anzahl der Eigenschaften und Reiserouten, die Sie aktualisieren müssen, sendet Microsoft Ihnen mehrere kleinere Abfragen anstelle einer großen Abfrage. Wenn Sie beispielsweise Reiserouten für 1.000 Eigenschaften aktualisieren müssen, sendet Microsoft Ihnen möglicherweise 100 Abfragenachrichten mit jeweils 10 Eigenschaften.