User Tools

Site Tools


delta-service

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
delta-service [2025/03/11 09:22] Administratordelta-service [2025/03/13 10:25] (current) Administrator
Line 4: Line 4:
 Welcome to the Teamamerica Delta API Interface Guide.  Welcome to the Teamamerica Delta API Interface Guide. 
 We hope you will have a smooth and successful integration to our system. We hope you will have a smooth and successful integration to our system.
 +
  
 ==== Overview ==== ==== Overview ====
  
-This API provides a list of changes that have been created, updated, or deleted within a specified time frame. The response is available in XML and JSON formats and serves two key purposes:+This Delta API significantly reduces the need for clients to perform millions of searches daily and enables efficient synchronization by ensuring the client maintains the up-to-date hotel inventory data. This API provides a list of changes that have been created, updated, or deleted within a specified time frame. The response is available in XML and JSON formats and serves two key purposes:
  
-**Cache Updates:** The API returns date ranges that require cache updates on the client side, which should be refreshed using the **XML5+ PriceSearch** API.+  - **Cache Updates:** The API returns date ranges that require cache updates on the client side, which should be refreshed using the **XML5+ PriceSearch** API
 +  - **Inventory Updates:** The API provides availability statuses within specific date ranges, indicating which dates went on **OnRequest** or **ClosedOut**.
  
-**Inventory Updates:** The API provides availability statuses within specific date rangesindicating which dates went on **OnRequest** or **ClosedOut**.+**Pre-requirementTo use this API, you must first cache the full TA portfolio through XML5+.**
  
-This Delta API significantly reduces the need for clients to perform millions of searches daily and enables efficient synchronization by ensuring the client maintains the up-to-date hotel inventory data.+Development Rest EndPoint: http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/
  
 Should you have any question or need any assistance, Please contact: Should you have any question or need any assistance, Please contact:
 **it@teamamericany.com** **it@teamamericany.com**
- 
-Development Rest EndPoint: http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/ 
  
 **Note:** **Only whitelisted IP addresses will be granted access to this endpoint**. Please ensure that the relevant IP addresses are whitelisted to avoid any disruption in service. **Note:** **Only whitelisted IP addresses will be granted access to this endpoint**. Please ensure that the relevant IP addresses are whitelisted to avoid any disruption in service.
  
  
 +----
  
 ======Requests======  ======Requests====== 
Line 28: Line 29:
 To retrieve updated data, send an XML request formatted as follows: To retrieve updated data, send an XML request formatted as follows:
  
- =====✔ GetDeltaRateChangesRQ [XML] =====+=====✔ GetDeltaRateChangesRQ [XML] =====
  
 |Request Type  |POST  | |Request Type  |POST  |
Line 44: Line 45:
 ^Level^Name^Type^Occurs^Required^Comments^ ^Level^Name^Type^Occurs^Required^Comments^
 |0  |GetDeltaRateChangesRQ  |String  |1  |Y  |  |0  |GetDeltaRateChangesRQ  |String  |1  |Y  | 
-|1  |UserName  |String  |1  |Y  | Registered API username for authentication | +|1  |UserName  |String  |1  |Y  |Registered API username for authentication.
-|1  |Password  |String  |1  |Y  | Registered API password for authentication | +|1  |Password  |String  |1  |Y  |Registered API password for authentication.
-|1  |CityCode  |String  |1  |N  | Use [[start#listcities|ListCities]] to get City Codes from all available Cities, It is recommend to use CityCode for faster result|  +|1  |CityCode  |String  |1  |N  |To obtain city codes, use the [[start#listcities|ListCities]] function. Using the CityCode in your search will yield faster results. City codes are 3 characters long (e.g. NYC).|  
-|1  |HotelID  |Integer  |1  |N  | In this block you may enter specific vendor ID’s (Hotels), and narrow the search results to only your preferred hotels |  +|1  |HotelID  |Integer  |1  |N  |In this block you may enter specific vendor ID’s (Hotels), and narrow the search results to only your preferred hotels.|  
-|1  |LastSynced  |String  |1  |Y  | Timestamp of the last synchronization in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Data will be retrieved for changes made since this timestamp. |    +|1  |LastSynced  |String  |1  |Y  |Timestamp of the last synchronization in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). To retrieve data for any updates that have occurred since this timestamp.|    
  
 === XML Request === === XML Request ===
Line 67: Line 68:
 ^Level^Name^Type^Occurs^Required^Comments^ ^Level^Name^Type^Occurs^Required^Comments^
 |0  |GetDeltaRateChangesRS| |1  | | | |0  |GetDeltaRateChangesRS| |1  | | |
-|1  |TimeStamp| String |1  |1 |  |The current timestamp of the response in ISO 8601 format +|1  |TimeStamp| String |1  |1 |The current timestamp of the response in ISO 8601 format.| 
-|1  |LastSyncedTime| String |1  |1 |The timestamp of the last cache data synchronization update in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)| +|1  |LastSyncedTime| String |1  |1 |The timestamp of the last cache data synchronized updated in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
-|1  |Hotels|   |1  |1 |A container for all hotel rooms / services | +|1  |Hotels|   |1  |1 |A container for all hotel rooms / services.
-|2  |Hotel|  |1..N  |1 |A collection of room/service lists, each identified by an attribute named "id"="String" which corresponds to a specific HotelID| +|2  |Hotel|  |1..N  |1 |A collection of room/service lists, each identified by an attribute named "id"="String" which corresponds to a specific HotelID.
-|3  |Product|  |1..N  |1 |A specific product within a list, identified by an attribute named "code"="String" which represents a product code|+|3  |Product|  |1..N  |1 |A specific product within a list, identified by an attribute named "code"="String" which represents a product code.|
 |4  |Created|  |1  |1 |Contains date ranges indicating new inventory has recently been added to the list | |4  |Created|  |1  |1 |Contains date ranges indicating new inventory has recently been added to the list |
-|5  |DateRange|  |1..N  | |Contains a list of date ranges  +|5  |DateRange|  |1..N  | |Contains a list of sequential date ranges.
-|6  |From| Date  |1  | |The arrival date starts from; in YYYY-MM-DD format+|6  |From| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD| 
-|6  |To| Date  |1  | |The arrival date ends to; in YYYY-MM-DD format+|6  |To| Date  |1  | |Arrival date ends to; Format: YYYY-MM-DD| 
-|4  |Updated|  |1  |1 |Contains date ranges indicating inventory records have been recently updated| +|4  |Updated|  |1  |1 |Contains date ranges indicating inventory records have been recently updated.
-|5  |DateRange|  |1..N  | |   +|5  |DateRange|  |1..N  | |Contains a list of sequential date ranges.
-|6  |From| Date  |1  | | start date   +|6  |From| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD
-|6  |To| Date  |1  | | end date   +|6  |To| Date  |1  | |Arrival date ends to; Format: YYYY-MM-DD
-|4  |Deleted|  |1  |1 |   +|4  |Deleted|  |1  |1 |Contains date ranges indicating inventory records that have been recently moved out, restricted, or deleted. **Rates and availability for these periods are currently unavailable.**
-|5  |DateRange|  |1..N  | |   +|5  |DateRange|  |1..N  | |Contains a list of sequential date ranges.
-|6  |From| Date  |1  | | start date   +|6  |From| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD
-|6  |To| Date  |1  | | end date   |+|6  |To| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD| 
 + 
 +=== XML Response ===
  
 <code> <code>
-<GetDeltaRateChangesRS>+  <GetDeltaRateChangesRS>
      <TimeStamp>2025-03-10T10:27:18Z</TimeStamp>      <TimeStamp>2025-03-10T10:27:18Z</TimeStamp>
-    <LastSyncedTime>2025-03-10T14:54:26Z</LastSyncedTime> +     <LastSyncedTime>2025-03-10T04:54:26Z</LastSyncedTime> 
-    <Hotels> +     <Hotels> 
-        <Hotel id="69"> +       <Hotel id="69"> 
-            <Product code="NYCHXXXXX"> +         <Product code="NYCHBEL2FF"> 
-                <Created> +           <Created> 
-                    <DateRange> +             <DateRange> 
-                       <From>2025-08-01</From> +               <From>2025-08-01</From> 
-                       <To>2025-08-11</To> +               <To>2025-08-11</To> 
-      </DateRange> +       </DateRange> 
-  </Created>     +     </Created>     
-                 +           <Updated> 
-               <Updated> +             <DateRange> 
-                     <DateRange> +               <From>2025-07-01</From> 
-                         <From>2025-07-01</From> +               <To>2025-07-05</To> 
-                         <To>2025-07-11</To> +             </DateRange> 
-                     </DateRange> +             <DateRange> 
-                </Updated+               <From>2025-07-16</From
-                 +               <To>2025-07-17</To> 
-                <Deleted> +             </DateRange> 
-             <DateRange> +           </Updated> 
-                       <From>2025-07-01</From> +           <Deleted> 
-                       <To>2025-07-11</To> +      <DateRange> 
-                    </DateRange> +               <From>2025-06-01</From> 
-                </Deleted>                 +               <To>2025-06-30</To> 
-            </Product> +             </DateRange> 
-        +           </Deleted>                 
-        </Hotel>+        </Product> 
 +      </Hotel>
     </Hotels>     </Hotels>
-</GetDeltaRateChangesRS>+  </GetDeltaRateChangesRS>
 </code> </code>
  
  
-=====✔ RateChanges(JSON)=====+=====✔ GetDeltaRateChangesRQ [JSON=====
  
 |Request Type  |POST  | |Request Type  |POST  |
Line 131: Line 135:
 |Accept  |application/json  | |Accept  |application/json  |
  
-**Description:** +=== JSON Request ===
-**JSON Request** +
-   +
  
 <code> <code>
-{+  {
     "UserName": "username",     "UserName": "username",
-    "Password": "*password*,+    "Password": "****",
     "CityCode": "NYC",     "CityCode": "NYC",
-    "HotelID": "131",+    "HotelID": 131,
     "LastSynced": "2025-02-15T12:00:00Z"     "LastSynced": "2025-02-15T12:00:00Z"
   }   }
 </code> </code>
  
- +=== JSON Response ===
-**JSON Response**+
  
 <code> <code>
-{+  {
     "TimeStamp": "2025-02-20T17:08:44Z",     "TimeStamp": "2025-02-20T17:08:44Z",
     "LastSyncedTime": "2025-03-10T08:26:38Z",     "LastSyncedTime": "2025-03-10T08:26:38Z",
Line 156: Line 157:
             {             {
                 "id": "131",                 "id": "131",
- 
                 "Product": [                 "Product": [
                     {                     {
-                        "code": "NYCHXXXX", +                        "code": "NYCHPC1BGG", 
-                         "Created": {+                        "Created": {
                             "DateRange": [                             "DateRange": [
                                 {                                 {
Line 181: Line 181:
         ]         ]
     }     }
-}+  }
 </code> </code>
  
  
- =====✔ InventoryChanges(XML)=====+=====✔ GetDeltaInventoryChangesRQ [XML=====
  
 |Request Type  |POST  | |Request Type  |POST  |
Line 195: Line 195:
 |Accept  |application/xml  | |Accept  |application/xml  |
  
-**Description:** 
-**XML Request** 
  
-^Level^Name^Type^Occurs^Required^Comments^ +=== XML Request Parameters===
-|0  | GetDeltaInventoryChangesRQ  |string  |1  |Y  |  +
-|1  |UserName  |string  |1  |Y  |  +
-|1  |Password  |string  |1  |Y  |  +
-|1  |CityCode  |string  |1  |N  |Use [[start#listcities|ListCities]] to get City Codes from all available Cities, It is recommend to use cityCode for faster result|  +
-|1  |HotelID  |string  |1  |N  |In this block you may enter specific vendor ID’s (Hotels), and narrow the search results to only your preferred hotels| +
-|1  |ShowOnRequest  |int  |1  |Y  | can be 0 or 1 |  +
-|1  |ShowClosedOut  |int  |1  |Y  | can be 0 or 1 |  +
-|1  |LastSynced  |string  |1  |Y  |ISO YYYY-MM-DDTH:MM:ssZ(ZonalTime) |    +
  
  
 +^Level^Name^Type^Occurs^Required^Comments^
 +|0  | GetDeltaInventoryChangesRQ  |String  |1  |Y  | 
 +|1  |UserName  |String  |1  |Y  |Registered API username for authentication.| 
 +|1  |Password  |String  |1  |Y  |Registered API password for authentication.| 
 +|1  |CityCode  |String  |1  |N  |To obtain city codes, use the [[start#listcities|ListCities]] function. Using the CityCode in your search will yield faster results. City codes are 3 characters long (e.g. NYC).| 
 +|1  |HotelID  |Integer  |1  |N  |In this block you may enter specific vendor ID’s (Hotels), and narrow the search results to only your preferred hotels.|
 +|1  |ShowOnRequest  |Integer  |1  |Y  |Lists all "OnRequest" dates. The default value is 1. This value can be set to either 0 (disabled) or 1 (enabled).| 
 +|1  |ShowClosedOut  |Integer  |1  |Y  |Lists all "ClosedOut" dates. The default value is 1. This value can be set to either 0 (disabled) or 1 (enabled).| 
 +|1  |LastSynced  |String  |1  |Y  |Timestamp of the last synchronization in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). To retrieve data for any updates that have occurred since this timestamp.|    
 +
 +=== XML Request ===
  
 <code> <code>
  <GetDeltaInventoryChangesRQ>  <GetDeltaInventoryChangesRQ>
      <UserName>username</UserName>      <UserName>username</UserName>
-     <Password>******</Password>+     <Password>****</Password>
      <CityCode>NYC</CityCode>      <CityCode>NYC</CityCode>
      <HotelID></HotelID>      <HotelID></HotelID>
Line 223: Line 224:
  
  
-**XML Response**+=== XML Response Elements: === 
 ^Level^Name^Type^Occurs^Required^Comments^ ^Level^Name^Type^Occurs^Required^Comments^
 |0  |GetDeltaInventoryChangesRS| |1  | | | |0  |GetDeltaInventoryChangesRS| |1  | | |
-|1  |TimeStamp| DATE_TIME |1  |1 |  +|1  |TimeStamp| String |1  |1 |The current timestamp of the response in ISO 8601 format.
-|1  |LastSyncedTime| DATE_TIME |1  |1 | lastSyncTime of current user  +|1  |LastSyncedTime| String |1  |1 |Timestamp of the last synchronization in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). To retrieve data for any updates that have occurred since this timestamp.
-|1  |Hotels|   |1  |1 |  +|1  |Hotels|   |1  |1 |A container for all hotel rooms / services.
-|2  |Hotel|  |1..N  |1 | attribute id = hotel code  +|2  |Hotel|  |1..N  |1 |A collection of room/service lists, each identified by an attribute named “id=“String” which corresponds to a specific HotelID.
-|3  |Product|  |1..N  |1 | attribute code = product code  +|3  |Product|  |1..N  |1 |A specific product within a list, identified by an attribute named “code=“String” which represents a product code.
-|4  |Inventory|  |1  |1 |   +|4  |Inventory|  |1  |1 |Contains inventory availability that has been recently updated.
-|5  |Status|  |1..N  | | attribute Type=ClosedOut/OnRequest  +|5  |Status|  |1..N  | |Indicates availability through the "type" attribute, which can be set to "ClosedOut" or "OnRequest".
-|6  |DateRange|  |1..N  | |   +|6  |DateRange|  |1..N  | |Contains a list of sequential date ranges.
-|7  |From| Date  |1  | | start date   +|7  |From| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD
-|7  |To| Date  |1  | | end date   |+|7  |To| Date  |1  | |Arrival date starts from; Format: YYYY-MM-DD| 
 + 
 +=== XML Response ===
  
 <code> <code>
- <GetDeltaInventoryChangesRS> +  <GetDeltaInventoryChangesRS> 
-    <TimeStamp>2025-03-04 06:33:38 EST</TimeStamp> +    <TimeStamp>2025-03-10T10:39:18Z</TimeStamp> 
-    <LastSyncedTime>2025-03-03 16:33:38 EST</LastSyncedTime>+    <LastSyncedTime>2025-03-10T04:54:26Z</LastSyncedTime>
     <Hotels>     <Hotels>
-        <Hotel id="69"> +      <Hotel id="69"> 
-            <Product code="NYCHXXX"> +        <Product code="NYCHBEL2FF"> 
-                 +          <Inventory> 
-                    <Inventory> +            <Status type="OnRequest"> 
-                        <Status type="OnRequest"> +              <DateRange> 
-                            <DateRange> +                <From>2025-03-04</From> 
-                                <From>2025-03-04</From> +                <To>2025-03-19</To> 
-                                <To>2025-03-19</To> +              </DateRange> 
-                            </DateRange> +              <DateRange> 
-                            <DateRange> +                <From>2025-03-23</From> 
-                                <From>2025-03-23</From> +                <To>2025-03-25</To> 
-                                <To>2025-03-25</To> +              </DateRange> 
-                            </DateRange> +            </Status> 
-                        </Status> +            <Status type="ClosedOut"> 
-                        <Status type="ClosedOut"> +              <DateRange> 
-                            <DateRange> +                <From>2025-03-20</From> 
-                                <From>2025-03-20</From> +                <To>2025-03-22</To> 
-                                <To>2025-03-22</To> +              </DateRange> 
-                            </DateRange> +              <DateRange> 
-                            <DateRange> +                <From>2025-03-29</From> 
-                                <From>2025-03-29</From> +                <To>2025-03-29</To> 
-                                <To>2025-03-29</To> +              </DateRange> 
-                            </DateRange> +              <DateRange> 
-                            <DateRange> +                <From>2025-04-03</From> 
-                                <From>2025-04-03</From> +                <To>2025-04-04</To> 
-                                <To>2025-04-04</To> +              </DateRange> 
-                            </DateRange> +            </Status> 
-                        </Status> +          </Inventory> 
-                    </Inventory> +        </Product> 
-                </Product> +      </Hotel>
-        </Hotel>+
     </Hotels>     </Hotels>
- </GetDeltaInventoryChangesRS>+  </GetDeltaInventoryChangesRS>
 </code> </code>
  
  
-=====✔ InventoryChanges(JSON)=====+=====✔ GetDeltaInventoryChangesRQ [JSON=====
  
 |Request Type  |POST  | |Request Type  |POST  |
Line 289: Line 292:
 |Accept  |application/json  | |Accept  |application/json  |
  
-**Description:** 
-**JSON Request** 
  
 +=== JSON Request ===
  
 <code> <code>
-{+  {
     "UserName": "username",     "UserName": "username",
-    "Password": "******",+    "Password": "****",
     "CityCode": "NYC",     "CityCode": "NYC",
-    "HotelID": "131",+    "HotelID": 131,
     "ShowOnRequest" : 1,     "ShowOnRequest" : 1,
     "ShowClosedOut" : 1,     "ShowClosedOut" : 1,
Line 306: Line 308:
  
  
-**JSON Response**+=== JSON Response === 
  
 <code> <code>
-{+  {
     "TimeStamp": "2025-03-10T10:27:18Z",     "TimeStamp": "2025-03-10T10:27:18Z",
-    "LastSyncedTime": "2025-03-10T15:01:23Z",+    "LastSyncedTime": "2025-03-10T04:01:23Z",
     "Hotels": {     "Hotels": {
         "Hotel": [         "Hotel": [
Line 318: Line 321:
                 "Product": [                 "Product": [
                     {                     {
-                        "code": "NYCHXXXX",+                        "code": "NYCHPC1BGG",
                         "Inventory": {                         "Inventory": {
                             "Status": [                             "Status": [
Line 342: Line 345:
         ]         ]
     }     }
-}+  }
 </code> </code>
  
Line 373: Line 376:
 | Code    | Description                                       | | Code    | Description                                       |
 | DCA101  | Unauthorized Access: Invalid login credentials.   | | DCA101  | Unauthorized Access: Invalid login credentials.   |
-DCA111  | Validation Error: One or more fields failed validation checks.| +DCA102  | Validation Error: One or more fields failed validation checks.| 
-DCA105  | Resource Not Found - The requested endpoint or data could not be found.| +DCA103  | Resource Not Found - The requested endpoint or data could not be found.| 
-DCA106  | Bad Request: The request is malformed or missing required parameters.| +DCA104  | Bad Request: The request is malformed or missing required parameters.| 
-DCA104  Data Type MismatchInvalid data type detected in the request.| +DCA105  Server ErrorGeneral server-side issue.| 
 +| DCA106  | Method Error: Method not supported.|
  
  
delta-service.1741699334.txt.gz · Last modified: 2025/03/11 09:22 by Administrator