CenResService

<back to all web services

HotelInventoryBlockRequest

The following routes are available for this service:
GET/v2/hotelInventoryBlocks/{Query}/{CendynPropertyId}
GET/v2/hotelInventoryBlocks/{Query}
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class HotelInventoryBlockRequest
{
    var cendynPropertyId:String? = null
    var query:InventoryBlockQueryType? = null
    var startDate:Date? = null
    var endDate:Date? = null
    var blockName:String? = null
    var id:String? = null
    @DataMember(Name="Limit")
    @SerializedName("Limit")
    var pageSize:Int? = null

    @DataMember(Name="Page")
    @SerializedName("Page")
    var pageNumber:Int? = null
}

enum class InventoryBlockQueryType
{
    Name,
    Id,
    LastUpdated,
}

open class HotelInventoryBlockResponse : CenResResponse()
{
    var records:ArrayList<InventoryBlock> = ArrayList<InventoryBlock>()
}

open class CenResResponse
{
    var status:RequestStatus? = null
    var statusMessage:String? = null
    var recordsReturned:Int? = null
    var recordsAvailable:Int? = null
    var pageNumber:Int? = null
    var pageSize:Int? = null
}

enum class RequestStatus
{
    Success,
    Warning,
    Error,
    NotAuthorized,
    Failure,
}

open class InventoryBlock
{
    var cendynPropertyID:String? = null
    var hotelCode:String? = null
    var actionCode:String? = null
    var blockName:String? = null
    var blockCodeType:String? = null
    var blockType:String? = null
    var inventoryBlockStatus:String? = null
    var groupingCode:String? = null
    var blockCodes:String? = null
    var description:String? = null
    var resortAllotmentId:String? = null
    var blockStartDate:Date? = null
    var blockEndDate:Date? = null
    var marketCode:String? = null
    var sourceCode:String? = null
    var channelCode:String? = null
    var cutOffStartDate:Date? = null
    var cutOffEndDate:Date? = null
    var priceViewable:Boolean? = null
    var averageRate:BigDecimal? = null
    var pickupComplete:Boolean? = null
    var comments:String? = null
    var lostReason:String? = null
    var externalID:String? = null
    var sourceName:String? = null
    var sourceID:String? = null
    var sourceDateCreated:Date? = null
    var sourceCreateUser:String? = null
    var sourceDateUpdated:Date? = null
    var sourceUpdateUser:String? = null
    var isActive:Boolean? = null
    var inactiveDate:Date? = null
    var recordStatus:String? = null
    var inventoryBlockEvents:ArrayList<InventoryBlockEvent> = ArrayList<InventoryBlockEvent>()
    var inventoryBlockRates:ArrayList<InventoryBlockRate> = ArrayList<InventoryBlockRate>()
    var profiles:ArrayList<Profile> = ArrayList<Profile>()
}

open class InventoryBlockEvent
{
    var cendynPropertyID:String? = null
    var hotelCode:String? = null
    var inventoryCode:String? = null
    var eventStartDate:Date? = null
    var eventEndDate:Date? = null
    var eventName:String? = null
    var eventClassification:String? = null
    var eventBookedDate:Date? = null
    var eventStatus:String? = null
    var roomSetupCode:String? = null
    var roomSetupDescription:String? = null
    var roomSetupCapacity:Int? = null
    var expectedAttendance:Int? = null
    var expectedRevenue:BigDecimal? = null
    var foodRevenue:BigDecimal? = null
    var beverageRevenue:BigDecimal? = null
    var roomRevenue:BigDecimal? = null
    var resourceRevenue:BigDecimal? = null
    var otherRevenue:BigDecimal? = null
    var comments:String? = null
    var externalID:String? = null
    var sourceDateCreated:Date? = null
    var sourceCreateUser:String? = null
    var sourceDateUpdated:Date? = null
    var sourceUpdateUser:String? = null
    var isActive:Boolean? = null
    var inactiveDate:Date? = null
    var recordStatus:String? = null
}

open class InventoryBlockRate
{
    var cendynPropertyID:String? = null
    var hotelCode:String? = null
    var inventoryCode:String? = null
    var blockCount:Int? = null
    var inventoryDay:Date? = null
    var rate1:BigDecimal? = null
    var rate2:BigDecimal? = null
    var rate3:BigDecimal? = null
    var rate4:BigDecimal? = null
    var extraAdult:BigDecimal? = null
    var extraChild:BigDecimal? = null
    var blocksSold:Int? = null
    var roomsContracted:Int? = null
    var roomsReserved:Int? = null
    var isActive:Boolean? = null
    var inactiveDate:Date? = null
    var roomBlockID:String? = null
    var roomBlockName:String? = null
    var roomBlockStatus:String? = null
    var recordStatus:String? = null
}

open class Profile
{
    var cendynPropertyID:String? = null
    var propertyName:String? = null
    var uniqueIDs:ArrayList<UniqueIDType> = ArrayList<UniqueIDType>()
    var profileTypeCode:String? = null
    var profileTypeDescription:String? = null
    var nameCode:String? = null
    var profileTypeCategory:String? = null
    var jobTitle:String? = null
    var salutation:String? = null
    var firstName:String? = null
    var familiarName:String? = null
    var middleName:String? = null
    var lastName:String? = null
    var fullName:String? = null
    var nameSuffix:String? = null
    var vipid:String? = null
    var vipCode:String? = null
    var primaryLanguage:String? = null
    var genderCode:String? = null
    var dobYear:String? = null
    var dobMonth:String? = null
    var dobDayOfMonth:String? = null
    var companyName:String? = null
    var arNumber:String? = null
    var allowMail:Boolean? = null
    var allowEMail:Boolean? = null
    var guestPriv:Boolean? = null
    var allowPhone:Boolean? = null
    var allowSMS:Boolean? = null
    var allowHistory:Boolean? = null
    var allowMarketResearch:Boolean? = null
    var allowThirdParty:Boolean? = null
    var allowLoyaltyProgram:Boolean? = null
    var creatorCode:String? = null
    var lastUpdaterCode:String? = null
    var dateProfileCreated:Date? = null
    var dateProfileUpdated:Date? = null
    var inactiveDate:Date? = null
    var nationality:String? = null
    var resortCode:String? = null
    var retiredProfileId:String? = null
    var transferredSubscriptionId:String? = null
    var sourceName:String? = null
    var sourceID:String? = null
    var optOutMarketing:Boolean? = null
    var optOutDate:Date? = null
    var profileExtension:ProfileExtension? = null
    var addresses:ArrayList<Address> = ArrayList<Address>()
    var memberships:ArrayList<Membership> = ArrayList<Membership>()
    var contactMethods:ArrayList<ContactMethod> = ArrayList<ContactMethod>()
    var actionComments:ArrayList<ActionComment> = ArrayList<ActionComment>()
    var specialRequests:ArrayList<SpecialRequest> = ArrayList<SpecialRequest>()
    var udfDataCollection:ArrayList<UDFDataType> = ArrayList<UDFDataType>()
    var lead:Lead? = null
    var relatedTravelers:ArrayList<RelatedTraveler> = ArrayList<RelatedTraveler>()
    var documents:ArrayList<Document> = ArrayList<Document>()
    var vouchers:ArrayList<Voucher> = ArrayList<Voucher>()
    var profilePolicies:ArrayList<ProfilePolicy> = ArrayList<ProfilePolicy>()
}

open class UniqueIDType
{
    var id:String? = null
    @SerializedName("type") var Type:String? = null
    var context:String? = null
}

open class ProfileExtension
{
    var languageCode:String? = null
    var salutationExt:String? = null
    var firstNameExt:String? = null
    var familiarNameExt:String? = null
    var middleNameExt:String? = null
    var lastNameExt:String? = null
    var nameSuffixExt:String? = null
    var companyNameExt:String? = null
    var blacklist:String? = null
    var blackListMessage:String? = null
    var anonymizationStatus:String? = null
}

open class Address
{
    var addressTypeCode:String? = null
    var addressTypeDescription:String? = null
    var addressStatus:String? = null
    var attn:String? = null
    var address1:String? = null
    var address2:String? = null
    var city:String? = null
    var stateProvince:String? = null
    var postalCode:String? = null
    var countryCode:String? = null
    var isPrimary:Boolean? = null
    var addressLanguage:String? = null
    var addressCleansed:Boolean? = null
    var optOutMarketing:Boolean? = null
    var optOutDate:Date? = null
}

open class Membership
{
    var externalID:String? = null
    var programCode:String? = null
    var membershipID:String? = null
    var membershipCategory:String? = null
    var membershipName:String? = null
    var membershipLevel:String? = null
    var membershipStatus:String? = null
    var enrollmentCode:String? = null
    var dateMembershipStarts:Date? = null
    var dateMembershipExpires:Date? = null
    var totalStays:Int? = null
    var awardCredits:Int? = null
    var awardAvailable:Int? = null
    var primaryAirline:Boolean? = null
    var displaySequence:Int? = null
    var sourceName:String? = null
    var sourceID:String? = null
    var isActive:Boolean? = null
    var inactiveDate:Date? = null
    var pointsIndicator:Boolean? = null
}

open class ContactMethod
{
    @SerializedName("type") var Type:String? = null
    var category:String? = null
    var dataValue:String? = null
    var extraData:String? = null
    var optOut:Boolean? = null
    var sourceDate:Date? = null
    var isPrimary:Boolean? = null
    var confirmation:Boolean? = null
    var inactiveDate:Date? = null
    var optOutMarketing:Boolean? = null
    var optOutDate:Date? = null
}

open class ActionComment
{
    var externalID:String? = null
    var commentType:String? = null
    var commentTitle:String? = null
    var commentClass:String? = null
    var actionType:String? = null
    var comment:String? = null
    var actionDate:Date? = null
    var inactiveDate:Date? = null
    var guestViewable:Boolean? = null
    var creatorCode:String? = null
    var dateCommentCreated:Date? = null
    var resortCode:String? = null
}

open class SpecialRequest
{
    var externalID:String? = null
    var requestType:String? = null
    var requestCode:String? = null
    var requestComments:String? = null
    var resortField:String? = null
    var actionTypeCode:String? = null
    var actionType:String? = null
    var inactiveDate:Date? = null
}

open class UDFDataType
{
    var cendynPropertyID:String? = null
    var moduleName:String? = null
    var tableName:String? = null
    var columnName:String? = null
    var udfValue:String? = null
}

open class Lead
{
    var fK_Reservation:UUID? = null
    var externalLeadID:String? = null
    var externalLeadSource:String? = null
    var leadStatus:String? = null
    var leadAcquired:Date? = null
    var tentativeStartDate:Date? = null
    var tentativeEndDate:Date? = null
    var assignedAgent:String? = null
    var assignedDate:Date? = null
    var contactMethod:String? = null
    var contactAgent:String? = null
    var contactDate:Date? = null
    var lastFollowupMethod:String? = null
    var lastFollowupAgent:String? = null
    var lastFollowupDate:Date? = null
    var bookingMethod:String? = null
    var bookingAgent:String? = null
    var bookingDate:Date? = null
    var reasonforStay:String? = null
    var marketCode:String? = null
    var campaignCode:String? = null
    var campaignName:String? = null
    var priceEstimate:BigDecimal? = null
    var flaggedForAttention:Boolean? = null
}

open class RelatedTraveler
{
    var cendynPropertyID:String? = null
    var propertyName:String? = null
    var uniqueIDs:ArrayList<UniqueIDType> = ArrayList<UniqueIDType>()
    var salutation:String? = null
    var firstName:String? = null
    var familiarName:String? = null
    var middleName:String? = null
    var lastName:String? = null
    var fullName:String? = null
    var suffix:String? = null
    var relation:String? = null
    var isPrimary:Boolean? = null
}

open class Document
{
    var documentID:String? = null
    var documentType:String? = null
    var documentSource:String? = null
    var codeOnDocument:String? = null
    var documentNotes:String? = null
    var nameOnDocument:String? = null
    var nationalityOnDocument:String? = null
    var effectiveDate:Date? = null
    var expirationDate:Date? = null
    var issuer:String? = null
    var issuerCountry:String? = null
    var isPrimary:Boolean? = null
    var piI_StoredAs:String? = null
    var inactiveDate:Date? = null
}

open class Voucher
{
    var hotelCode:String? = null
    var voucherID:String? = null
    var voucherID2:String? = null
    var appliedToResort:String? = null
    var reservationID:String? = null
    var profileIDRecipient:String? = null
    var subscriberIDRecipient:String? = null
    var recipientName:String? = null
    var emailaddress:String? = null
    var profileIDPurchaser:String? = null
    var purchaserName:String? = null
    var voucherStatus:String? = null
    var voucherType:String? = null
    var membershipType:String? = null
    var certCode:String? = null
    var certNo:String? = null
    var shortDescription:String? = null
    var giftMessage:String? = null
    var comments:String? = null
    var voucherAmount:BigDecimal? = null
    var currencyCode:String? = null
    var issueType:String? = null
    var dateConsumed:Date? = null
    var expirationDate:Date? = null
    var awardPoints:Int? = null
    var ruleType:String? = null
    var ruleValue:String? = null
    var cancelAllowed:Boolean? = null
    var maxExtensions:Int? = null
    var referenceType:String? = null
    var referenceID:String? = null
    var promotionCode:String? = null
    var reservationConsumed:Boolean? = null
    var webConsumed:Boolean? = null
    var pmsConsumed:Boolean? = null
    var verifyCertNo:Boolean? = null
    var generateInLieu:Boolean? = null
    var creatorCode:String? = null
    var lastUpdaterCode:String? = null
    var folioID:String? = null
    var inactiveDate:Date? = null
}

open class ProfilePolicy
{
    var policyType:String? = null
    var attributeName:String? = null
    var integerValue:Int? = null
    var stringValue:String? = null
    var effectiveDate:Date? = null
    var expirationDate:Date? = null
    var comments:String? = null
    var externalID:String? = null
    var appliesTo:String? = null
    var appliesToDescriptor:String? = null
}

Kotlin HotelInventoryBlockRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v2/hotelInventoryBlocks/{Query}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"records":[{"cendynPropertyID":"String","hotelCode":"String","actionCode":"String","blockName":"String","blockCodeType":"String","blockType":"String","inventoryBlockStatus":"String","groupingCode":"String","blockCodes":"String","description":"String","resortAllotmentId":"String","blockStartDate":"0001-01-01T00:00:00.0000000","blockEndDate":"0001-01-01T00:00:00.0000000","marketCode":"String","sourceCode":"String","channelCode":"String","cutOffStartDate":"0001-01-01T00:00:00.0000000","cutOffEndDate":"0001-01-01T00:00:00.0000000","priceViewable":false,"averageRate":0,"pickupComplete":false,"comments":"String","lostReason":"String","externalID":"String","sourceName":"String","sourceID":"String","sourceDateCreated":"0001-01-01T00:00:00.0000000","sourceCreateUser":"String","sourceDateUpdated":"0001-01-01T00:00:00.0000000","sourceUpdateUser":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","recordStatus":"String","inventoryBlockEvents":[{"cendynPropertyID":"String","hotelCode":"String","inventoryCode":"String","eventStartDate":"0001-01-01T00:00:00.0000000","eventEndDate":"0001-01-01T00:00:00.0000000","eventName":"String","eventClassification":"String","eventBookedDate":"0001-01-01T00:00:00.0000000","eventStatus":"String","roomSetupCode":"String","roomSetupDescription":"String","roomSetupCapacity":0,"expectedAttendance":0,"expectedRevenue":0,"foodRevenue":0,"beverageRevenue":0,"roomRevenue":0,"resourceRevenue":0,"otherRevenue":0,"comments":"String","externalID":"String","sourceDateCreated":"0001-01-01T00:00:00.0000000","sourceCreateUser":"String","sourceDateUpdated":"0001-01-01T00:00:00.0000000","sourceUpdateUser":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","recordStatus":"String"}],"inventoryBlockRates":[{"cendynPropertyID":"String","hotelCode":"String","inventoryCode":"String","blockCount":0,"inventoryDay":"0001-01-01T00:00:00.0000000","rate1":0,"rate2":0,"rate3":0,"rate4":0,"extraAdult":0,"extraChild":0,"blocksSold":0,"roomsContracted":0,"roomsReserved":0,"isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","roomBlockID":"String","roomBlockName":"String","roomBlockStatus":"String","recordStatus":"String"}],"profiles":[{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"profileTypeCode":"String","profileTypeDescription":"String","nameCode":"String","profileTypeCategory":"String","jobTitle":"String","salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","nameSuffix":"String","vipid":"String","vipCode":"String","primaryLanguage":"String","genderCode":"String","dobYear":"String","dobMonth":"String","dobDayOfMonth":"String","companyName":"String","arNumber":"String","allowMail":false,"allowEMail":false,"guestPriv":false,"allowPhone":false,"allowSMS":false,"allowHistory":false,"allowMarketResearch":false,"allowThirdParty":false,"allowLoyaltyProgram":false,"creatorCode":"String","lastUpdaterCode":"String","dateProfileCreated":"0001-01-01T00:00:00.0000000","dateProfileUpdated":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","nationality":"String","resortCode":"String","retiredProfileId":"String","transferredSubscriptionId":"String","sourceName":"String","sourceID":"String","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000","profileExtension":{"languageCode":"String","salutationExt":"String","firstNameExt":"String","familiarNameExt":"String","middleNameExt":"String","lastNameExt":"String","nameSuffixExt":"String","companyNameExt":"String","blacklist":"String","blackListMessage":"String","anonymizationStatus":"String"},"addresses":[{"addressTypeCode":"String","addressTypeDescription":"String","addressStatus":"String","attn":"String","address1":"String","address2":"String","city":"String","stateProvince":"String","postalCode":"String","countryCode":"String","isPrimary":false,"addressLanguage":"String","addressCleansed":false,"optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"memberships":[{"externalID":"String","programCode":"String","membershipID":"String","membershipCategory":"String","membershipName":"String","membershipLevel":"String","membershipStatus":"String","enrollmentCode":"String","dateMembershipStarts":"0001-01-01T00:00:00.0000000","dateMembershipExpires":"0001-01-01T00:00:00.0000000","totalStays":0,"awardCredits":0,"awardAvailable":0,"primaryAirline":false,"displaySequence":0,"sourceName":"String","sourceID":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","pointsIndicator":false}],"contactMethods":[{"type":"String","category":"String","dataValue":"String","extraData":"String","optOut":false,"sourceDate":"0001-01-01T00:00:00.0000000","isPrimary":false,"confirmation":false,"inactiveDate":"0001-01-01T00:00:00.0000000","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"actionComments":[{"externalID":"String","commentType":"String","commentTitle":"String","commentClass":"String","actionType":"String","comment":"String","actionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","guestViewable":false,"creatorCode":"String","dateCommentCreated":"0001-01-01T00:00:00.0000000","resortCode":"String"}],"specialRequests":[{"externalID":"String","requestType":"String","requestCode":"String","requestComments":"String","resortField":"String","actionTypeCode":"String","actionType":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"udfDataCollection":[{"cendynPropertyID":"String","moduleName":"String","tableName":"String","columnName":"String","udfValue":"String"}],"lead":{"fK_Reservation":"00000000000000000000000000000000","externalLeadID":"String","externalLeadSource":"String","leadStatus":"String","leadAcquired":"0001-01-01T00:00:00.0000000","tentativeStartDate":"0001-01-01T00:00:00.0000000","tentativeEndDate":"0001-01-01T00:00:00.0000000","assignedAgent":"String","assignedDate":"0001-01-01T00:00:00.0000000","contactMethod":"String","contactAgent":"String","contactDate":"0001-01-01T00:00:00.0000000","lastFollowupMethod":"String","lastFollowupAgent":"String","lastFollowupDate":"0001-01-01T00:00:00.0000000","bookingMethod":"String","bookingAgent":"String","bookingDate":"0001-01-01T00:00:00.0000000","reasonforStay":"String","marketCode":"String","campaignCode":"String","campaignName":"String","priceEstimate":0,"flaggedForAttention":false},"relatedTravelers":[{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","suffix":"String","relation":"String","isPrimary":false}],"documents":[{"documentID":"String","documentType":"String","documentSource":"String","codeOnDocument":"String","documentNotes":"String","nameOnDocument":"String","nationalityOnDocument":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","issuer":"String","issuerCountry":"String","isPrimary":false,"piI_StoredAs":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"vouchers":[{"hotelCode":"String","voucherID":"String","voucherID2":"String","appliedToResort":"String","reservationID":"String","profileIDRecipient":"String","subscriberIDRecipient":"String","recipientName":"String","emailaddress":"String","profileIDPurchaser":"String","purchaserName":"String","voucherStatus":"String","voucherType":"String","membershipType":"String","certCode":"String","certNo":"String","shortDescription":"String","giftMessage":"String","comments":"String","voucherAmount":0,"currencyCode":"String","issueType":"String","dateConsumed":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","awardPoints":0,"ruleType":"String","ruleValue":"String","cancelAllowed":false,"maxExtensions":0,"referenceType":"String","referenceID":"String","promotionCode":"String","reservationConsumed":false,"webConsumed":false,"pmsConsumed":false,"verifyCertNo":false,"generateInLieu":false,"creatorCode":"String","lastUpdaterCode":"String","folioID":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"profilePolicies":[{"policyType":"String","attributeName":"String","integerValue":0,"stringValue":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","comments":"String","externalID":"String","appliesTo":"String","appliesToDescriptor":"String"}]}]}],"status":"Success","statusMessage":"String","recordsReturned":0,"recordsAvailable":0,"pageNumber":0,"pageSize":0}