CenResService

<back to all web services

ProfileRequest

The following routes are available for this service:
GET/v2/profile/{Query}/{CendynPropertyId}
GET/v2/profile/{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 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 ProfileResponse extends CenResResponse
{
    public records?: Profile[];

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

export enum ProfileQueryType
{
    ProfileId = 'ProfileId',
    Name = 'Name',
    LastUpdated = 'LastUpdated',
    Email = 'Email',
    MembershipId = 'MembershipId',
    PhoneNumber = 'PhoneNumber',
}

export class ProfileRequest
{
    public cendynPropertyId?: string;
    public query?: ProfileQueryType;
    public id?: string;
    public membershipId?: string;
    public emailAddress?: string;
    public lastName?: string;
    public firstName?: string;
    public phoneNumber?: string;
    public startDate?: string;
    public endDate?: string;
    // @DataMember(Name="Limit")
    public pageSize?: number;

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

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

TypeScript ProfileRequest DTOs

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

HTTP + XML

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

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

<ProfileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <PageNumber>0</PageNumber>
  <PageSize>0</PageSize>
  <RecordsAvailable>0</RecordsAvailable>
  <RecordsReturned>0</RecordsReturned>
  <Status>Success</Status>
  <StatusMessage>String</StatusMessage>
  <Records>
    <Profile>
      <ARNumber>String</ARNumber>
      <ActionComments>
        <ActionComment>
          <ActionDate>0001-01-01T00:00:00</ActionDate>
          <ActionType>String</ActionType>
          <Comment>String</Comment>
          <CommentClass>String</CommentClass>
          <CommentTitle>String</CommentTitle>
          <CommentType>String</CommentType>
          <CreatorCode>String</CreatorCode>
          <DateCommentCreated>0001-01-01T00:00:00</DateCommentCreated>
          <ExternalID>String</ExternalID>
          <GuestViewable>false</GuestViewable>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <ResortCode>String</ResortCode>
        </ActionComment>
      </ActionComments>
      <Addresses>
        <Address>
          <Address1>String</Address1>
          <Address2>String</Address2>
          <AddressCleansed>false</AddressCleansed>
          <AddressLanguage>String</AddressLanguage>
          <AddressStatus>String</AddressStatus>
          <AddressTypeCode>String</AddressTypeCode>
          <AddressTypeDescription>String</AddressTypeDescription>
          <Attn>String</Attn>
          <City>String</City>
          <CountryCode>String</CountryCode>
          <IsPrimary>false</IsPrimary>
          <OptOutDate>0001-01-01T00:00:00</OptOutDate>
          <OptOutMarketing>false</OptOutMarketing>
          <PostalCode>String</PostalCode>
          <StateProvince>String</StateProvince>
        </Address>
      </Addresses>
      <AllowEMail>false</AllowEMail>
      <AllowHistory>false</AllowHistory>
      <AllowLoyaltyProgram>false</AllowLoyaltyProgram>
      <AllowMail>false</AllowMail>
      <AllowMarketResearch>false</AllowMarketResearch>
      <AllowPhone>false</AllowPhone>
      <AllowSMS>false</AllowSMS>
      <AllowThirdParty>false</AllowThirdParty>
      <CendynPropertyID>String</CendynPropertyID>
      <CompanyName>String</CompanyName>
      <ContactMethods>
        <ContactMethod>
          <Category>String</Category>
          <Confirmation>false</Confirmation>
          <DataValue>String</DataValue>
          <ExtraData>String</ExtraData>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <IsPrimary>false</IsPrimary>
          <OptOut>false</OptOut>
          <OptOutDate>0001-01-01T00:00:00</OptOutDate>
          <OptOutMarketing>false</OptOutMarketing>
          <SourceDate>0001-01-01T00:00:00</SourceDate>
          <Type>String</Type>
        </ContactMethod>
      </ContactMethods>
      <CreatorCode>String</CreatorCode>
      <DOBDayOfMonth>String</DOBDayOfMonth>
      <DOBMonth>String</DOBMonth>
      <DOBYear>String</DOBYear>
      <DateProfileCreated>0001-01-01T00:00:00</DateProfileCreated>
      <DateProfileUpdated>0001-01-01T00:00:00</DateProfileUpdated>
      <Documents>
        <Document>
          <CodeOnDocument>String</CodeOnDocument>
          <DocumentID>String</DocumentID>
          <DocumentNotes>String</DocumentNotes>
          <DocumentSource>String</DocumentSource>
          <DocumentType>String</DocumentType>
          <EffectiveDate>0001-01-01T00:00:00</EffectiveDate>
          <ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <IsPrimary>false</IsPrimary>
          <Issuer>String</Issuer>
          <IssuerCountry>String</IssuerCountry>
          <NameOnDocument>String</NameOnDocument>
          <NationalityOnDocument>String</NationalityOnDocument>
          <PII_StoredAs>String</PII_StoredAs>
        </Document>
      </Documents>
      <FamiliarName>String</FamiliarName>
      <FirstName>String</FirstName>
      <FullName>String</FullName>
      <GenderCode>String</GenderCode>
      <GuestPriv>false</GuestPriv>
      <InactiveDate>0001-01-01T00:00:00</InactiveDate>
      <JobTitle>String</JobTitle>
      <LastName>String</LastName>
      <LastUpdaterCode>String</LastUpdaterCode>
      <Lead>
        <AssignedAgent>String</AssignedAgent>
        <AssignedDate>0001-01-01T00:00:00</AssignedDate>
        <BookingAgent>String</BookingAgent>
        <BookingDate>0001-01-01T00:00:00</BookingDate>
        <BookingMethod>String</BookingMethod>
        <CampaignCode>String</CampaignCode>
        <CampaignName>String</CampaignName>
        <ContactAgent>String</ContactAgent>
        <ContactDate>0001-01-01T00:00:00</ContactDate>
        <ContactMethod>String</ContactMethod>
        <ExternalLeadID>String</ExternalLeadID>
        <ExternalLeadSource>String</ExternalLeadSource>
        <FK_Reservation>00000000-0000-0000-0000-000000000000</FK_Reservation>
        <FlaggedForAttention>false</FlaggedForAttention>
        <LastFollowupAgent>String</LastFollowupAgent>
        <LastFollowupDate>0001-01-01T00:00:00</LastFollowupDate>
        <LastFollowupMethod>String</LastFollowupMethod>
        <LeadAcquired>0001-01-01T00:00:00</LeadAcquired>
        <LeadStatus>String</LeadStatus>
        <MarketCode>String</MarketCode>
        <PriceEstimate>0</PriceEstimate>
        <ReasonforStay>String</ReasonforStay>
        <TentativeEndDate>0001-01-01T00:00:00</TentativeEndDate>
        <TentativeStartDate>0001-01-01T00:00:00</TentativeStartDate>
      </Lead>
      <Memberships>
        <Membership>
          <AwardAvailable>0</AwardAvailable>
          <AwardCredits>0</AwardCredits>
          <DateMembershipExpires>0001-01-01T00:00:00</DateMembershipExpires>
          <DateMembershipStarts>0001-01-01T00:00:00</DateMembershipStarts>
          <DisplaySequence>0</DisplaySequence>
          <EnrollmentCode>String</EnrollmentCode>
          <ExternalID>String</ExternalID>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <IsActive>false</IsActive>
          <MembershipCategory>String</MembershipCategory>
          <MembershipID>String</MembershipID>
          <MembershipLevel>String</MembershipLevel>
          <MembershipName>String</MembershipName>
          <MembershipStatus>String</MembershipStatus>
          <PointsIndicator>false</PointsIndicator>
          <PrimaryAirline>false</PrimaryAirline>
          <ProgramCode>String</ProgramCode>
          <SourceID>String</SourceID>
          <SourceName>String</SourceName>
          <TotalStays>0</TotalStays>
        </Membership>
      </Memberships>
      <MiddleName>String</MiddleName>
      <NameCode>String</NameCode>
      <NameSuffix>String</NameSuffix>
      <Nationality>String</Nationality>
      <OptOutDate>0001-01-01T00:00:00</OptOutDate>
      <OptOutMarketing>false</OptOutMarketing>
      <PrimaryLanguage>String</PrimaryLanguage>
      <ProfileExtension>
        <AnonymizationStatus>String</AnonymizationStatus>
        <BlackListMessage>String</BlackListMessage>
        <Blacklist>String</Blacklist>
        <CompanyNameExt>String</CompanyNameExt>
        <FamiliarNameExt>String</FamiliarNameExt>
        <FirstNameExt>String</FirstNameExt>
        <LanguageCode>String</LanguageCode>
        <LastNameExt>String</LastNameExt>
        <MiddleNameExt>String</MiddleNameExt>
        <NameSuffixExt>String</NameSuffixExt>
        <SalutationExt>String</SalutationExt>
      </ProfileExtension>
      <ProfilePolicies>
        <ProfilePolicy>
          <AppliesTo>String</AppliesTo>
          <AppliesToDescriptor>String</AppliesToDescriptor>
          <AttributeName>String</AttributeName>
          <Comments>String</Comments>
          <EffectiveDate>0001-01-01T00:00:00</EffectiveDate>
          <ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
          <ExternalID>String</ExternalID>
          <IntegerValue>0</IntegerValue>
          <PolicyType>String</PolicyType>
          <StringValue>String</StringValue>
        </ProfilePolicy>
      </ProfilePolicies>
      <ProfileTypeCategory>String</ProfileTypeCategory>
      <ProfileTypeCode>String</ProfileTypeCode>
      <ProfileTypeDescription>String</ProfileTypeDescription>
      <PropertyName>String</PropertyName>
      <RelatedTravelers>
        <RelatedTraveler>
          <CendynPropertyID>String</CendynPropertyID>
          <FamiliarName>String</FamiliarName>
          <FirstName>String</FirstName>
          <FullName>String</FullName>
          <IsPrimary>false</IsPrimary>
          <LastName>String</LastName>
          <MiddleName>String</MiddleName>
          <PropertyName>String</PropertyName>
          <Relation>String</Relation>
          <Salutation>String</Salutation>
          <Suffix>String</Suffix>
          <UniqueIDs>
            <UniqueIDType>
              <Context>String</Context>
              <ID>String</ID>
              <Type>String</Type>
            </UniqueIDType>
          </UniqueIDs>
        </RelatedTraveler>
      </RelatedTravelers>
      <ResortCode>String</ResortCode>
      <RetiredProfileId>String</RetiredProfileId>
      <Salutation>String</Salutation>
      <SourceID>String</SourceID>
      <SourceName>String</SourceName>
      <SpecialRequests>
        <SpecialRequest>
          <ActionType>String</ActionType>
          <ActionTypeCode>String</ActionTypeCode>
          <ExternalID>String</ExternalID>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <RequestCode>String</RequestCode>
          <RequestComments>String</RequestComments>
          <RequestType>String</RequestType>
          <ResortField>String</ResortField>
        </SpecialRequest>
      </SpecialRequests>
      <TransferredSubscriptionId>String</TransferredSubscriptionId>
      <UDFDataCollection>
        <UDFDataType>
          <CendynPropertyID>String</CendynPropertyID>
          <ColumnName>String</ColumnName>
          <ModuleName>String</ModuleName>
          <TableName>String</TableName>
          <UDFValue>String</UDFValue>
        </UDFDataType>
      </UDFDataCollection>
      <UniqueIDs>
        <UniqueIDType>
          <Context>String</Context>
          <ID>String</ID>
          <Type>String</Type>
        </UniqueIDType>
      </UniqueIDs>
      <VIPCode>String</VIPCode>
      <VIPID>String</VIPID>
      <Vouchers>
        <Voucher>
          <AppliedToResort>String</AppliedToResort>
          <AwardPoints>0</AwardPoints>
          <CancelAllowed>false</CancelAllowed>
          <CertCode>String</CertCode>
          <CertNo>String</CertNo>
          <Comments>String</Comments>
          <CreatorCode>String</CreatorCode>
          <CurrencyCode>String</CurrencyCode>
          <DateConsumed>0001-01-01T00:00:00</DateConsumed>
          <Emailaddress>String</Emailaddress>
          <ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
          <FolioID>String</FolioID>
          <GenerateInLieu>false</GenerateInLieu>
          <GiftMessage>String</GiftMessage>
          <HotelCode>String</HotelCode>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <IssueType>String</IssueType>
          <LastUpdaterCode>String</LastUpdaterCode>
          <MaxExtensions>0</MaxExtensions>
          <MembershipType>String</MembershipType>
          <PMSConsumed>false</PMSConsumed>
          <ProfileIDPurchaser>String</ProfileIDPurchaser>
          <ProfileIDRecipient>String</ProfileIDRecipient>
          <PromotionCode>String</PromotionCode>
          <PurchaserName>String</PurchaserName>
          <RecipientName>String</RecipientName>
          <ReferenceID>String</ReferenceID>
          <ReferenceType>String</ReferenceType>
          <ReservationConsumed>false</ReservationConsumed>
          <ReservationID>String</ReservationID>
          <RuleType>String</RuleType>
          <RuleValue>String</RuleValue>
          <ShortDescription>String</ShortDescription>
          <SubscriberIDRecipient>String</SubscriberIDRecipient>
          <VerifyCertNo>false</VerifyCertNo>
          <VoucherAmount>0</VoucherAmount>
          <VoucherID>String</VoucherID>
          <VoucherID2>String</VoucherID2>
          <VoucherStatus>String</VoucherStatus>
          <VoucherType>String</VoucherType>
          <WebConsumed>false</WebConsumed>
        </Voucher>
      </Vouchers>
    </Profile>
  </Records>
</ProfileResponse>