Vervotech
  1. Operational APIs
Vervotech
  • Hotel Mapping
    • Getting Started
    • Access & Onboarding with Vervotech
    • Explore your providers
    • Integration and Go Live
    • Map Providers Content
    • Webhook
    • References
    • FAQ
    • Metadata Content
      • Get Master Hotel Facilities
      • Get Master Hotel Chains
      • Get Master Hotel Brands
      • Get Master Property Types
      • Get All Master Countries
      • Get All Vervotech Ids
    • Mappings
      • Get Mappings
      • Get New Mappings
      • Get Updated Mappings
      • Get Deleted Mappings
      • Get Mapping Statistics
      • Export Mappings File
      • Get Hotel count for new, updated and deleted.
      • Get Provider Hotel Mappings by ProviderId
      • Get Provider Hotel Mappings By VervotechId
    • Curated Content
      • Get Curated Content By Provider Hotel Ids
      • Get Curated Content By Vervotech Ids
    • Provider Content
      • Get Unmapped Provider Hotels
      • Get Unmapped Provider Hotels V2
      • Create Unmapped Provider Hotels File
      • Get All Provider names
      • Get Provider Content By Provider Hotel Ids
      • Get Provider Content By Vervotech Ids
    • Location Content
      • Get Location By ID
      • Get All Locations
    • Operational APIs
      • Review Mappings of Booked Hotels By File
        GET
      • Review Mappings of Booked Hotels
        POST
      • Start Mapping By Ftp Folder
        GET
      • Get Mappings History By RunId
        POST
    • Dynamic Mapping APIs
      • Find Match
    • Dual Mapping APIs
      • Overview
      • Get Mappings by Provider Hotel Id.
      • Get Mappings with content by Provider Hotel Id.
      • Get summary for your dual mapping APIs
  • Room Mapping
    • Getting Started
    • File Based Room Mapping (Offline)
    • References
    • FAQ
    • Mapping API
      • Map Rooms
      • Get Master Room Amenities
      • Get Master Room Attributes
      • Get Provider Names
      • Get All Provider Names
    • Async Room Mapping API
      • Get Async Room Mapping API Response
      • Map Large Rooms Async
    • Board Basis Mappings
      • Get All Master Board Basis
      • Map Board Basis API
  • Schemas
    • Schemas
    • Response
      • GetMasterHotelBrandsResponse
      • GetMasterPropertyTypesResponse
      • GetMasterCountriesResponse
      • FacilityGroupFixtures
      • GetMasterHotelChainsResponse
    • HotelContent
    • GetHotelsByLocationIdRes
    • RoomMappingBody
    • Unica.Core.Contracts.Location.MasterLocationListRes
    • GetMasterHotelBrandsResponse1
    • CuratedHotels
    • GetHotelsByPolygonRes
    • RoomMappingBody2
    • Unica.Core.Contracts.Location.MasterLocationRes
    • GetMasterPropertyTypesResponse2
    • CuratedHotelsWithLocationContent
    • GetMappingsCountRes
    • KeyValue
    • Unica.Core.Contracts.Models.Airport
    • GetMasterCountriesResponse3
    • ReviewHotels
    • Unica.Core.Contracts.Models.ApiResponse
    • FacilityGroupFixtures4
    • ProviderMappingsStats
    • ProviderFacility
    • Unica.Core.Contracts.Models.Bed
    • GetMasterHotelChainsResponse5
    • MappingsStats
    • Unica.Core.Contracts.Models.Billing.AccountUsageBalance
    • ReviewMappingsofBookedHotelsRequest
    • ProviderRoomContent
    • Unica.Core.Contracts.Models.Billing.BillingEntry
    • LocationByPolygonRequest
    • RoomMappingRequest
    • Unica.Core.Contracts.Models.Billing.BilllingHistory
    • ProviderHotelIdentifiers
    • GenericResponse
    • Unica.Core.Contracts.Models.Billing.UsageBalanceDetails
    • ProviderHotelIdentifier
    • GetUnmappedHotelsResponse
    • GetMasterRoomAmenitiesResponse
    • Unica.Core.Contracts.Models.ConnectedLocation
    • GetMasterHotelChainsResponse
    • GetUnmappedHotelsV2Response
    • GetMasterRoomAttributesResponse
    • Unica.Core.Contracts.Models.DownloadStats
    • HotelChains
    • GetProviderContentResponse
    • MappedRoomRate
    • Unica.Core.Contracts.Models.DownloadStatsStatus
    • HotelMapping
    • GetProviderContentByHotelIdsResponse
    • RoomMappingResponse2
    • Unica.Core.Contracts.Models.Facility
    • HotelProviderIdentifier
    • GetCuratedContentResponse
    • ErrorResponse
    • Unica.Core.Contracts.Models.GetAllCountriesResV3
    • AsyncRoomMappingResponse
    • Bed
    • GetUpdatedCuratedContentResponse
    • Unica.Core.Contracts.Models.GetAllHotelBrandsRes
    • Status
    • GetMappingStatisticsResponse
    • Unica.Core.Contracts.Models.GetAllHotelChainsRes
    • Message
    • ReviewMappingsofBookedHotelsResponse
    • Unica.Core.Contracts.Models.GetAllMasterTagsResV3
    • StatusCode
    • GetProviderMappingResponse
    • Unica.Core.Contracts.Models.GetAllPropertyTypesRes
    • FacilityGroupFixtures
    • GetProviderMappingByProviderResponse
    • Unica.Core.Contracts.Models.GetMappingHistoryReq
    • GuestReview
    • GetMappingHistoryByRunIdResponse
    • Unica.Core.Contracts.Models.GetMappingsCountRes
    • CategoryRating
    • GetProviderNamesResponse
    • Unica.Core.Contracts.Models.GetProviderMappingStatsRS
    • Facility
    • GetProviderHotelIdsByVervotechIdResponse
    • Unica.Core.Contracts.Models.HotelsAPI.HotelContentField
    • GetMasterHotelBrandsResponse2
    • NearByLocation
    • GetAllVervotechIdsResponse
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.CreateUnmappedProviderHotelsFileReq
    • GetMasterPropertyTypesResponse3
    • TrainStations
    • StartMappingByFtpFolderResponse
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.CuratedHotelWithLocationMapping
    • GetMasterCountriesResponse4
    • PointOfInterests
    • PropertyContent400Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetCuratedContentByVervotechIdsReq
    • FacilityGroupFixtures5
    • ConnectedLocations
    • PropertyContent404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetCuratedContentWithLocationRes
    • GetMasterHotelChainsResponse6
    • Neighbourhoods
    • HotelChain404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetMappingByProviderRes
    • GetMasterHotelBrandsResponse3
    • Stadiums
    • MasterCountry404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetMappingsRes
    • GetMasterPropertyTypesResponse4
    • LocationMapping
    • BucketFolderNotFound
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetMasterFacilityGroups
    • GetMasterCountriesResponse5
    • GetMasterHotelBrandsResponse
    • ProviderNames404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetOSMLocationsRQ
    • FacilityGroupFixtures6
    • HotelBrands
    • PropertyType404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetProviderContentByProviderIdsReq
    • GetMasterHotelChainsResponse7
    • GetMasterPropertyTypesResponse
    • Error401
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetProviderContentByVervotechIdsReq
    • PropertyTypes
    • Error403
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetProviderContentRes
    • GetMasterCountriesResponse
    • Error426
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetUnmappedProviderHotelsReq
    • Countries
    • Error500
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetUnmappedProviderHotelsRes
    • Room
    • Error503
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetUnmappedProviderHotelsV2Req
    • Locations
    • Facility404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetUnmappedProviderHotelsV2Res
    • ResumeKey
    • TotalHotelsCount404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetUpdatedCuratedContentRes
    • Error
    • LocationsRS
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.GetVervotechIdsRes
    • UnmappedHotelContent
    • Location404Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.HotelProviderIdentifierV3
    • HotelsByLocationIdRes
    • Location400Error
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.MasterFacilityGroups
    • Tag
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ProviderHotelIdsRes
    • schema1
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ProviderHotelMappings
    • schema2
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ProviderMapping
    • schema3
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ProviderMappingRes
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ProviderMappingType
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.ReviewBookedHotelsReq
    • Unica.Core.Contracts.Models.HotelsAPI.HotelMappingV3.StartMappingByFtpFolderRes
    • Unica.Core.Contracts.Models.Image
    • Unica.Core.Contracts.Models.ImageSize
    • Unica.Core.Contracts.Models.KeyValue
    • Unica.Core.Contracts.Models.Link
    • Unica.Core.Contracts.Models.MappingStats
    • Unica.Core.Contracts.Models.MappingStatsRes
    • Unica.Core.Contracts.Models.MasterChain.HotelBrand
    • Unica.Core.Contracts.Models.MasterChain.HotelChain
    • Unica.Core.Contracts.Models.MasterLocation.LocationMappingRes
    • Unica.Core.Contracts.Models.MasterTags.Tags
    • Unica.Core.Contracts.Models.Neighbourhood
    • Unica.Core.Contracts.Models.PoI
    • Unica.Core.Contracts.Models.ProviderHotelHistory
    • Unica.Core.Contracts.Models.ProviderHotelHistoryRes
    • Unica.Core.Contracts.Models.ProviderHotelIdentifier
    • Unica.Core.Contracts.Models.ProviderMappingStats
    • Unica.Core.Contracts.Models.RawMapHotel
    • Unica.Core.Contracts.Models.Room
    • Unica.Core.Contracts.Models.RoomArea
    • Unica.Core.Contracts.Models.Stadium
    • Unica.Core.Contracts.Models.TrainStation
    • Unica.Core.Contracts.Models.VerifyMapping
    • Unica.DataContracts.Common.Address
    • Unica.DataContracts.Common.Bed
    • Unica.DataContracts.Common.CategoryRating
    • Unica.DataContracts.Common.CheckinInfo
    • Unica.DataContracts.Common.CheckoutInfo
    • Unica.DataContracts.Common.Contact
    • Unica.DataContracts.Common.Description
    • Unica.DataContracts.Common.DistanceUnit
    • Unica.DataContracts.Common.Facility
    • Unica.DataContracts.Common.Fee
    • Unica.DataContracts.Common.FeeType
    • Unica.DataContracts.Common.GeoCode
    • Unica.DataContracts.Common.GuestReview
    • Unica.DataContracts.Common.Image
    • Unica.DataContracts.Common.ImageSize
    • Unica.DataContracts.Common.KeyValue
    • Unica.DataContracts.Common.Link
    • Unica.DataContracts.Common.PointOfInterest
    • Unica.DataContracts.Common.Policy
    • Unica.DataContracts.Common.ReviewDistribution
    • Unica.DataContracts.Common.Room
    • Unica.DataContracts.Common.RoomArea
    • Unica.DataContracts.Common.Statistics
    • Unica.DataContracts.Common.UserReview
    • Unica.DataContracts.HotelMappingV3.DTORawMapHotel
    • Unica.DataContracts.HotelMappingV3.ProviderHotel
    • Unica.DataContracts.MasterLocation.MasterLocation
    • Unica.Host.Web.Controllers.GetProviderNamesRes
    • Unica.Services.CoreService.Models.GetProviderMappingMappingRq
    • Unica.Services.CoreService.Models.HotelMappingReq
  1. Operational APIs

Start Mapping By Ftp Folder

GET
/mappings/StartMappingByFtpFolder
Please follow the following steps in sequence

Step 1 - Prepare hotel content files:#

1.
Please refer the content hotel static content file template here:
ddd 2.png
2.
The file extension must be .csv.
3.
All the columns from the content template file must be present in your content file.
4.
Create separate .csv file for each provider.
5.
Make sure the column names in your content file are matching exactly with the column names in Vervotech Mappings content template file.
6.
The column names are case sensitive.
7.
Make sure there are no invalid/junk values like for any of the content fields. For example, "NULL", "null", " " etc.
Following are the columns included in the template:
SupplierName: Required. The name of the provider providing that hotel. This must be from the master Vervotech Mappings master provider names: GetAllProviderNames
SupplierHotelId: Required. This would be the property's ID, provided to you by the provider.
HotelName: Required. Name of the property.
Line1: Required. Property's address line 1.
Line2: Property's address line 2.
CityName: Required. Name of the city where the property is located.
CityCode: Optional. Code for the city/location where the property is located.
StateName: Name of the state where the property is located.
StateCode: Code of the state where the property is located.
ZipCode: Required. Zip code of the property.
CountryName: Either one of CountryName or CountryCode is required. Name of the country where the property is located. Either one of the CountryName and CountryCode is sufficient.
CountryCode: Either one of CountryName or CountryCode is required. ISO country code where the property is located.
StarRating: Required. Star ratings of the property.
Lat: Required. Latitude of the property.
Long: Required. Longitude of the property
ChainCode: Optional. Information about the chain code.
Phones: Property's phone numbers.
Fax: Property's fax number.
Email: Property's email address.
Website: Property's official website address.
PropertyType: Hotel property type. E.g.: - Motel, Resort, Villa, etc.

Step 2 - Upload the hotel content files to SFTP site:#

Step 2.1: Connect to the SFTP server.#

Connect to the FTP site using any FTP client. You can get the FTP credentials from Vervotech client portal under "Load Provider Content".
ShowFTPCredentials.PNG

Step 2.2: Create folder path for files.#

Create new folders at the root of the FTP site. You can tools like FileZilla or any other SFTP client. Alternatively, you can use any programming client.
The directory path of the folder should be in following format:
[FTP Root]/[DATE]/[ProviderName]/[ProviderKey]
FTP Folder path essentially has 3 components:
1.
Date: The [DATE] format should be DDMMYYYY.
2.
ProviderName: The name of the provider. This must be one of the provider name from the master Vervotech Mappings master provider names: GetAllProviderNames
If the provider name is not present in the master provider list, please contact Vervotech Mappings support team at Vervotech Support
3.
ProviderKey: This will be provided by the Vervotech Mappings team for each provider. You can get the FTP credentials from Vervotech client portal under "Manage Your Providers" tab as shown below.
ProviderKey.PNG

Step 2.3: Upload the file to SFTP server#

You can upload multiple provider files in single SFTP folder. The provider file name can be in any format. However, we recommend placing only one file per folder.
Examples:
18122022/HotelBeds/accountId__accountId__HotelBeds/HotelBedsProperties.csv
18122022/Priceline/accountId__accountId__Priceline/PricelineProperties.csv
18122022/EAN/accountId__accountId__EAN/EANProperties.csv

Step 3 - Trigger the hotel mapping using Client Portal:#

1.
Login to Vervotech Mappings client portal.
2.
Go to "Load Provider Content" in the navigation pane.
3.
Enter the full FTP path URL in the "SFTP Folder Path" text box.
4.
Click on the "Start Mapping" button. You should see multiple unique identifier/number (RunId) on the screen for your mapping request. There will be unique RunId generated for each file from your upload directory.
5.
The processing of the file must be completed before uploading any new files.

Step 4 - Review mapping progress for your files:#

You can check the status of any of the mapping against any RunId which you have triggered. Go to "Providers Content Processing" and see the progress of any RunId.

Step 5 - Trigger the hotel mapping using APIs:#

1.
The entire process of uploading the files can be automated programtically using SFTP client.
2.
Once the files are uploaded, integrate with https://hotelmapping.vervotech.com/api/3.0/mappings/StartMappingByFtpFolder.
3.
The input to this web service is mainly the FTP upload directory path.
4.
Trigger the hotel mapping request by invoking this web service.

Request

Query Params

Header Params

Responses

🟢200OK
application/json
OK
Body

🟠403Forbidden
🟠404Not Found
🔴500Internal Server Error
🔴503Service Unavailable
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://hotelmapping.vervotech.com/api/3.0/mappings/StartMappingByFtpFolder?templateType=Vervotech_Template&folderName=18122019/HotelBeds/johndoe__johndoe__HotelBeds' \
--header 'apikey: 056ec4c3-be6b-4c36-a4cc-a403ce9592a1' \
--header 'accountId: DemoAccount'
Response Response Example
200 - Example 1
{
    "Status": true,
    "Message": "Success",
    "RunId": "rc1234-3232-5657",
    "MappingStats": [
        {
            "RunId": "f676e8a6-00b4-4231-8a1a-5a19d290837d",
            "MissingCountryCodes": 0,
            "MissingGeoCodes": 0,
            "MissingHotelChains": 0,
            "MissingPhones": 0,
            "MissingStarRatings": 0,
            "MissingZipCodes": 0,
            "MissingCity": 0,
            "MissingFax": 0,
            "MissingName": 0,
            "MissingState": 0,
            "MissingAddress": 0,
            "PublishCount": 0,
            "TotalProviderCount": 0,
            "StorageFilePath": "11092022/MGHoliday/via__via__MGHoliday/MGHoliday.csv",
            "ValidationMessage": "File format is Valid. Hotel count 269076.",
            "Status": "Completed",
            "StartDate": "2022-09-12T10:03:57.134Z",
            "EndDate": "2022-09-12T11:30:07.219Z",
            "WorkFlowType": "FTPDownloader",
            "DownloadStats": {}
        }
    ],
    "StatusCode": 2000
}
Previous
Review Mappings of Booked Hotels
Next
Get Mappings History By RunId
Built with