====== Teamamerica Delta API Documentation ======
Welcome to the Teamamerica Delta API Interface Guide.
We hope you will have a smooth and successful integration to our system.
==== Overview ====
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.
- **Inventory Updates:** The API provides availability statuses within specific date ranges, indicating which dates went on **OnRequest** or **ClosedOut**.
**Pre-requirement: To use this API, you must first cache the full TA portfolio through XML5+.**
Development Rest EndPoint: http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/
Should you have any question or need any assistance, Please contact:
**it@teamamericany.com**
**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======
To retrieve updated data, send an XML request formatted as follows:
=====✔ GetDeltaRateChangesRQ [XML] =====
|Request Type |POST |
|EndPoint |http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/getDeltaRateChanges |
**Header:**
^Name^Value^
|Content-Type |application/xml |
|Accept |application/xml |
=== XML Request Parameters: ===
^Level^Name^Type^Occurs^Required^Comments^
|0 |GetDeltaRateChangesRQ |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 |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 ===
username
****
2025-02-20T12:00:00Z
=== XML Response Elements: ===
^Level^Name^Type^Occurs^Required^Comments^
|0 |GetDeltaRateChangesRS| |1 | | |
|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 synchronized / updated in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).|
|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.|
|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 |
|5 |DateRange| |1..N | |Contains a list of sequential date ranges.|
|6 |From| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
|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.|
|5 |DateRange| |1..N | |Contains a list of sequential date ranges.|
|6 |From| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
|6 |To| Date |1 | |Arrival date ends to; Format: YYYY-MM-DD|
|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 | |Contains a list of sequential date ranges.|
|6 |From| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
|6 |To| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
=== XML Response ===
2025-03-10T10:27:18Z
2025-03-10T04:54:26Z
2025-08-01
2025-08-11
2025-07-01
2025-07-05
2025-07-16
2025-07-17
2025-06-01
2025-06-30
=====✔ GetDeltaRateChangesRQ [JSON] =====
|Request Type |POST |
|EndPoint |http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/getDeltaRateChanges |
**Header:**
^Name^Value^
|Content-Type |application/json |
|Accept |application/json |
=== JSON Request ===
{
"UserName": "username",
"Password": "****",
"CityCode": "NYC",
"HotelID": 131,
"LastSynced": "2025-02-15T12:00:00Z"
}
=== JSON Response ===
{
"TimeStamp": "2025-02-20T17:08:44Z",
"LastSyncedTime": "2025-03-10T08:26:38Z",
"Hotels": {
"Hotel": [
{
"id": "131",
"Product": [
{
"code": "NYCHPC1BGG",
"Created": {
"DateRange": [
{
"From": "2025-02-27",
"To": "2025-03-01"
}
]
},
"Updated": {
"DateRange": [
{
"From": "2025-06-03",
"To": "2025-06-04"
}
]
}
}
]
}
]
}
}
=====✔ GetDeltaInventoryChangesRQ [XML] =====
|Request Type |POST |
|EndPoint |http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/getDeltaInventoryChanges |
**Header:**
^Name^Value^
|Content-Type |application/xml |
|Accept |application/xml |
=== XML Request Parameters: ===
^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 ===
username
****
NYC
1
1
2025-02-15T12:00:00Z
=== XML Response Elements: ===
^Level^Name^Type^Occurs^Required^Comments^
|0 |GetDeltaInventoryChangesRS| |1 | | |
|1 |TimeStamp| String |1 |1 |The current timestamp of the response in ISO 8601 format.|
|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 |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.|
|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 |Contains inventory availability that has been recently updated.|
|5 |Status| |1..N | |Indicates availability through the "type" attribute, which can be set to "ClosedOut" or "OnRequest".|
|6 |DateRange| |1..N | |Contains a list of sequential date ranges.|
|7 |From| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
|7 |To| Date |1 | |Arrival date starts from; Format: YYYY-MM-DD|
=== XML Response ===
2025-03-10T10:39:18Z
2025-03-10T04:54:26Z
2025-03-04
2025-03-19
2025-03-23
2025-03-25
2025-03-20
2025-03-22
2025-03-29
2025-03-29
2025-04-03
2025-04-04
=====✔ GetDeltaInventoryChangesRQ [JSON] =====
|Request Type |POST |
|EndPoint |http://devxml40.volateam.com:8081/TaDeltaApi/TeamAmerica/getDeltaInventoryChanges |
**Header:**
^Name^Value^
|Content-Type |application/json |
|Accept |application/json |
=== JSON Request ===
{
"UserName": "username",
"Password": "****",
"CityCode": "NYC",
"HotelID": 131,
"ShowOnRequest" : 1,
"ShowClosedOut" : 1,
"LastSynced": "2025-02-15T12:00:00Z"
}
=== JSON Response ===
{
"TimeStamp": "2025-03-10T10:27:18Z",
"LastSyncedTime": "2025-03-10T04:01:23Z",
"Hotels": {
"Hotel": [
{
"id": "131",
"Product": [
{
"code": "NYCHPC1BGG",
"Inventory": {
"Status": [
{
"Type": "ClosedOut",
"DateRange": [
{
"From": "2025-03-10",
"To": "2025-03-31"
},
{
"From": "2025-12-31",
"To": "2025-12-31"
}
]
}
]
}
}
]
}
]
}
}
===== Error Handling =====
If an error occurs, the API will return an error message in below formats:
**XML format:**
DCA101
Unauthorized Access: Invalid login credentials
2025-02-19T12:34:56Z
**JSON format:**
{
"ErrorResponse": {
"Code": "DCA101",
"Message": "Unauthorized Access: Invalid login credentials",
"Timestamp": "2025-02-19T12:34:56Z"
}
}
===== Common Error Codes =====
| Code | Description |
| DCA101 | Unauthorized Access: Invalid login credentials. |
| DCA102 | Validation Error: One or more fields failed validation checks.|
| DCA103 | Resource Not Found - The requested endpoint or data could not be found.|
| DCA104 | Bad Request: The request is malformed or missing required parameters.|
| DCA105 | Server Error: General server-side issue.|
| DCA106 | Method Error: Method not supported.|
----