CenResService

<back to all web services

HotelInventoryBlock

The following routes are available for this service:
POST/hotelinventoryblock/{SubscriptionId}/{CendynPropertyId}
import Foundation
import ServiceStack

public class HotelInventoryBlock : Codable
{
    public var inventoryBlock:InventoryBlock?
    public var subscriptionId:String?
    public var cendynPropertyId:String?

    required public init(){}
}

public class InventoryBlock : Codable
{
    public var cendynPropertyID:String?
    public var hotelCode:String?
    public var actionCode:String?
    public var blockName:String?
    public var blockCodeType:String?
    public var blockType:String?
    public var inventoryBlockStatus:String?
    public var groupingCode:String?
    public var blockCodes:String?
    public var Description:String?
    public var resortAllotmentId:String?
    public var blockStartDate:Date?
    public var blockEndDate:Date?
    public var marketCode:String?
    public var sourceCode:String?
    public var channelCode:String?
    public var cutOffStartDate:Date?
    public var cutOffEndDate:Date?
    public var priceViewable:Bool?
    public var averageRate:Double?
    public var pickupComplete:Bool?
    public var comments:String?
    public var lostReason:String?
    public var externalID:String?
    public var sourceName:String?
    public var sourceID:String?
    public var sourceDateCreated:Date?
    public var sourceCreateUser:String?
    public var sourceDateUpdated:Date?
    public var sourceUpdateUser:String?
    public var isActive:Bool?
    public var inactiveDate:Date?
    public var recordStatus:String?
    public var inventoryBlockEvents:[InventoryBlockEvent] = []
    public var inventoryBlockRates:[InventoryBlockRate] = []
    public var profiles:[Profile] = []

    required public init(){}
}

public class InventoryBlockEvent : Codable
{
    public var cendynPropertyID:String?
    public var hotelCode:String?
    public var inventoryCode:String?
    public var eventStartDate:Date?
    public var eventEndDate:Date?
    public var eventName:String?
    public var eventClassification:String?
    public var eventBookedDate:Date?
    public var eventStatus:String?
    public var roomSetupCode:String?
    public var roomSetupDescription:String?
    public var roomSetupCapacity:Int?
    public var expectedAttendance:Int?
    public var expectedRevenue:Double?
    public var foodRevenue:Double?
    public var beverageRevenue:Double?
    public var roomRevenue:Double?
    public var resourceRevenue:Double?
    public var otherRevenue:Double?
    public var comments:String?
    public var externalID:String?
    public var sourceDateCreated:Date?
    public var sourceCreateUser:String?
    public var sourceDateUpdated:Date?
    public var sourceUpdateUser:String?
    public var isActive:Bool?
    public var inactiveDate:Date?
    public var recordStatus:String?

    required public init(){}
}

public class InventoryBlockRate : Codable
{
    public var cendynPropertyID:String?
    public var hotelCode:String?
    public var inventoryCode:String?
    public var blockCount:Int?
    public var inventoryDay:Date?
    public var rate1:Double?
    public var rate2:Double?
    public var rate3:Double?
    public var rate4:Double?
    public var extraAdult:Double?
    public var extraChild:Double?
    public var blocksSold:Int?
    public var roomsContracted:Int?
    public var roomsReserved:Int?
    public var isActive:Bool?
    public var inactiveDate:Date?
    public var roomBlockID:String?
    public var roomBlockName:String?
    public var roomBlockStatus:String?
    public var recordStatus:String?

    required public init(){}
}

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

    required public init(){}
}

public class UniqueIDType : Codable
{
    public var id:String?
    public var type:String?
    public var context:String?

    required public init(){}
}

public class ProfileExtension : Codable
{
    public var languageCode:String?
    public var salutationExt:String?
    public var firstNameExt:String?
    public var familiarNameExt:String?
    public var middleNameExt:String?
    public var lastNameExt:String?
    public var nameSuffixExt:String?
    public var companyNameExt:String?
    public var blacklist:String?
    public var blackListMessage:String?
    public var anonymizationStatus:String?

    required public init(){}
}

public class Address : Codable
{
    public var addressTypeCode:String?
    public var addressTypeDescription:String?
    public var addressStatus:String?
    public var attn:String?
    public var address1:String?
    public var address2:String?
    public var city:String?
    public var stateProvince:String?
    public var postalCode:String?
    public var countryCode:String?
    public var isPrimary:Bool?
    public var addressLanguage:String?
    public var addressCleansed:Bool?
    public var optOutMarketing:Bool?
    public var optOutDate:Date?

    required public init(){}
}

public class Membership : Codable
{
    public var externalID:String?
    public var programCode:String?
    public var membershipID:String?
    public var membershipCategory:String?
    public var membershipName:String?
    public var membershipLevel:String?
    public var membershipStatus:String?
    public var enrollmentCode:String?
    public var dateMembershipStarts:Date?
    public var dateMembershipExpires:Date?
    public var totalStays:Int?
    public var awardCredits:Int?
    public var awardAvailable:Int?
    public var primaryAirline:Bool?
    public var displaySequence:Int?
    public var sourceName:String?
    public var sourceID:String?
    public var isActive:Bool?
    public var inactiveDate:Date?
    public var pointsIndicator:Bool?

    required public init(){}
}

public class ContactMethod : Codable
{
    public var type:String?
    public var category:String?
    public var dataValue:String?
    public var extraData:String?
    public var optOut:Bool?
    public var sourceDate:Date?
    public var isPrimary:Bool?
    public var confirmation:Bool?
    public var inactiveDate:Date?
    public var optOutMarketing:Bool?
    public var optOutDate:Date?

    required public init(){}
}

public class ActionComment : Codable
{
    public var externalID:String?
    public var commentType:String?
    public var commentTitle:String?
    public var commentClass:String?
    public var actionType:String?
    public var comment:String?
    public var actionDate:Date?
    public var inactiveDate:Date?
    public var guestViewable:Bool?
    public var creatorCode:String?
    public var dateCommentCreated:Date?
    public var resortCode:String?

    required public init(){}
}

public class SpecialRequest : Codable
{
    public var externalID:String?
    public var requestType:String?
    public var requestCode:String?
    public var requestComments:String?
    public var resortField:String?
    public var actionTypeCode:String?
    public var actionType:String?
    public var inactiveDate:Date?

    required public init(){}
}

public class UDFDataType : Codable
{
    public var cendynPropertyID:String?
    public var moduleName:String?
    public var tableName:String?
    public var columnName:String?
    public var udfValue:String?

    required public init(){}
}

public class Lead : Codable
{
    public var fK_Reservation:String?
    public var externalLeadID:String?
    public var externalLeadSource:String?
    public var leadStatus:String?
    public var leadAcquired:Date?
    public var tentativeStartDate:Date?
    public var tentativeEndDate:Date?
    public var assignedAgent:String?
    public var assignedDate:Date?
    public var contactMethod:String?
    public var contactAgent:String?
    public var contactDate:Date?
    public var lastFollowupMethod:String?
    public var lastFollowupAgent:String?
    public var lastFollowupDate:Date?
    public var bookingMethod:String?
    public var bookingAgent:String?
    public var bookingDate:Date?
    public var reasonforStay:String?
    public var marketCode:String?
    public var campaignCode:String?
    public var campaignName:String?
    public var priceEstimate:Double?
    public var flaggedForAttention:Bool?

    required public init(){}
}

public class RelatedTraveler : Codable
{
    public var cendynPropertyID:String?
    public var propertyName:String?
    public var uniqueIDs:[UniqueIDType] = []
    public var salutation:String?
    public var firstName:String?
    public var familiarName:String?
    public var middleName:String?
    public var lastName:String?
    public var fullName:String?
    public var suffix:String?
    public var relation:String?
    public var isPrimary:Bool?

    required public init(){}
}

public class Document : Codable
{
    public var documentID:String?
    public var documentType:String?
    public var documentSource:String?
    public var codeOnDocument:String?
    public var documentNotes:String?
    public var nameOnDocument:String?
    public var nationalityOnDocument:String?
    public var effectiveDate:Date?
    public var expirationDate:Date?
    public var issuer:String?
    public var issuerCountry:String?
    public var isPrimary:Bool?
    public var piI_StoredAs:String?
    public var inactiveDate:Date?

    required public init(){}
}

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

    required public init(){}
}

public class ProfilePolicy : Codable
{
    public var policyType:String?
    public var attributeName:String?
    public var integerValue:Int?
    public var stringValue:String?
    public var effectiveDate:Date?
    public var expirationDate:Date?
    public var comments:String?
    public var externalID:String?
    public var appliesTo:String?
    public var appliesToDescriptor:String?

    required public init(){}
}

public class Response : Codable
{
    public var statusCode:String?
    public var recordCount:Int?
    public var errorCount:Int?

    required public init(){}
}


Swift HotelInventoryBlock 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.

POST /hotelinventoryblock/{SubscriptionId}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"inventoryBlock":{"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"}]}]},"subscriptionId":"String","cendynPropertyId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"statusCode":"String","recordCount":0,"errorCount":0}