CenResService

<back to all web services

HotelInventoryBlockRequest

The following routes are available for this service:
GET/v2/hotelInventoryBlocks/{Query}/{CendynPropertyId}
GET/v2/hotelInventoryBlocks/{Query}

export enum RequestStatus
{
    Success = 'Success',
    Warning = 'Warning',
    Error = 'Error',
    NotAuthorized = 'NotAuthorized',
    Failure = 'Failure',
}

export class CenResResponse
{
    public status?: RequestStatus;
    public statusMessage?: string;
    public recordsReturned?: number;
    public recordsAvailable?: number;
    public pageNumber?: number;
    public pageSize?: number;

    public constructor(init?: Partial<CenResResponse>) { (Object as any).assign(this, init); }
}

export class InventoryBlockEvent
{
    public cendynPropertyID?: string;
    public hotelCode?: string;
    public inventoryCode?: string;
    public eventStartDate?: string;
    public eventEndDate?: string;
    public eventName?: string;
    public eventClassification?: string;
    public eventBookedDate?: string;
    public eventStatus?: string;
    public roomSetupCode?: string;
    public roomSetupDescription?: string;
    public roomSetupCapacity?: number;
    public expectedAttendance?: number;
    public expectedRevenue?: number;
    public foodRevenue?: number;
    public beverageRevenue?: number;
    public roomRevenue?: number;
    public resourceRevenue?: number;
    public otherRevenue?: number;
    public comments?: string;
    public externalID?: string;
    public sourceDateCreated?: string;
    public sourceCreateUser?: string;
    public sourceDateUpdated?: string;
    public sourceUpdateUser?: string;
    public isActive?: boolean;
    public inactiveDate?: string;
    public recordStatus?: string;

    public constructor(init?: Partial<InventoryBlockEvent>) { (Object as any).assign(this, init); }
}

export class InventoryBlockRate
{
    public cendynPropertyID?: string;
    public hotelCode?: string;
    public inventoryCode?: string;
    public blockCount?: number;
    public inventoryDay?: string;
    public rate1?: number;
    public rate2?: number;
    public rate3?: number;
    public rate4?: number;
    public extraAdult?: number;
    public extraChild?: number;
    public blocksSold?: number;
    public roomsContracted?: number;
    public roomsReserved?: number;
    public isActive?: boolean;
    public inactiveDate?: string;
    public roomBlockID?: string;
    public roomBlockName?: string;
    public roomBlockStatus?: string;
    public recordStatus?: string;

    public constructor(init?: Partial<InventoryBlockRate>) { (Object as any).assign(this, init); }
}

export class UniqueIDType
{
    public id?: string;
    public type?: string;
    public context?: string;

    public constructor(init?: Partial<UniqueIDType>) { (Object as any).assign(this, init); }
}

export class ProfileExtension
{
    public languageCode?: string;
    public salutationExt?: string;
    public firstNameExt?: string;
    public familiarNameExt?: string;
    public middleNameExt?: string;
    public lastNameExt?: string;
    public nameSuffixExt?: string;
    public companyNameExt?: string;
    public blacklist?: string;
    public blackListMessage?: string;
    public anonymizationStatus?: string;

    public constructor(init?: Partial<ProfileExtension>) { (Object as any).assign(this, init); }
}

export class Address
{
    public addressTypeCode?: string;
    public addressTypeDescription?: string;
    public addressStatus?: string;
    public attn?: string;
    public address1?: string;
    public address2?: string;
    public city?: string;
    public stateProvince?: string;
    public postalCode?: string;
    public countryCode?: string;
    public isPrimary?: boolean;
    public addressLanguage?: string;
    public addressCleansed?: boolean;
    public optOutMarketing?: boolean;
    public optOutDate?: string;

    public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}

export class Membership
{
    public externalID?: string;
    public programCode?: string;
    public membershipID?: string;
    public membershipCategory?: string;
    public membershipName?: string;
    public membershipLevel?: string;
    public membershipStatus?: string;
    public enrollmentCode?: string;
    public dateMembershipStarts?: string;
    public dateMembershipExpires?: string;
    public totalStays?: number;
    public awardCredits?: number;
    public awardAvailable?: number;
    public primaryAirline?: boolean;
    public displaySequence?: number;
    public sourceName?: string;
    public sourceID?: string;
    public isActive?: boolean;
    public inactiveDate?: string;
    public pointsIndicator?: boolean;

    public constructor(init?: Partial<Membership>) { (Object as any).assign(this, init); }
}

export class ContactMethod
{
    public type?: string;
    public category?: string;
    public dataValue?: string;
    public extraData?: string;
    public optOut?: boolean;
    public sourceDate?: string;
    public isPrimary?: boolean;
    public confirmation?: boolean;
    public inactiveDate?: string;
    public optOutMarketing?: boolean;
    public optOutDate?: string;

    public constructor(init?: Partial<ContactMethod>) { (Object as any).assign(this, init); }
}

export class ActionComment
{
    public externalID?: string;
    public commentType?: string;
    public commentTitle?: string;
    public commentClass?: string;
    public actionType?: string;
    public comment?: string;
    public actionDate?: string;
    public inactiveDate?: string;
    public guestViewable?: boolean;
    public creatorCode?: string;
    public dateCommentCreated?: string;
    public resortCode?: string;

    public constructor(init?: Partial<ActionComment>) { (Object as any).assign(this, init); }
}

export class SpecialRequest
{
    public externalID?: string;
    public requestType?: string;
    public requestCode?: string;
    public requestComments?: string;
    public resortField?: string;
    public actionTypeCode?: string;
    public actionType?: string;
    public inactiveDate?: string;

    public constructor(init?: Partial<SpecialRequest>) { (Object as any).assign(this, init); }
}

export class UDFDataType
{
    public cendynPropertyID?: string;
    public moduleName?: string;
    public tableName?: string;
    public columnName?: string;
    public udfValue?: string;

    public constructor(init?: Partial<UDFDataType>) { (Object as any).assign(this, init); }
}

export class Lead
{
    public fK_Reservation?: string;
    public externalLeadID?: string;
    public externalLeadSource?: string;
    public leadStatus?: string;
    public leadAcquired?: string;
    public tentativeStartDate?: string;
    public tentativeEndDate?: string;
    public assignedAgent?: string;
    public assignedDate?: string;
    public contactMethod?: string;
    public contactAgent?: string;
    public contactDate?: string;
    public lastFollowupMethod?: string;
    public lastFollowupAgent?: string;
    public lastFollowupDate?: string;
    public bookingMethod?: string;
    public bookingAgent?: string;
    public bookingDate?: string;
    public reasonforStay?: string;
    public marketCode?: string;
    public campaignCode?: string;
    public campaignName?: string;
    public priceEstimate?: number;
    public flaggedForAttention?: boolean;

    public constructor(init?: Partial<Lead>) { (Object as any).assign(this, init); }
}

export class RelatedTraveler
{
    public cendynPropertyID?: string;
    public propertyName?: string;
    public uniqueIDs?: UniqueIDType[];
    public salutation?: string;
    public firstName?: string;
    public familiarName?: string;
    public middleName?: string;
    public lastName?: string;
    public fullName?: string;
    public suffix?: string;
    public relation?: string;
    public isPrimary?: boolean;

    public constructor(init?: Partial<RelatedTraveler>) { (Object as any).assign(this, init); }
}

export class Document
{
    public documentID?: string;
    public documentType?: string;
    public documentSource?: string;
    public codeOnDocument?: string;
    public documentNotes?: string;
    public nameOnDocument?: string;
    public nationalityOnDocument?: string;
    public effectiveDate?: string;
    public expirationDate?: string;
    public issuer?: string;
    public issuerCountry?: string;
    public isPrimary?: boolean;
    public piI_StoredAs?: string;
    public inactiveDate?: string;

    public constructor(init?: Partial<Document>) { (Object as any).assign(this, init); }
}

export class Voucher
{
    public hotelCode?: string;
    public voucherID?: string;
    public voucherID2?: string;
    public appliedToResort?: string;
    public reservationID?: string;
    public profileIDRecipient?: string;
    public subscriberIDRecipient?: string;
    public recipientName?: string;
    public emailaddress?: string;
    public profileIDPurchaser?: string;
    public purchaserName?: string;
    public voucherStatus?: string;
    public voucherType?: string;
    public membershipType?: string;
    public certCode?: string;
    public certNo?: string;
    public shortDescription?: string;
    public giftMessage?: string;
    public comments?: string;
    public voucherAmount?: number;
    public currencyCode?: string;
    public issueType?: string;
    public dateConsumed?: string;
    public expirationDate?: string;
    public awardPoints?: number;
    public ruleType?: string;
    public ruleValue?: string;
    public cancelAllowed?: boolean;
    public maxExtensions?: number;
    public referenceType?: string;
    public referenceID?: string;
    public promotionCode?: string;
    public reservationConsumed?: boolean;
    public webConsumed?: boolean;
    public pmsConsumed?: boolean;
    public verifyCertNo?: boolean;
    public generateInLieu?: boolean;
    public creatorCode?: string;
    public lastUpdaterCode?: string;
    public folioID?: string;
    public inactiveDate?: string;

    public constructor(init?: Partial<Voucher>) { (Object as any).assign(this, init); }
}

export class ProfilePolicy
{
    public policyType?: string;
    public attributeName?: string;
    public integerValue?: number;
    public stringValue?: string;
    public effectiveDate?: string;
    public expirationDate?: string;
    public comments?: string;
    public externalID?: string;
    public appliesTo?: string;
    public appliesToDescriptor?: string;

    public constructor(init?: Partial<ProfilePolicy>) { (Object as any).assign(this, init); }
}

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

    public constructor(init?: Partial<Profile>) { (Object as any).assign(this, init); }
}

export class InventoryBlock
{
    public cendynPropertyID?: string;
    public hotelCode?: string;
    public actionCode?: string;
    public blockName?: string;
    public blockCodeType?: string;
    public blockType?: string;
    public inventoryBlockStatus?: string;
    public groupingCode?: string;
    public blockCodes?: string;
    public description?: string;
    public resortAllotmentId?: string;
    public blockStartDate?: string;
    public blockEndDate?: string;
    public marketCode?: string;
    public sourceCode?: string;
    public channelCode?: string;
    public cutOffStartDate?: string;
    public cutOffEndDate?: string;
    public priceViewable?: boolean;
    public averageRate?: number;
    public pickupComplete?: boolean;
    public comments?: string;
    public lostReason?: string;
    public externalID?: string;
    public sourceName?: string;
    public sourceID?: string;
    public sourceDateCreated?: string;
    public sourceCreateUser?: string;
    public sourceDateUpdated?: string;
    public sourceUpdateUser?: string;
    public isActive?: boolean;
    public inactiveDate?: string;
    public recordStatus?: string;
    public inventoryBlockEvents?: InventoryBlockEvent[];
    public inventoryBlockRates?: InventoryBlockRate[];
    public profiles?: Profile[];

    public constructor(init?: Partial<InventoryBlock>) { (Object as any).assign(this, init); }
}

export class HotelInventoryBlockResponse extends CenResResponse
{
    public records?: InventoryBlock[];

    public constructor(init?: Partial<HotelInventoryBlockResponse>) { super(init); (Object as any).assign(this, init); }
}

export enum InventoryBlockQueryType
{
    Name = 'Name',
    Id = 'Id',
    LastUpdated = 'LastUpdated',
}

export class HotelInventoryBlockRequest
{
    public cendynPropertyId?: string;
    public query?: InventoryBlockQueryType;
    public startDate?: string;
    public endDate?: string;
    public blockName?: string;
    public id?: string;
    // @DataMember(Name="Limit")
    public pageSize?: number;

    // @DataMember(Name="Page")
    public pageNumber?: number;

    public constructor(init?: Partial<HotelInventoryBlockRequest>) { (Object as any).assign(this, init); }
}

TypeScript 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}