EDDI Event APIs
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The EDDI - Events is a direct access, automated and real-time price fetching service. This EDDI API Explorer details all the available communication methods and provides users with a platform to directly test these methods.
Users can evaluate all the methods described in this document within this Swagger Explorer, passing the appropriate parameters to fetch price as it is displayed in the given source, in real-time.
The Methods listed in this document are organized under the following Groups Methods:
Parameter | Definition |
---|---|
Authentication | Gaining access to the EDDI API. |
Account | Viewing basic information about your query (henceforth referred to as "call") settings |
Entity Information | Search and retrieve information on the events you wish to track |
EDDI Shops | Create templates that help the user to define call parameters used to filter the dataset related to events, their impact, or the hotel's demand. Once defined, it can be called as and when required or even be linked to a Schedule. |
Demand | Identify a property's demand or an event impact using a granular call or an EDDI Shop. |
Schedules | Set up a routine to run an EDDI Shop. |
Hooks | Defines the endpoint for the delivery of events or impact or demands retrieved by the EDDI API |
References | Retrieves reference values used in EDDI API |
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Communication Methods
This is the Swagger Explorer for the EDDI DataStream. This provides seamless access to the DataStream product and enables you to integrate easily with your application.
This API Explorer lists the available communication methods and provides a way to directly test these methods. The user can go through every stage, starting with the authentication, through fetching the responses and all the intermediate stages, passing actual parameters, and fetching a response identical to the live environment.
Authorization
Every request sent to the EDDI API must be authenticated with an access token. You can obtain an access token when you log in using the credentials provided in your EDDI API packet. An access token is valid for twenty-four (24) hours from the time it is generated
Authorizing Requests on this Page
The Access Token will be automatically appended to the Authorization Value when requests are made within the Swagger Explorer. The key appears in the value textbox in the Authorize button at the top right corner of the methods panel Start. If for any reason this does not happen automatically, just copy the access token obtained using the authtoken method and paste it in this text box.
Base URL:
https://eddi.aggregateintelligence.com/apidocs/#/
Request and Response Parameters
Common Request Header / Body / Query Parameters
The Request Header parameters is applicable to all other field attributes and features.
Name | Requirement (True or False) | Data Type | Description |
---|---|---|---|
Authorization | Required | String | The JWT Token in format "Bearer xxxx.yyyy.zzzz" |
The Request Body / Query parameters is applicable to all other field attributes and features for the purpose of pagination.
Name | In | Requirement (True or False) | Data Type | Description |
---|---|---|---|---|
page | query | Optional/False | Integer / Number | Enter the page number with default value as 1 |
size | query | Optional/False | Number/ integer | Enter the size of data with the default value as 10 |
Authentication
This call authenticates the validity of a username/password combination. If the authentication is successful, a valid access token is issued. Use the username and password provided to you in your EDDI API packet.
Auth & User Management
POST /authtoken/ Gaining access to the EDDI API
Example: username=
Where the username is the user’s name and the password is the user’s password.
Auth is handled using the usual JWT bearer tokens with a configurable default expiry (usually 24 hours).
- There is a POST /authtoken route, where the user provides the username and password, and gets back a valid JWT issued on a successful authentication. This JWT must be supplied in the header for all subsequent calls to the API.
- As our generic APIs may need to be accessed programmatically from other backend servers, can additionally provide certain users with a secure API Key (with a rotation/regeneration functionality) with an IP whitelisting for the accessing server(s).
Authtoken Request Body Parameters
Parameter Name | Value in | Data Type | Requirement (True or False) | Description |
---|---|---|---|---|
Username | formdata | string | required | The user’s name |
Password | formdata | $password | required | The user’s password |
Authtoken Parameter Response Codes
Success Response code is 200
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UserResp |
400 | Bad Request | Server unable to process the request - Invalid Information – by the client | None |
401 | Error: Unauthorized | Invalid Credential Access – Authentication Denied | None |
500 | Internal Error | - | None |
Account
GET /credits
Viewing basic information about your call settings
This method retrieves the account limitations. Limitations are based on commercial terms of your account as defined when the account was created. Limitations are subject to modification upon variation of commercial terms. Account limitations include the following:
validtill --> account expiration date.
calls --> maximum calls allowed per account on a daily, weekly and monthly basis
pullsperday --> maximum daily pull requests allowed
horizonmax --> maximum time horizon allowed for the demand predictions
events --> returns two-key dictionary, max number of shops, that can be active at a time (maxeddishops) and shops already in use (usededdishops)
schedules --> returns the two-key dictionary, maximum number of schedules, that can be active at a time (maxschedules) and schedules already in place (usedschedules)
These methods retrieve the call limitations set for your account. These limitations are based on the commercial terms of your account and are set at the time, the account was first created and changed to reflect any change to these commercial terms.
The “pullsperday”, “rateshops”, “ horizonmax” and “schedules” indicate the maximum permissible limit available for your account for these features.
No Parameters are passed.
Common Response Status Codes
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UserResp |
400 | Bad Request | Server unable to process the request - Invalid Information – by the client | None |
401 | Error: Unauthorized | Invalid Credential Access – Authentication Denied | None |
500 | Internal Error | - | None |
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Entity Information
POST/events/
This method is used to fetch the eventid or an event’s base details.
This API call returns the basic details of all the events available in the EDDI database. In case the event you search for is not displayed in our database, please send a request to eddi@aggregateintelligence.in We will try to make it available within the next 24 hours.
Search Criteria --> Any parameter (single or in any combination). For more information about "Category", refer Category method under the header "Reference".
Example 1 --> { "eventid": 0, "eventname": "Chicago - The Musical", "category": "string", "country": "United States", "city": "string", "state": "string", "zip": "string" }
Example 2 --> { "eventid": 0, "eventname": "string", "category": "Entertainment events", "country": "United States", "city": "string", "state": "string", "zip": "string" }
eventid --> This is a Unique ID assigned to an event in the EDDI database. If the user knows the eventid, they can fetch the basic event details by the calls made on this method.
The Request Body / Query parameters is applicable to all other field attributes and features
Name | In | Requirement (True or False) | Data Type | Description |
---|---|---|---|---|
Data | Object Body | Required | - | Edit Value |
POST Events Request Parameters
POST Events Request Sample (JSON Code Format Snippet)
{
"eventid ": 0,
"eventname" : "string",
"category" : "string",
"country" : "string",
"city" : "string",
"state" : "string",
"zip": "string",
]
}
S. No | Parameter Name | Data Type |
---|---|---|
1 | eventid | integer |
2 | eventname | string |
3 | category | string |
4 | country | string |
5 | city | string |
6 | state | string |
POST Events Request Response Codes
Success Response code is 200
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UserResp |
400 | Bad Request | Server unable to process the request - Invalid Information – by the client | None |
401 | Error: Unauthorized | Invalid Credential Access – Authentication Denied | None |
500 | Internal Error | - | None |
POST/eventsinfo
This method is to fetch an event’s complete information.
This eventsinfo API call returns the complete details of all events available in the EDDI database. In case the event you search for is not displayed in our database, please send a request to eddi@aggregateintelligence.in. We will try to make it available within the next 24 hours.
Search Criteria --> Any parameter (single or in any combination). If latitude and longitude are chosen, then Proximity must be chosen as well. For more information about "Category", refer Category method under the header "Reference"
Date Format -->"range", Format
- Range value - 100-500
- Min value - < 500
- Max value - >500
- Exact - 500
proximity "string" format - Should be numeric and in miles Example1: "proximity": "2"
EventstatusCode Should be an integer value as follows [0,1,2,3,4,5]
- All Events - 0
- Scheduled - 1
- Rescheduled - 2
- Postponed - 3
- HolidayEvents - 4
- Cancelled - 5
Example1 --> { "eventid": 0, "eventname": "Chicago - The Musical", "category": "string", "startdate": "YYYY-MM-DD", "estimatedattendee": ">0", "venue": "string", "address": "string", "city": "string", "state": "string", "zip": "string", "country": "United States", "region": "string", "lat": "string", "lng": "string", "proximity": 0, "eventstatusCode":0 }
Example2 --> { "eventid": 0, "eventname": "string", "category": "string", "startdate": "YYYY-MM-DD", "estimatedattendee": ">0", "venue": "string", "address": "string", "city": "New York", "state": "string", "zip": "string", "country": "United States", "region": "string", "lat": "string", "lng": "string", "proximity": 0, "eventstatusCode":0 }
Example3 --> { "eventid": 0, "eventname": "string", "category": "string", "startdate": "YYYY-MM-DD", "estimatedattendee": ">0", "venue": "string", "address": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "region": "string", "lat": "39.7421", "lng": "-104.99", "proximity": 5, "eventstatusCode":0 }
eventid Unique ID assigned to an event in EDDI database. If the user knows the eventid, they can fetch the complete event details by calls made on this method.
POST /eventsinfo Request Parameters
POST /eventsinfo Request Parameters Sample Format of JSON Code Snippet
{
"eventid ": 0,
"eventname" : "string",
"category" : "string",
"country" : "string",
"city" : "string",
"state" : "string",
"zip": "string",
"country": "string",
"region": "string",
"lat": "string",
"lng": "string",
"proximity": 0,
"eventstatusCode": 1,
]
}
This method accepts the request id obtained in the response to the initial request. The response is identical to the initial response, but with the updated status at that point of time.
Responses
Query Parameter | Data Type |
---|---|
eventid | integer |
eventname | string |
category | string |
startdate | date example: YYYY-MM-DD |
estimatedattendee | string |
venue | string |
address | string |
city | string |
state | string |
zip | string |
country | string |
region | string |
lat | string |
lng | string |
proximity | string |
eventstatusCode | string |
The Common Response status codes are 200, 400, 401, 500.
POST/hotelinfo
Search and retrieve information on the hotels you wish to track
This API call returns the basic details of hotels available in our AI hotel database. In case the hotel you search for is not displayed in our database, please send a request to eddi@aggregateintelligence.in. We will try to make it available within the next 24 hours.
Search Criteria: Any parameter (single or in any combination). If lat and long are chosen, then Proximity has to be chosen as well.
"proximity": "string" format - Should be numeric and in miles Example1: "proximity": "2"
hotelcode Unique ID assigned to a hotel located in AI hotel database. If the user knows the hotel code, they can fetch the basic hotel details by calls made on this method.
Example1 --> { "hotelcode": 0, "hotelcodes": [], "hotelname": "Hyatt", "address": "string", "city": "string", "state": "string", "zip": "string", "country": "United States", "lat": "string", "lng": "string", "rating": "string", "proximity": 0 }
Example2 --> { "hotelcode": 0, "hotelcodes": [4475,4476], "hotelname": "string", "address": "string", "city": "New York", "state": "string", "zip": "string", "country": "United States", "lat": "string", "lng": "string", "rating": "string", "proximity": 0 }
Example3 --> { "hotelcode": 0, "hotelcodes": [], "hotelname": "string", "address": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "lat": "41.8913913", "lng": "-87.6054344", "rating": "string", "proximity": 5 }
POST /hotelinfo Request Parameters
POST /hotelinfo Request Parameters Sample Format JSON Code Snippet
{
"hotelcode ": 0,
"hotelcodes" : [],
"hotelname" : "string",
"address" : "string",
"city" : "string",
"state" : "string",
"zip": "string",
"country": "string",
"lat": "string",
"lng": "string",
"rating": "string",
"proximity": 1,
]
}
Parameter | Data Type |
---|---|
hotelcode | integer |
hotelcodes | example: List [] |
hotelname | string |
address | string |
city | string |
state | string |
zip | string |
country | string |
lat | string |
lng | string |
rating | string |
proximity | string |
EDDI Shop
Rateshop Request Parameters Sample (JSON Code)
{
"rateshopname" : "string",
"occupancy" : 10,
"currency": 3 ,
"state": "string" ,
"currencies" : [
"string" ,
]
"fetchtype" : 0 ,
"horizon" : 365 ,
"hotelcodes" : [
0 ,
]
"compsets" : [
{
"hotelcode" : 0 ,
"competitorhotelcodes" : [
0 ,
]
}
],
"sources" : [
0 ,
],
"horizonexpression" : "string",
"horizonrange" : "string",
"pos" : 10,
}
POST /CreateEventImpactShop
Users can create the EventImpactShop.
This API call creates templates that help the user to call all mandatory parameters (impactshopname, horizon, fetchtype, and startdate along with either of the permuted parameters listed below) that are used to filter the event impact dataset. Once defined, it can be called as and when required or even be linked to a Schedule.
Search criteria - Permuted parameters:
- eventids, impactshopname, horizon, fetchtype, and startdate
- estimatedattendee, impactshopname, horizon, fetchtype, and startdate
- city, impactshopname, horizon, fetchtype, and startdate
- country, impactshopname, horizon, fetchtype, and startdate
- city and country, impactshopname, horizon, fetchtype, and startdate
- city and estimatedattendee, impactshopname, horizon, fetchtype, and startdate
- country and estimatedattendee, impactshopname, horizon, fetchtype, and startdate
impactshopname --> Your custom name for the eventinfoshop
horizon --> How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon is 365 date format: "2021-10-02"
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. example:{"fetchtype":1}
- 1 - s3
- endpoint
- Email containing the path will be sent to the user once data is executed.
Endpoint --> User to specify a location of their preference.
estimatedattendee --> "range", Format
- Range value - 100-500
- Min value - <500
- Max value - > 500
- Exact - 500
status
- 1 - Active
- 0 - In Active
Example 1 --> { "impactshopname": "NYEvents_2022", "estimatedattendee": "string", "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status":1 }
Example 2 --> { "impactshopname": "NYEvents_2022_1000", "estimatedattendee": ">1000", "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status":1 }
Users can create the EventImpactShop.
This EventImpactShop API call creates templates that help the user to call all mandatory parameters (impactshopname, horizon, fetchtype, and startdate along with either of the permuted parameters listed below) that are used to filter the event impact dataset. Once defined, it can be called as and when required or even be linked to a Schedule.
Search criteria - Permuted parameters:
- eventids, impactshopname, horizon, fetchtype, and startdate
- estimatedattendee, impactshopname, horizon, fetchtype, and startdate
- city, impactshopname, horizon, fetchtype, and startdate
- country, impactshopname, horizon, fetchtype, and startdate
- city and country, impactshopname, horizon, fetchtype, and startdate
- city and estimatedattendee, impactshopname, horizon, fetchtype, and startdate
- country and estimatedattendee, impactshopname, horizon, fetchtype, and startdate
impactshopname --> Your custom name for the eventinfoshop
horizon --> How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon is 365 date format: "2021-10-02"
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. eg:{"fetchtype":1}
- s3
- endpoint
s3: Email containing the path will be sent to the user once data is executed. Endpoint: User to specify a location of their preference.
estimatedattendee -->"range", Format
- Range value - 100-500
- Min value - < 500
- Max value - >500
- Exact - 500
status -->
- 1 - Active
- 0 - In Active
Example 1 --> { "impactshopname": "NYEvents_2022", "estimatedattendee": "string", "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status":1 }
Example 2 --> { "impactshopname": "NYEvents_2022_1000", "estimatedattendee": ">1000", "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status":1
POST Create Event Impact Shop Request Parameters
POST Create Event Impact Shop Sample Response JSON Format Code Snippet
{
"impactshopname" : "string",
"estimatedattendee" : "string",
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-17" ,
"horizon" : 0 ,
"eventids" : [] ,
"status" : 1
}
Query Parameter | Data Type |
---|---|
impactshopname | string |
estimatedattendee | string |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
eventids | example: List [] |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500.
POST /CreateEventInfoShop
Users can create the Eventinfoshop
This createeventinfoshop API call creates templates that helps the user to call all mandatory parameters (eventshopname, horizon, fetchtype, and startdate along with either of the permuted parameters listed below) that are used to filter the event dataset. Once defined, it can be called as and when required or can even be linked to a Schedule
Search criteria - Permuted parameters:
- eventids, eventshopname, horizon, fetchtype, and startdate
- estimatedattendee, eventshopname, horizon, fetchtype, and startdate
- city, eventshopname, horizon, fetchtype, and startdate
- country, eventshopname, horizon, fetchtype, and startdate
- city and country, eventshopname, horizon, fetchtype, and startdate
- city and estimatedattendee, eventshopname, horizon, fetchtype, and startdate
- country and estimatedattendee, eventshopname, horizon, fetchtype, and startdate
eventshopname --> Your custom name for the eventinfoshop
horizon --> How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon is 365 date format: "2021-10-02"
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. eg:{"fetchtype":1}
- 1 - s3
- 2 - endpoint
s3 --> Email containing the path will be sent to the user once the data is executed
Endpoint --> User to specify a location of their preference
estimatedattendee --> "range", Format
- Range value - 100-500
- Min value - < 500t
- Max value - > 500
- Exact - 500
status -->
- 1 - Active
- 0 - In Active
Example 1 --> { "eventshopname": "NYEvents_2022", "estimatedattendee": "string", "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status": 1 }
Example 2 --> { "eventshopname": "NYEvents_2022", "estimatedattendee": ">1000", "city": "New York", "country": "United States", "fetchtype": 2, "startdate": "2022-04-01", "horizon": 90, "eventids": [], "status": 1 }
POST Create Event Info Shop Request Parameters
POST Create Event Info Shop Sample Response JSON Format Code Snippet
{
"eventshopname" : "string",
"estimatedattendee" : "string",
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-18" ,
"horizon" : 0 ,
"eventids" : [] ,
"status" : 1
}
Query Parameter | Data Type |
---|---|
eventshopname | string |
estimatedattendee | string |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
eventids | example: List [] |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500.
POST /Create Hotel Demand Shop
Users can create the HotelDemandShop
This create hotel demand shop API call creates templates that help the user to call all mandatory parameters (hoteldemandshopname, horizon, fetchtype and startdate along with either of the permuted parameters listed below) that are used to filter the hotel demand dataset. Once defined, it can be called as and when required or even be linked to a Schedule.
Search criteria - Permuted parameters
- hotelcodes, demandshopname, horizon, fetchtype, proximity, and startdate
- city, demandshopname, horizon, fetchtype, proximity and startdate
- country, demandshopname, horizon, fetchtype, proximity, and startdate
- city and country, demandshopname, horizon, fetchtype, proximity, and startdate
demandshopname --> Your custom name for the hoteldemandshop
horizon --> How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon is 365 date format: "2021-10-02"
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. eg:{"fetchtype":1}
- 1 - s3
- 2 – endpoint
s3 --> Email containing the path will be sent to the user once data is executed. Endpoint: User to specify a location of their preference.
proximity --> string" format - Should be numeric and in miles Example1: "proximity": "2"
status -->
- 1 - Active
- 0 - In Active
Example 1 --> { "demandshopname": "NYHotel_Demand2022", "hotelcodes": [], "city": "New York", "country": "United States", "fetchtype": 1, "startdate": "2022-04-01", "horizon": 365, "proximity": 2, "status":1 }
Example 2 --> { "demandshopname": "NYHotel_Demand2022", "hotelcodes": ["43308","50225","26128","14300","66351","147132"], "city": "string", "country": "string", "fetchtype": 2, "startdate": "2022-04-01", "horizon": 90, "proximity": 10, "status":1 }
POST Create Hotel Demand Shop Request Parameters
POST Create Event Info Shop Sample Response JSON Format Code Snippet
{
"eventshopname" : "string",
"estimatedattendee" : "string",
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-18" ,
"horizon" : 0 ,
"eventids" : [] ,
"status" : 1
}
Query Parameter | Data Type |
---|---|
eventshopname | string |
estimatedattendee | string |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
eventids | example: List [] |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500.
GET /GetEvent Impact Shop
Users can view the EventImpactShop
Query Parameter Name | Description |
---|---|
ImpactShopId | Impact Shop Id |
The Common Response status codes are 200, 400, 401, 500.
GET /Get Event Info Shop
Users can view the EventInfoShop
Query Parameter Name | Description |
---|---|
EventShopId | Event Shop Id |
The Common Response status codes are 200, 400, 401, 500.
GET /Get Hotel Demand shop
Users can view the HotelDemandShop
Query Parameter Name | Description |
---|---|
DemandShopId | Demand Shop Id |
The Common Response status codes are 200, 400, 401, 500.
PUT /Edit Event Impact Shop
User can edit the EventImpactShop.
This EditEventImpactshop API call allows the user to modify the details of an existing impactshopname linked to a impactshopid.
PUT Edit Event Impact Shop Request Parameters
PUT Edit Event Impact Shop Request Response Sample JSON Code Snippet
{
"impactshopname" : "string",
"estimatedattendee" : "string",
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-18" ,
"horizon" : 0 ,
"eventids" : [] ,
"impactshopid" : 0 ,
"status" : 1
}
Query Parameter | Data Type |
---|---|
impactshopname | string |
estimatedattendee | string |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
eventids | example: List [] |
impactshopid | integer default: 0 example: 0 |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500.
PUT /EditEventInfoShop
User can edit the EventInfoShop.
This EventInfoShop API call allows the user to modify the details of an existing event shop name linked to an event shop id.
PUT Edit Event Info Shop Request Parameters
PUT Edit Event Info Shop Request Response Sample JSON Code Snippet
{
"eventshopname" : "string",
"estimatedattendee" : "string",
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-18" ,
"horizon" : 0 ,
"eventids" : [] ,
"eventshopid" : 0 ,
"status" : 1
}
Query Parameter | Data Type |
---|---|
eventshopname | string |
estimatedattendee | string |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
eventids | example: List [] |
eventshopid | integer default: 0 example: 0 |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500
PUT /Edit Hotel Demand Shop
User can edit the HotelDemandShop
This API call allows the user to modify the details of an existing demand shop name linked to a demand shop id.
PUT Edit Hotel Demand Shop Request Parameters
PUT Edit Hotel Demand Shop Request Response Sample JSON Code Snippet
{
"demandshopname" : "string",
"hotelcodes" : [] ,
"city": "string",
"country": "string" ,
"fetchtype" : 0 ,
"startdate" : "2023-04-18" ,
"horizon" : 0 ,
"proximity" : 0 ,
"demandshopid" : 0,
"status" : 1
}
Query Parameter | Data Type |
---|---|
demandshopname | string |
hotelcodes | example: List [] |
city | string |
country | string |
fetchtype | integer |
startdate | string($date) pattern: YYYY-MM-DD |
horizon | integer |
proximity | integer default: 0 example: 0 |
demandshopid | integer |
status | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500.
DELETE /Delete EventInfo Shop
{
"EventShopId" : []
}
User can delete EventInfoShop
This API call allows the user to delete EventShop linked to a event shop id from your account.
Query Parameter | Data Type |
---|---|
EventShopId | Event Shop Id example: List [] |
The Common Response status codes are 200, 400, 401, 500.
DELETE /Delete Hotel Demand Shop
{
"DemandShopId" : []
}
User can delete HotelDemandShop
This API call allows the user to delete DemandShop linked to a demand shop id from your account.
Query Parameter | Data Type |
---|---|
DemandShopId | Demand Shop Id example: List [] |
The Common Response status codes are 200, 400, 401, 500
DELETE /Delete Impact Shop
{
"ImpactShopId" : []
}
User can delete EventImpactShop
This API call allows the user to delete Impact Shop linked to an impact shop id from your account.
Query Parameter | Data Type |
---|---|
ImpactShopId | Impact Shop Id example: List [] |
The Common Response status codes are 200, 400, 401, 500.
Demand
POST/ Event Impact/
This method is to fetch the event information with an impact score.
This API call returns the complete details of all events and its impact available in the EDDI database.
Event Impact --> This method fetches the impact for a particular event on any given date on a scale of 0 to 100. This is determined by the multiple parameters of an event that have a corresponding impact within the specific geolocation.
In case the event you search for is not displayed in our database, please send a request to eddi@aggregateintelligence.in We will try to make it available within the next 24 hours.
Search Criteria --> Any parameter (single or in any combination). If latitude and longitude are chosen, then Proximity must be chosen as well. For more information about "Category", refer Category method under the header "Reference" date format: "2021-10-02"
estimatedattendee --> "range", Format
- Range value - 100-500
- Min value - < 500
- Max value - > 500
- Exact - 500
proximity --> "string" format Should be numeric and in miles Example1: "proximity": "2"
eventstatusCode --> Should be an integer value as follows [0,1,2,3,4,5]
- All Events - 0
- Scheduled - 1
- Rescheduled - 2
- Postponed - 3
- HolidayEvents - 4
- Cancelled - 5
Example 1 --> { "eventid": 0, "eventname": "Musical", "category": "string", "startdate": "YYYY-MM-DD", "estimatedattendee": ">0", "venue": "string", "address": "string", "city": "New York", "state": "string", "zip": "string", "country": "United States", "region": "string", "lat": "string", "lng": "string", "proximity": 0, "horizon": 30, "impact_eventtype":"string", "eventstatusCode":0 }
Example 2 --> { "eventid": 0, "eventname": "string", "category": "string", "startdate": "YYYY-MM-DD", "estimatedattendee": ">0", "venue": "string", "address": "string", "city": "New York", "state": "string", "zip": "string", "country": "United States", "region": "string", "lat": "string", "lng": "string", "proximity": 0, "horizon": 30, "impact_eventtype":"string", "eventstatusCode":0 }
POST Event Impact Request Parameters
POST Event Impact Request Response (Sample JSON Code Snippet)
{
"eventid": 0,
"eventname": "string",
"category": "string",
"startdate": "YYYY-MM-DD",
"estimatedattendee": "string",
"venue": "string",
"address": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"region": "string",
"lat": "string",
"lng": "string",
"proximity": 0,
"horizon": "string",
"impact_eventtype": 30,
"eventstatusCode": 1,
}
Query Parameter | Data Type |
---|---|
eventid | integer |
eventname | string |
category | string |
startdate | date example: YYYY-MM-DD |
estimatedattendee | string |
venue | string |
address | string |
city | string |
state | string |
zip | string |
country | string |
region | string |
lat | string |
lng | string |
proximity | integer default: 0 example: 0 |
horizon | impact_eventtype |
impact_eventtype | string |
eventstatusCode | integer example: 1 |
The Common Response status codes are 200, 400, 401, 500
POST/ Hotel Demand/
This method fetches the hotel demand information.
This method can take a hotel OR a city as input, returning daily demand for the defined time-horizon.
When a single hotel is provided as input, demand will be calculated for a single hotel.When the city is provided as input, demand will be calculated for all hotels in the city individually. That is, we will get an H x D matrix (being H the number of hotels in the city and D the number of days within time range).
This method generates 3 output files for individual hotel search and 4 for city search that will be directly sent to the registered user emailid. Also, it generates demandID, which will later pass to /GetHotelDemandInfo/ method to get the status of the call request.
Output files consist of the following:
Absolute Demand --> An absolute number of potential guests per day. Number of guests is determined by the number of events and their impact, taking into account geographical distribution of event-holding venues and nearby hotels.
Relative Demand --> Relative value in the range 0-100, being 0 the lowest demand possible for the defined time range and 100 max demand for the same time range.
Events registered --> Number of events taking place each day and used for demand calculation. Number of events is provided as an integer number
Event records (only when city is provided as input): Detailed description of all the events making up the Events registered count. ID, Event name, Venue, Event Category, City, Date, Level of Attendance are provided for each event.
Search criteria --> "hotelcode or city, country"
horizon --> How many consecutive days from the call date to retrieve data for (days out). The maximum value for the horizon and horizon is 365.
Example 1 --> { "hotelcode": 1707, "city": "string", "country": "string", "horizon": 5 }
Example 2 --> { "hotelcode": 0, "city": "florida", "country": "united states", "horizon": 5 }
POST Hotel Demand Request Parameters
POST Hotel Demand Request Response (Sample JSON Code Snippet)
{
"hotelcode": 0,
"city": "string",
"country": "string",
"horizon": 0,
}
Query Parameter | Data Type |
---|---|
hotelcode | integer |
city | string |
country | string |
horizon | string |
The Common Response status codes are 200, 400, 401, 500.
GET/Get Hotel Demand Info/
User can view the EventInfoShop:
This method takes a DemandID generated by /hoteldemand/ as input and shows the status of the request.
GET Hotel Demand Info Request Parameters
Query Parameter | Description |
---|---|
DemandId | Demand ID |
The Common Response status codes are 200, 400, 401, 500.
Schedules
POST / Create Schedule
This is to create the schedule.
This API call allows a user to create a time-table for running a specific Rateshop at a predetermined date and time on a set schedule. While creating this schedule, the user can also define the mode of delivery. Options are a Web-Hook or through a queueid.
schedulename --> In this name the schedule will create.
scheduleshopid --> A unique id which was generated while creating the shop.
year --> No specification "2016"- One year only "2016, 2017" - Runs 2 years month
"" - runs all 12 months in a year
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
"1,3" January & March
dow
-All days in a week
"1" - Monday
"2" - Tuesday
"3" - Wednesday
"4" - Thursday
"5" - Friday
"6" - Saturday
"7" - Sunday
"1,3,5" - runs every Monday, Wednesday, and Friday
day --> "" - All day in a month 1 - 31 - Any day index in a calendar month. can be passed expression like "1,3,5"
hour --> "*" - All hours in the day 0 - 23 - Any hour index in a day. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at 10:00AM
minute --> "*" - All minutes in an hour 0 - 59 - Any minute index in an hour. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at defined hour
seconds --> "*" - All seconds in a minute 0 - 59 - Any second index in a minute. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at the defined minute
status -->
1 - Active
0 - In Active - If the status is Active the scheduler will execute this shop.
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. eg:{"fetchtype":1}
- s3
- endpoint
s3: Email containing the path will be sent to the user once data is executed. Endpoint: User to specify a location of their preference.
Shoptype --> ["eventsimpact","eventsinfo","hoteldemand"]. eg:{"Shoptype":1}
- eventsimpact
- eventsinfo
- hoteldemand
startdate --> This parameter determines when the schedule starts
enddate --> This parameter determines when the schedule ends. If left undefined, the schedule runs indefinitely
Example 1 --> { "schedulename": "TestSchd_1130", "scheduleshopid": "2468", "shoptype": 1, "fetchtype": 1, "year": "2022", "month": "*", "dow": "2", "day": "*", "hour": "19", "minute": "30", "second": "*", "startdate": "2022-04-01", "enddate": "2022-12-31", "status": 1 }
POST Create Schedule Request Body Parameters
POST Create Schedule Request Response Sample Format (JSON Code Snippet)
{
"schedulename": "string",
"scheduleshopid": 0,
"shoptype": 0,
"fetchtype": 0,
"year": "",
"month": "",
"dow": "",
"day": "",
"hour": "",
"minute": "",
"second": "",
"startdate": "2023-04-18",
"enddate": "2023-04-18",
"status": 1
}
Name | Default and Sample Values | Data Type | Requirement (True or False) |
---|---|---|---|
schedulename | - | string | Required /True |
scheduleshopid | - | integer | - |
shoptype | - | integer | - |
fetchtype | - | integer | - |
fetchtype | - | integer | - |
year | default: * example: * | string | - |
month | default: * example: * | string | - |
dow | default: * example: * | string | - |
day | default: * example: * | string | - |
hour | default: * example: * | string | - |
minute | default: * example: * | string | - |
second | string default: * example: * | string | - |
startdate | string($date) pattern: YYYY-MM-DD | string | - |
enddate | string($date) pattern: YYYY-MM-DD | string | - |
status | default: 1 example: 1 | integer | - |
POST Create Schedule Response Codes
Status | Meaning | Description | Schema |
---|---|---|---|
200 | Success | Success | - |
400 | Error | Bad Reuest | - |
401 | Unauthorized | Authorization has been denied for this request | None |
500 | Internal Error | - | - |
GET /View Schedule
This Scheduleid API call retrieves schedule configuration using the scheduleid as a mandatory parameter.
Scheduleid as integer (($int32)) path parameter.
GET /Edit Schedule
PUT Edit Schedule Request Response Sample Format (JSON Code Snippet)
{
"scheduleid": 0,
"scheduleshopid": 0,
"schedulename": "string",
"shoptype": 0,
"fetchtype": 0,
"year": "",
"month": "",
"dow": "",
"day": "",
"hour": "",
"minute": "",
"second": "",
"startdate": "2023-04-18",
"enddate": "2023-04-18",
"status": 1
}
This is to edit the schedule.
This API call allows a user to create a timetable for running a specific shop at a predetermined date and time on a set schedule. While creating this schedule, the user can also define the mode of delivery. Options are a Web-Hook or through a queueid.
schedulename --> In this name the schedule will create.
scheduleshopid --> An unique id which was generated while creating the shop.
year --> "*" - No specification "2016"- One year only "2016, 2017" - Runs 2 years
month --> "*" - runs all 12 months in a year
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
"1,3" January & March
dow
-All days in a week
"1" - Monday
"2" - Tuesday
"3" - Wednesday
"4" - Thursday
"5" - Friday
"6" - Saturday
"7" - Sunday
"1,3,5" - runs every Monday, Wednesday, and Friday
day --> "" - All day in a month 1 - 31 - Any day index in a calendar month. can be passed expression like "1,3,5"
hou --> "*" - All hours in the day 0 - 23 - Any hour index in a day. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at 10:00AM
minute --> "*" - All minutes in an hour 0 - 59 - Any minute index in an hour. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at defined hour
seconds --> "*" - All seconds in a minute 0 - 59 - Any second index in a minute. can be passed expression like "1,3,5". If the value is "*" it is considered as undefined and can be run at the defined minute
status -->
1 - Active
0 - In Active - If the status is Active the scheduler will execute this shop.
fetchtype --> The location/server space where the user would want their results to be stored ["s3","endpoint"]. eg:{"fetchtype":1}
- s3
- endpoint
s3: Email containing the path will be sent to the user once data is executed. Endpoint: User to specify a location of their preference.
Shoptype --> ["eventsimpact","eventsinfo","hoteldemand"]. eg:{"Shoptype":1}
- eventsimpact
- eventsinfo
- hoteldemand
startdate --> This parameter determines when the schedule starts
enddate --> This parameter determines when the schedule ends. If left undefined, the schedule runs indefinitely. All schedules are queued at the fifty-fifth minute of the past hour. Therefore, If any job is scheduled within the current hour, they will run only the next day.
Name | Required / Mandatory (True/ False) | Data Type | Description |
---|---|---|---|
Scheduleid | Required | integer | The id of the schedule |
Name | Data Type with Default Values and Example |
---|---|
Scheduleid | integer |
scheduleshopid | integer |
schedulename | string |
shoptype | integer |
fetchtype | integer |
year | string default: * example: * |
month | string default: * example: * |
dow | string default: * example: * |
day | string default: * example: * |
hour | string default: * example: * |
minute | string default: * example: * |
second | string default: * example: * |
startdate | string($date) pattern: YYYY-MM-DD |
enddate | string($date) pattern: YYYY-MM-DD |
status | integer default: 1 example: 1 |
Status | Meaning | Description | Schema |
---|---|---|---|
200 | Success | Success | - |
400 | Error | Bad Reuest | - |
401 | Unauthorized | Authorization has been denied for this request | None |
500 | Internal Error | - | - |
DELETE / Delete Schedule
{
"scheduleid" : [],
}
This is to delete the schedule.
Name | Required / Mandatory (True/ False) | Data Type | Description |
---|---|---|---|
scheduleid | Required -> example: List [] | integer | The id of the schedule |
Hooks
POST /End point
This is to create an endpoint.
This API call uses a WebHook to enable the delivery of data generated by your EDDIShop to an end-point you define. If you have defined a hook, data is delivered by default to this hook. This hook will POST the JSON Schema (as per the eventsinfo / eventimpact / hoteldemand) to your end-point The user should provide either Basic Auth (Username & Password) or OAuth 2.0 (token).
Note: While providing Basic Auth it should generate the new token. "authtype": ["Basic Auth","OAuth 2.0"]
Example 1 --> { "authtype": "Basic Auth", "endpoint": http://35.84.42.213:5000/ "username": "eddi", "password": "*******", "token": "" }
Example 1 --> { "authtype": "OAuth 2.0", "endpoint": http://35.84.42.213:5000/, "username": "", "password": "", "token": "71a49c4c-5694-11ec-bf63-0242ac130002" }.
POST Hooks Endpoint Request Parameters
POST Hooks Endpoint Request Sample (JSON) code
{
"username" : "string",
"password" : "string",
"endpoint": "string",
"token": "string",
"authtype": "string",
}
Name | Data Type | Required - True / False |
---|---|---|
endpoint | String minLength: 1 | - |
authtype | string | Nullable: true |
username | string | Nullable: true |
password | string | Nullable: true |
token | string | Nullable: true |
The Common Response status codes are 200, 400, 401, 500.
References
GET /AttributeDefinition
This is to view the Attribute Definition.
Request URL:
https://eddi.aggregateintelligence.com/AttributeDefinition/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET / Category
This is to view the Category.
Request URL:
https://eddi.aggregateintelligence.com/Category/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET /Category SubCategory Group
This is to view the Category / Sub-Categroy group.
Request URL:
https://eddi.aggregateintelligence.com/CategorySubCategoryGroup/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET /Class Definitions
This is to view the Class Definition.
Request URL:
https://eddi.aggregateintelligence.com/ClassDefinition/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET /Country
This is to view the Country.
Request URL:
https://eddi.aggregateintelligence.com/Country/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET / EventStatus
This is to view the Event Status.
Request URL:
https://eddi.aggregateintelligence.com/EventStatus/
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET /Region
This is to view the Region
Request URL:
https://eddi.aggregateintelligence.com/Region
No Parameters with Common Response Codes as 200, 400, 401, 500.
GET / SubCategory
This is to view the Sub-Category
Request URL:
https://eddi.aggregateintelligence.com/SubCategory/
No Parameters with Common Response Codes as 200, 400, 401, 500.