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