> For the complete documentation index, see [llms.txt](https://docs.hos.accessacloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hos.accessacloud.com/atreemo-api/api-reference/atreemo-api-reference/bidwhouse.md).

# BIDWHouse

Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested.

## GetBookingsFact

> Getting records from BookingsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"BookingsFactOutput":{"type":"object","properties":{"BookingsFact":{"type":"array","items":{"$ref":"#/components/schemas/BookingsFact"},"description":"List of objects indicating a booking details."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"BookingsFact":{"type":"object","properties":{"BookingDateTime":{"type":"string","format":"date-time","nullable":true,"description":"The date of the Booking."},"BookingID":{"type":"string","description":"The unique ID for the booking in Atreemo and used to join the various tables."},"BookingsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"BrandName":{"type":"string","description":"The brand name (multibrand instances)."},"Covers":{"type":"integer","format":"int32","description":"The booking's covers number."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"EstimatedValue":{"type":"number","description":"The booking's estimated value ."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the booking."},"SiteID":{"type":"integer","format":"int32","description":"The location ID where the booking is made ."},"SiteName":{"type":"string","description":"The location name where the booking is made ."},"Source":{"type":"string","description":"The booking's source."},"Status":{"type":"string","description":"The bookings' Atreemo status"},"StatusID":{"type":"integer","format":"int32","description":"The bookings' Atreemo status ID"},"VistDateTime":{"type":"string","format":"date-time","nullable":true,"description":"The visit date of the booking."}}}}},"paths":{"/api/BIDWHouse/GetBookingsFact":{"get":{"operationId":"BidwHouseGetBookingsFact","summary":"GetBookingsFact","tags":["BIDWHouse"],"description":"Getting records from BookingsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingsFactOutput"}}}}}}}}}
```

## GetContactDetailsFact

> Getting records from ContactDetailsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"ContactDetailsFactOutput":{"type":"object","properties":{"ContactDetailsFacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactDetailsFact"},"description":"List of objects indicating a contact details."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"ContactDetailsFact":{"type":"object","properties":{"BirthdateMonth":{"type":"integer","format":"int32","description":"The month of birth for the contact."},"BirthDateYear":{"type":"integer","format":"int32","description":"The year of birth for the contact."},"ContactDetailsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"CorporateName":{"type":"string","description":"The company name linked or assigned to the contact based on the configuration in Atreemo."},"CreateDate":{"type":"string","format":"date-time","description":"The date the contact was created. Where this was not known as part of the initial data import the date of the import is used."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"Deleted":{"type":"boolean","description":"True if the contact is deleted."},"FavouriteSite":{"type":"string","description":"The contact favourite location name."},"FavouriteSiteID":{"type":"integer","format":"int64","description":"The date the contact was created. Where this was not known as part of the initial data import the date of the import is used."},"Frequency":{"type":"integer","format":"int32","description":"Visit Frequency of the contact."},"Gender":{"type":"string","description":"The contacts assigned gender."},"IsStaff":{"type":"boolean","description":"True if the contact is a staff."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the contact."},"Monetary":{"type":"integer","format":"int32","description":"The Monetary of the contact."},"ParentCtcID":{"type":"integer","format":"int32","description":"Parent CtcID if the contact is merged"},"PointBalance":{"type":"number","format":"float","description":"The contact point balance."},"PostCodeSector":{"type":"string","description":"The postcode sector for the contact."},"Recency":{"type":"integer","format":"int32","description":"The Recency of the contact."},"Segment":{"type":"string","description":"The Segment of the contact."},"SourceID":{"type":"string","description":"The original source for the contact, for example wifi."},"TiersName":{"type":"string","description":"The tier name linked or assigned to the contact based on the configuration in Atreemo."}}}}},"paths":{"/api/BIDWHouse/GetContactDetailsFact":{"get":{"operationId":"BidwHouseGetContactDetailsFact","summary":"GetContactDetailsFact","tags":["BIDWHouse"],"description":"Getting records from ContactDetailsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDetailsFactOutput"}}}}}}}}}
```

## GetContactPreferencesFact

> Getting records from ContactPreferencesFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"ContactPreferencesFactOutput":{"type":"object","properties":{"ContactPreferencesFacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactPreferencesFact"},"description":"List of objects indicating a contacts opt in status and preferences."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"ContactPreferencesFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name (multibrand instances)"},"ContactPreferencesFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"EmailOptin":{"type":"boolean","description":"True if the contact is opted in for email."},"MailOptin":{"type":"boolean","description":"True if the contact is opted in for direct mail."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date."},"PhoneOptin":{"type":"boolean","description":"True if the contacts is opted in for phone."},"Preferences":{"type":"string","description":"Preferences the contact has selected will be shown with a semi column as a separator."},"PushOptin":{"type":"boolean","description":"True if the contact is opted in for push notification."},"SMSOptin":{"type":"boolean","description":"True if the contact is opted in for SMS."},"WebPushOptin":{"type":"boolean","description":"True if the contacts is opted in for web push notification."}}}}},"paths":{"/api/BIDWHouse/GetContactPreferencesFact":{"get":{"operationId":"BidwHouseGetContactPreferencesFact","summary":"GetContactPreferencesFact","tags":["BIDWHouse"],"description":"Getting records from ContactPreferencesFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPreferencesFactOutput"}}}}}}}}}
```

## GetContactsAvailabilityFact

> Getting records from FactContactsAvailability table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"ContactAvailabilityFactOutput":{"type":"object","properties":{"ContactAvailabilityFacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactAvailabilityFact"},"description":"List of objects indicating a contact availability."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"ContactAvailabilityFact":{"type":"object","properties":{"AppAvailable":{"type":"boolean","description":"True if the contact can receive app notifications."},"ContactAvailabilityFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"EmailAvailable":{"type":"boolean","description":"True if the contact is available by email."},"MailAvailable":{"type":"boolean","description":"True if the contact can receive mails."},"MobileAvailable":{"type":"boolean","description":"True if the contact is available by mobile."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the contact."},"PhoneAvailable":{"type":"boolean","description":"True if the contact is available by phone."},"WebPushAvailable":{"type":"boolean","description":"True if the contact can receive web push notifications."}}}}},"paths":{"/api/BIDWHouse/GetContactsAvailabilityFact":{"get":{"operationId":"BidwHouseGetContactsAvailabilityFact","summary":"GetContactsAvailabilityFact","tags":["BIDWHouse"],"description":"Getting records from FactContactsAvailability table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactAvailabilityFactOutput"}}}}}}}}}
```

## GetContactsMemberNumbersFact

> Getting records from ContactsMemberNumbersFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"ContactsMemberNumbersFactOutput":{"type":"object","properties":{"ContactsMemberNumbersFacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactsMemberNumbersFact"},"description":"The list of objects associated to Contacts Member Numbers."},"Errors":{"type":"array","items":{"type":"string"},"description":"The list of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"ContactsMemberNumbersFact":{"type":"object","properties":{"CtcID":{"type":"integer","format":"int32","description":"The unique contact ID ."},"FactContactsMemberNumberSK":{"type":"integer","format":"int32","description":"Incremental unique ID."},"HashedMemberNumber":{"type":"string","description":"The unique Hashed Member Number of the contact."},"MemberNumber":{"type":"string","description":"The unique Member Number of the contact."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date applied to this contact."}}}}},"paths":{"/api/BIDWHouse/GetContactsMemberNumbersFact":{"get":{"operationId":"BidwHouseGetContactsMemberNumbersFact","summary":"GetContactsMemberNumbersFact","tags":["BIDWHouse"],"description":"Getting records from ContactsMemberNumbersFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsMemberNumbersFactOutput"}}}}}}}}}
```

## GetContactSourcesFact

> Getting records from ContactsSourcesFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"ContactsSourcesFactOutput":{"type":"object","properties":{"ContactsSourcesFacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactsSourcesFact"},"description":"List of objects indicating a contact source details."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status ."}}},"ContactsSourcesFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name (multibrand instances)"},"ContactsSourcesFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables ."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the contact."},"OriginID":{"type":"string","description":"The origin of the source."},"SourceID":{"type":"string","description":"The source name."}}}}},"paths":{"/api/BIDWHouse/GetContactSourcesFact":{"get":{"operationId":"BidwHouseGetContactSourcesFact","summary":"GetContactSourcesFact","tags":["BIDWHouse"],"description":"Getting records from ContactsSourcesFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsSourcesFactOutput"}}}}}}}}}
```

## GetEmailTrendFact

> Getting records from EmailTrendFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"EmailTrendOutput":{"type":"object","properties":{"EmailTrendFacts":{"type":"array","items":{"$ref":"#/components/schemas/EmailTrendFact"},"description":"The list of objects indicating emails results for a contact."},"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."}}},"EmailTrendFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name (multibrand instances)."},"Category":{"type":"string","description":"The campaign category name."},"CategoryID":{"type":"integer","format":"int32","description":"The campaign category unique ID."},"CostPerItem":{"type":"number","format":"float","description":"The unit cost per item (if paid for per item)."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"DayOfWeekEmailOpened":{"type":"integer","format":"int32","description":"The day of the week the email was opened."},"DirectSpentWithoutOverlap":{"type":"number","format":"float","description":"The amount of direct spent without overlap"},"DomainName":{"type":"string","description":"The domain name linked to the customer."},"EcastItemID":{"type":"integer","format":"int32","description":"The Ecast ID"},"EmailTrendFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"Error":{"type":"integer","description":"The error if the email could not be delivered."},"FirstTrial":{"type":"string","format":"date-time","nullable":true,"description":"The first date/time the email was sent."},"IndirectSpentWithoutOverlap":{"type":"number","format":"float","description":"The amount of indirect spent without overlap"},"IsComplaint":{"type":"boolean","description":"If a complaint was received from this email via the email service provider the response will be True."},"IsFollowUp":{"type":"boolean","description":"If the email was an automated follow up the response will be True."},"LastTrial":{"type":"string","format":"date-time","nullable":true,"description":"The last date / time the email tried to send to the contact."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date."},"NbClicks":{"type":"integer","format":"int32","description":"The total number of clicks the contact made for the email."},"NbDeliv":{"type":"integer","format":"int32","description":"The number of emails delivered"},"NbDispatched":{"type":"integer","format":"int32","description":"The number of emails dispatched"},"NbSent":{"type":"integer","format":"int32","description":"The number of emails sent"},"NbTrial":{"type":"integer","description":"The number of times Atreemo tried to send the email."},"NbViews":{"type":"integer","format":"int32","description":"The total number of views made by the contact for the email."},"OpCode":{"type":"integer","format":"int32","description":"The unique ID for the email campaign."},"OpenDate":{"type":"string","format":"date-time","nullable":true,"description":"The date / time the email was opened."},"PrjMkgTitle":{"type":"string","description":"The internal name given to the campaign in Atreemo."},"SendDate":{"type":"string","format":"date-time","description":"The date / time the email was scheduled to send."},"SenderProfile":{"type":"string","description":"The Atreemo sender profile used for the email."},"SenderProfileID":{"type":"integer","format":"int32","description":"The Atreemo sender profile ID used for the email."},"Status":{"type":"integer","description":"The send status.Possible values : = 5 Sent if value is greater than 5 the status is error."},"Subject":{"type":"string","description":"The Email Subject."},"SubmittedBy":{"type":"string","description":"The Atreemo user who submitted the campaign."},"TimeOfDayEmailOpened":{"type":"integer","format":"int32","description":"The time of day the email is opened."},"UniqueClicks":{"type":"integer","format":"int32","description":"The number of clicks"},"UniqueViews":{"type":"integer","format":"int32","description":"The number of views"},"Unsubscribe":{"type":"integer","format":"int32","description":"If response is 1 the contact unsubscribed."}}}}},"paths":{"/api/BIDWHouse/GetEmailTrendFact":{"get":{"operationId":"BidwHouseGetEmailTrendFact","summary":"GetEmailTrendFact","tags":["BIDWHouse"],"description":"Getting records from EmailTrendFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTrendOutput"}}}}}}}}}
```

## GetHotelBookingsFact

> Getting records from FactHotelBooking table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"HotelBookingsFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"HotelBookingsFact":{"type":"array","items":{"$ref":"#/components/schemas/HotelBookingsFact"},"description":"List of objects indicating a booking details."},"Response":{"type":"boolean","description":"The call success status."}}},"HotelBookingsFact":{"type":"object","properties":{"HotelBookingBookerCtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"HotelBookingCheckInDate":{"type":"string","format":"date-time","nullable":true,"description":"The Start date of the visit."},"HotelBookingCheckOutDate":{"type":"string","format":"date-time","nullable":true,"description":"The end visit date of the visit."},"HotelBookingDateTime":{"type":"string","format":"date-time","nullable":true,"description":"The date of the Booking."},"HotelBookingExternalID":{"type":"string","description":"The external unique ID for the booking."},"HotelBookingID":{"type":"integer","format":"int32","description":"The unique ID for the booking in Atreemo and used to join the various tables."},"HotelBookingIsOTA":{"type":"boolean","description":"Is OTA"},"HotelBookingMarketSegment":{"type":"string","description":"The market segment ."},"HotelBookingModifyURL":{"type":"string","description":"The URL to modify the booking ."},"HotelBookingNightsNumber":{"type":"integer","format":"int32","description":"The number of nights"},"HotelBookingsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"HotelBookingSiteID":{"type":"integer","format":"int32","description":"The location ID where the booking is made ."},"HotelBookingSiteName":{"type":"string","description":"The location name where the booking is made ."},"HotelBookingSpend":{"type":"number","description":"The booking's spend value ."},"HotelBookingStatus":{"type":"string","description":"The bookings' Atreemo status"},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the booking."}}}}},"paths":{"/api/BIDWHouse/GetHotelBookingsFact":{"get":{"operationId":"BidwHouseGetHotelBookingsFact","summary":"GetHotelBookingsFact","tags":["BIDWHouse"],"description":"Getting records from FactHotelBooking table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HotelBookingsFactOutput"}}}}}}}}}
```

## GetLoyaltyPointsFact

> Getting records from LoyaltyPointsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"LoyaltyPointsOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"LoyaltyPointsFacts":{"type":"array","items":{"$ref":"#/components/schemas/LoyaltyPointsFact"},"description":"The List of object for Loyalty."},"Response":{"type":"boolean","description":"The call success status."}}},"LoyaltyPointsFact":{"type":"object","properties":{"ActionDate":{"type":"string","format":"date-time","nullable":true,"description":"The date when this record was added/updated."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"LoyaltyPointsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date."},"OrderUniqueID":{"type":"integer","format":"int64","description":"Atreemo Order Unique ID. Can be joined with transaction fact table to get the transaction details."},"Points":{"type":"number","format":"float","description":"The number of Points/Stamps the customer earned or burnt based on the ActionDate and Location."},"SiteID":{"type":"integer","format":"int32","description":"The location ID the customer used their Loyalty Account."},"SiteName":{"type":"string","description":"The location name the customer used their Loyalty Account."},"Source":{"type":"string","description":"The Source of the ActionDate."}}}}},"paths":{"/api/BIDWHouse/GetLoyaltyPointsFact":{"get":{"operationId":"BidwHouseGetLoyaltyPointsFact","summary":"GetLoyaltyPointsFact","tags":["BIDWHouse"],"description":"Getting records from LoyaltyPointsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoyaltyPointsOutput"}}}}}}}}}
```

## GetPushNotificationTrendFact

> Getting records from PushNotificationTrendFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"PushNotificationTrendOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"PushNotificationTrendFacts":{"type":"array","items":{"$ref":"#/components/schemas/PushNotificationTrendFact"},"description":"List of objects linked to a Push Notification."},"Response":{"type":"boolean","description":"The call success status."}}},"PushNotificationTrendFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name ( multibrand instances)."},"Category":{"type":"string","description":"The campaign category name."},"CategoryID":{"type":"integer","format":"int32","description":"The campaign category unique ID."},"CostPerItem":{"type":"number","format":"float","description":"The cost per item (if paid for on a per send basis)."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"DirectSpentWithoutOverlap":{"type":"number","format":"float","description":"The amount of direct spent without overlap"},"IndirectSpentWithoutOverlap":{"type":"number","format":"float","description":"The amount of indirect spent without overlap"},"ItemID":{"type":"integer","format":"int32","description":"Push notification ID."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date."},"NbDeliv":{"type":"integer","format":"int32","description":"The number of emails delivered"},"NbDispatched":{"type":"integer","format":"int32","description":"The number of emails dispatched"},"NbSent":{"type":"integer","format":"int32","description":"The number of emails sent"},"PrjMkgTitle":{"type":"string","description":"The marketing project title given the the campaign in Atreemo."},"PushNotificationTrendFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"SendDate":{"type":"string","format":"date-time","description":"The date of send."},"SenderProfile":{"type":"string","description":"The Atreemo users sender profile name used for the campaign."},"SenderProfileID":{"type":"integer","format":"int32","description":"The Atreemo users sender profile unique ID used for the campaign."},"SubmittedBy":{"type":"string","description":"The Atreemo user who submitted the push notification campaign."},"UniqueClicks":{"type":"integer","format":"int32","description":"The number of clicks"},"UniqueViews":{"type":"integer","format":"int32","description":"The number of views"}}}}},"paths":{"/api/BIDWHouse/GetPushNotificationTrendFact":{"get":{"operationId":"BidwHouseGetPushNotificationTrendFact","summary":"GetPushNotificationTrendFact","tags":["BIDWHouse"],"description":"Getting records from PushNotificationTrendFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushNotificationTrendOutput"}}}}}}}}}
```

## GetRewardJourneysProgressFact

> Getting records from FactRewardJourneysProgress table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"RewardJourneysProgressFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."},"RewardJourneysProgressFact":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneysProgressFact"},"description":"List of objects indicating a booking details."}}},"RewardJourneysProgressFact":{"type":"object","properties":{"BookingDate":{"type":"string","format":"date-time","nullable":true,"description":"The date of the Booking."},"BookingID":{"type":"integer","format":"int32","nullable":true,"description":"The unique ID for the booking in Atreemo and used to join the various tables."},"BookingStatus":{"type":"string","description":"The bookings' Atreemo status"},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"GoalToAchieve":{"type":"number","format":"double","description":"The Goal To Achieve the RewardJourney."},"Location":{"type":"string","description":"The location name"},"ModifiedDate":{"type":"string","format":"date-time","nullable":true,"description":"Modified Date of the RewardJourney"},"OrderDate":{"type":"string","format":"date-time","nullable":true,"description":"The date / time of the transaction."},"OrderUniqueID":{"type":"integer","format":"int64","description":"Atreemo’s Unique Order ID."},"Product":{"type":"string","description":"The product name"},"RewardJourneyCompleted":{"type":"boolean","nullable":true,"description":"If true,the RewardJourney is completed."},"RewardJourneyCompletionDate":{"type":"string","format":"date-time","nullable":true,"description":"Completion Date of the RewardJourney, empty if the RewardJourney still in progress"},"RewardJourneyCreateDate":{"type":"string","format":"date-time","description":"The Create Date for the RewardJourney."},"RewardJourneyFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"RewardJourneyID":{"type":"integer","format":"int32","description":"The unique ID for the RewardJourney in Atreemo and used to join the various tables."},"RewardJourneyProgress":{"type":"number","format":"double","description":"The Progress of the RewardJourney."},"RewardJourneyRewardType":{"type":"string","description":"The Reward Type of the RewardJourney."},"RewardJourneySignUpDate":{"type":"string","format":"date-time","description":"The SignUp Date for the RewardJourney."},"RewardJourneyType":{"type":"string","description":"The type of the RewardJourney."},"SpendProgress":{"type":"number","format":"double","description":"The Spend Progress of the RewardJourney."},"VisitDateTime":{"type":"string","format":"date-time","nullable":true,"description":"The visit date time."}}}}},"paths":{"/api/BIDWHouse/GetRewardJourneysProgressFact":{"get":{"operationId":"BidwHouseGetRewardJourneysProgressFact","summary":"GetRewardJourneysProgressFact","tags":["BIDWHouse"],"description":"Getting records from FactRewardJourneysProgress table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardJourneysProgressFactOutput"}}}}}}}}}
```

## GetSLPFact

> Getting records from LeadsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"LeadsFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"LeadsFacts":{"type":"array","items":{"$ref":"#/components/schemas/LeadsFact"},"description":"List of objects indicating a sales lead details."},"Response":{"type":"boolean","description":"The call success status."}}},"LeadsFact":{"type":"object","properties":{"AppointmentDate":{"type":"string","format":"date-time","nullable":true,"description":"If the sales lead appointment date."},"Brand":{"type":"string","description":"If the sales lead brand."},"CallMade":{"type":"boolean","description":"If a call made with a contact this valus is true."},"CategoryName":{"type":"string","description":"The sales leads category name."},"ClaimedBy":{"type":"string","description":"The Atreemo user who claimed the sales lead."},"ClaimedDate":{"type":"string","format":"date-time","nullable":true,"description":"The date of claiming a lead."},"CreateDate":{"type":"string","format":"date-time","description":"The creation date of the sales lead."},"CreatedBy":{"type":"string","description":"The Atreemo user who created the sales lead."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"Deleted":{"type":"boolean","description":"If the sales lead is deleted in Atreemo Deleted is True."},"EstimatedRevenue":{"type":"number","format":"float","description":"The sales lead estimated revenue value ."},"EventDate":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead event date."},"EventEndDate":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead event end date."},"FirstCallDate":{"type":"string","format":"date-time","nullable":true,"description":"The date of the first call made."},"FirstCallMadeBy":{"type":"string","description":"The user who made the first call."},"FirstCallType":{"type":"string","description":"The type of the first call."},"FollowUpDate":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead follow up date."},"IsMaster":{"type":"boolean","description":"If the sales lead is Merged to another lead IsMaster is True."},"IsWalkin":{"type":"boolean","description":"If the sales lead contact made is walk in this variable will be True."},"LastCallDate":{"type":"string","format":"date-time","nullable":true,"description":"The date of the last call made."},"LastCallMadeBy":{"type":"string","description":"The user who made the last call."},"LastCallType":{"type":"string","description":"The type of the last call."},"LastCommunicationDate":{"type":"string","format":"date-time","nullable":true,"description":"The last date of the most recent communication with the lead"},"LastModifiedOn":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead last Modification Date in Atreemo."},"LastSuccessfulCallMadeBy":{"type":"string","description":"The user who made the last successful call to the lead."},"LastSuccessfulCallMadeOn":{"type":"string","format":"date-time","nullable":true,"description":"The last successful call date was made to the lead."},"LastUnsuccessfulCallMadeBy":{"type":"string","description":"The user who made the last unsuccessful call to the lead."},"LastUnsuccessfulCallMadeOn":{"type":"string","format":"date-time","nullable":true,"description":"The last unsuccessful call date was made to the lead."},"LeadID":{"type":"integer","format":"int32","description":"The unique ID for the sales Lead in Atreemo and used to join the various tables."},"LeadsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"LeadSource":{"type":"string","description":"If the sales lead source."},"MasterID":{"type":"integer","format":"int32","description":"If the sales lead is Merged to another lead the MasterID is not null."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the lead."},"PostSaesCallDate":{"type":"string","format":"date-time","nullable":true,"description":"If the sales lead post sale call date."},"Priority":{"type":"string","description":"The sales lead priority in Atreemo."},"ProvisionalEventDate":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead Provisional event date."},"ProvisionalEventEndDate":{"type":"string","format":"date-time","nullable":true,"description":"The sales lead Provisional event end date."},"Region":{"type":"string","description":"The region name where the transaction was made."},"Revenue":{"type":"number","format":"float","description":"If the sales lead revenue."},"SaleType":{"type":"string","description":"The sales lead sale type in Atreemo."},"SiteID":{"type":"integer","format":"int32","description":"The location ID where the transaction was made."},"SiteName":{"type":"string","description":"The location name where the transaction was made."},"SourceName":{"type":"string","description":"The sales lead source Name in Atreemo."},"Status":{"type":"string","description":"The sales leads Atreemo status"},"SubCategoryName":{"type":"string","description":"The sales leads subcategory name."},"TotalEmails":{"type":"integer","format":"int32","nullable":true,"description":"The total number of emails sent to the lead."},"TotalSuccessfulCalls":{"type":"integer","format":"int32","nullable":true,"description":"The Total number of successful calls made to leads."},"TotalUnsuccessfulCalls":{"type":"integer","format":"int32","nullable":true,"description":"The Total number of unsuccessful calls made to leads."}}}}},"paths":{"/api/BIDWHouse/GetSLPFact":{"get":{"operationId":"BidwHouseGetSlpFact","summary":"GetSLPFact","tags":["BIDWHouse"],"description":"Getting records from LeadsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadsFactOutput"}}}}}}}}}
```

## GetSMSTrendFact

> Getting records from SMSTrendFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"SMSTrendOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status ."},"SMSTrendFacts":{"type":"array","items":{"$ref":"#/components/schemas/SMSTrendFact"},"description":"List of objects linked to sms campaigns."}}},"SMSTrendFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name ( multibrand instances)."},"Category":{"type":"string","description":"The campaign category name."},"CategoryID":{"type":"integer","format":"int32","description":"The campaign category unique ID."},"CostPerItem":{"type":"number","format":"float","description":"The cost per item."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date."},"NbUnits":{"type":"integer","format":"int32","description":"The number of unit SMS sent, for example if the message was 204 characters the number of units would be 2."},"PrjMkgTitle":{"type":"string","description":"The marketing project title assigned in Atreemo."},"SendDate":{"type":"string","format":"date-time","description":"The date time the SMS was scheduled to send."},"SenderProfile":{"type":"string","description":"The Atreemo users sender profile name."},"SenderProfileID":{"type":"integer","format":"int32","description":"The Atreemo users sender profile unique ID."},"SMSItemID":{"type":"integer","format":"int32","description":"The unique ID of the SMS Item."},"SMSTrendFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"SubmittedBy":{"type":"string","description":"The Atreemo user who submitted the campaign."}}}}},"paths":{"/api/BIDWHouse/GetSMSTrendFact":{"get":{"operationId":"BidwHouseGetSmsTrendFact","summary":"GetSMSTrendFact","tags":["BIDWHouse"],"description":"Getting records from SMSTrendFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSTrendOutput"}}}}}}}}}
```

## GetTransactionsFact

> Getting records from TransactionsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"TransactionsFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The list of errors if exist."},"Response":{"type":"boolean","description":"The call success status."},"TransactionsFacts":{"type":"array","items":{"$ref":"#/components/schemas/TransactionsFact"},"description":"The list of objects associated to transactions linked to a contact."}}},"TransactionsFact":{"type":"object","properties":{"AmountPaid":{"type":"number","format":"float","description":"The Amount Paid in this transaction."},"CtcID":{"type":"integer","format":"int32","description":"The unique contact ID linked to this transaction."},"DiscountAmount":{"type":"number","format":"float","description":"The Discount Amount in this transaction."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date applied to this transaction."},"OrderChannel":{"type":"string","description":"The transaction Order Channel.Possible Values : InStore OnlineWeb OnlineApp."},"OrderDate":{"type":"string","format":"date-time","description":"The date / time of the transaction."},"OrderID":{"type":"string","description":"The transaction OrderID received from the EPOS."},"OrderStatus":{"type":"string","description":"The order status of the transaction. Possible Values: Paid, Cancelled, Invoiced, Incomplete, Refunded, PartiallyPaid,"},"OrderType":{"type":"string","description":"The order type of the transaction. Possible Values: InStore, Collection, Delivery, Shop, PayAtTable, PreOrder."},"OrderUniqueID":{"type":"integer","format":"int64","description":"Atreemo’s Unique Order ID."},"PaidWithPoints":{"type":"boolean","description":"If the transaction is paid with points will be true."},"SaleType":{"type":"string","description":"The transaction sale type. Possible Values: Sale, Refund, No Sale, Cancelled Sale, Zero Value Sale, Other Actions, Void, Online, Discounted Sale."},"SiteID":{"type":"integer","format":"int32","description":"The location ID where the transaction was made."},"SiteName":{"type":"string","description":"The location name where the transaction was made."},"Source":{"type":"string","description":"The source name given to the transaction."},"TotalSpend":{"type":"number","format":"float","description":"The Total Spend for the transaction."},"TransactionsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."},"VoucherCode":{"type":"string","description":"The Voucher Code linked to the transaction (if applicable)."}}}}},"paths":{"/api/BIDWHouse/GetTransactionsFact":{"get":{"operationId":"BidwHouseGetTransactionsFact","summary":"GetTransactionsFact","tags":["BIDWHouse"],"description":"Getting records from TransactionsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsFactOutput"}}}}}}}}}
```

## GetVisitsFact

> Getting records from VisitsFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"VisitsFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."},"VisitsFacts":{"type":"array","items":{"$ref":"#/components/schemas/VisitsFact"},"description":"List of objects linked to visits for a contact."}}},"VisitsFact":{"type":"object","properties":{"BrandName":{"type":"string","description":"The brand name (multibrand instances)."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"DirectSpent":{"type":"number","format":"float","description":"The amount direct spent in the visit."},"IndirectSpent":{"type":"number","format":"float","description":"The amount of indirect spent in the visit."},"ModifiedDate":{"type":"string","format":"date-time","description":"Returns the last modification date."},"SiteID":{"type":"integer","format":"int32","description":"The visit location ID where the visit was recorded."},"SiteName":{"type":"string","description":"The visit location name where the visit was recorded."},"Source":{"type":"string","description":"The visit source, for example Wifi."},"VisitDateTime":{"type":"string","format":"date-time","description":"The visit date time."},"VisitsFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."}}}}},"paths":{"/api/BIDWHouse/GetVisitsFact":{"get":{"operationId":"BidwHouseGetVisitsFact","summary":"GetVisitsFact","tags":["BIDWHouse"],"description":"Getting records from VisitsFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisitsFactOutput"}}}}}}}}}
```

## GetVouchersFact

> Getting records from VouchersFact table.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"VouchersFactOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"type":"string"},"description":"The List of errors if exist."},"Response":{"type":"boolean","description":"The call success status."},"VouchersFacts":{"type":"array","items":{"$ref":"#/components/schemas/VouchersFact"},"description":"List of objects linked to voucher and contacts."}}},"VouchersFact":{"type":"object","properties":{"Category":{"type":"string","description":"The voucher category name."},"CategoryID":{"type":"integer","format":"int32","description":"The voucher category ID."},"CtcID":{"type":"integer","format":"int32","description":"The unique ID for the contact in Atreemo and used to join the various tables."},"Disabled":{"type":"boolean","description":"If True the voucher code has been disabled."},"IssuedDate":{"type":"string","format":"date-time","nullable":true,"description":"The voucher issued date."},"ModifiedDate":{"type":"string","format":"date-time","description":"The last modification date for the voucher."},"OfferCode":{"type":"string","description":"The voucher offer code sent to the customer."},"OfferID":{"type":"integer","format":"int32","description":"The Atreemo voucher offer ID."},"OrderAmount":{"type":"number","format":"float","description":"The voucher order amount."},"Redeemed":{"type":"boolean","description":"If True the code has been redeemed."},"RedemptionAmount":{"type":"number","format":"float","description":"The voucher redemption amount (if redeemed = True)."},"RedemptionDate":{"type":"string","format":"date-time","nullable":true,"description":"The voucher redemption date / time (if redeemed = True)."},"RedemptionLocation":{"type":"string","description":"The voucher redemption location name (if redeemed = True)."},"RedemptionLocationID":{"type":"integer","format":"int64","description":"The voucher redemption location ID (if redeemed = True)."},"SubCategory":{"type":"string","description":"The subcategory linked to the issued voucher."},"SubCategoryID":{"type":"integer","format":"int32","description":"The Subcategory ID linked to the issued voucher."},"Title":{"type":"string","description":"The name given to the voucher in Atreemo."},"VoucherCode":{"type":"string","description":"The Voucher code issued to the contact."},"VoucherCreatedDate":{"type":"string","format":"date-time","description":"The date the voucher was set up in Atreemo."},"VoucherExpiryDate":{"type":"string","format":"date-time","nullable":true,"description":"The voucher expiration date."},"VouchersFactID":{"type":"integer","format":"int32","description":"Incremental unique ID."}}}}},"paths":{"/api/BIDWHouse/GetVouchersFact":{"get":{"operationId":"BidwHouseGetVouchersFact","summary":"GetVouchersFact","tags":["BIDWHouse"],"description":"Getting records from VouchersFact table.","parameters":[{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true,"default":5000},"description":"Native query parameter. CLR int? PageSize in the pinned controller signature. Omission uses the declared default.","required":false},{"name":"resetStartProcessDate","in":"query","schema":{"type":"boolean","default":false},"description":"Native query parameter. CLR bool resetStartProcessDate in the pinned controller signature. Omission uses the declared default.","required":false}],"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VouchersFactOutput"}}}}}}}}}
```

## Post

> Set the initial date for when data from each fact table will be retrieved.

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"BIDWHouse","description":"Api Methods for BIDWHouse Please follow the steps below to retrieve the BI data: Below are the names of the fact tables you will be able to access.The data in each table is updated once a day. Please note some data feeds may be sent to Atreemo every 24 hours so there could be a 24-48 delay in some records being updated: ContactDetailsFact – Details for all the contacts in the database ContactPreferencesFact – The marketing opt in preferences for the contacts, i.e.email opt in EmailTrendFact – Details for any emails the contacts have received LoyaltyPointsFact – Details the loyalty transactions linked to a contact PushNotificationsTrendFact – Details for any push notifications the contacts have received SMSTrendFact – Details for any text messages the contacts have received TransactionsFact – Details transactions that are linked to a contact VisitsFact – Summarises all the visits linked to a contact VouchersFact – Details vouchers issued and redeemed for contacts ContactsSourcesFact – Includes all the data sources linked to a contact.The main ContactDetailsFact table will always return the original source, whereas this table will include all the data sources. You are able to make successive calls to each table, when you get an empty list, you will have the full data set. The data will start from the date you defined in the original set call (Post).If you don’t include the date in the first post call, the date will start from first row in the table (the oldest record). You do not need to recall the Set method in subsequent calls, the batch ID is auto-incremented for each call. The batch size is defaulted to 5,000 but can be extended to 100,000 by using the PageSize parameter in the Get method.The response time will be defined by the size of the batch requested."}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"BIDWHouseInput":{"type":"object","properties":{"StartDate":{"type":"string","format":"date-time","description":"The Date from which to get records."},"TableName":{"type":"string","description":"Below the name of the fact tables : ContactDetailsFact ContactPreferencesFact EmailTrendFact LoyaltyPointsFact PushNotificationsTrendFact SMSTrendFact TransactionsFact VisitsFact VouchersFact ContactsSourcesFact LeadsFact BookingsFact HotelBookingsFact"}},"required":["StartDate","TableName"]},"BIDWHouseOutput":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"},"description":"The list of errors if exist."},"response":{"type":"boolean","description":"The call success status."}}}}},"paths":{"/api/BIDWHouse/Post":{"post":{"operationId":"BidwHousePost","summary":"Post","tags":["BIDWHouse"],"description":"Set the initial date for when data from each fact table will be retrieved.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BIDWHouseInput"}}}},"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BIDWHouseOutput"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hos.accessacloud.com/atreemo-api/api-reference/atreemo-api-reference/bidwhouse.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
