| GET | /v2/profile/{Query}/{CendynPropertyId} | ||
|---|---|---|---|
| GET | /v2/profile/{Query} |
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class ProfileRequest
{
var cendynPropertyId:String? = null
var query:ProfileQueryType? = null
var id:String? = null
var membershipId:String? = null
var emailAddress:String? = null
var lastName:String? = null
var firstName:String? = null
var phoneNumber:String? = null
var startDate:Date? = null
var endDate:Date? = null
@DataMember(Name="Limit")
@SerializedName("Limit")
var pageSize:Int? = null
@DataMember(Name="Page")
@SerializedName("Page")
var pageNumber:Int? = null
}
enum class ProfileQueryType
{
ProfileId,
Name,
LastUpdated,
Email,
MembershipId,
PhoneNumber,
}
open class ProfileResponse : CenResResponse()
{
var records:ArrayList<Profile> = ArrayList<Profile>()
}
open class CenResResponse
{
var status:RequestStatus? = null
var statusMessage:String? = null
var recordsReturned:Int? = null
var recordsAvailable:Int? = null
var pageNumber:Int? = null
var pageSize:Int? = null
}
enum class RequestStatus
{
Success,
Warning,
Error,
NotAuthorized,
Failure,
}
open class Profile
{
var cendynPropertyID:String? = null
var propertyName:String? = null
var uniqueIDs:ArrayList<UniqueIDType> = ArrayList<UniqueIDType>()
var profileTypeCode:String? = null
var profileTypeDescription:String? = null
var nameCode:String? = null
var profileTypeCategory:String? = null
var jobTitle:String? = null
var salutation:String? = null
var firstName:String? = null
var familiarName:String? = null
var middleName:String? = null
var lastName:String? = null
var fullName:String? = null
var nameSuffix:String? = null
var vipid:String? = null
var vipCode:String? = null
var primaryLanguage:String? = null
var genderCode:String? = null
var dobYear:String? = null
var dobMonth:String? = null
var dobDayOfMonth:String? = null
var companyName:String? = null
var arNumber:String? = null
var allowMail:Boolean? = null
var allowEMail:Boolean? = null
var guestPriv:Boolean? = null
var allowPhone:Boolean? = null
var allowSMS:Boolean? = null
var allowHistory:Boolean? = null
var allowMarketResearch:Boolean? = null
var allowThirdParty:Boolean? = null
var allowLoyaltyProgram:Boolean? = null
var creatorCode:String? = null
var lastUpdaterCode:String? = null
var dateProfileCreated:Date? = null
var dateProfileUpdated:Date? = null
var inactiveDate:Date? = null
var nationality:String? = null
var resortCode:String? = null
var retiredProfileId:String? = null
var transferredSubscriptionId:String? = null
var sourceName:String? = null
var sourceID:String? = null
var optOutMarketing:Boolean? = null
var optOutDate:Date? = null
var profileExtension:ProfileExtension? = null
var addresses:ArrayList<Address> = ArrayList<Address>()
var memberships:ArrayList<Membership> = ArrayList<Membership>()
var contactMethods:ArrayList<ContactMethod> = ArrayList<ContactMethod>()
var actionComments:ArrayList<ActionComment> = ArrayList<ActionComment>()
var specialRequests:ArrayList<SpecialRequest> = ArrayList<SpecialRequest>()
var udfDataCollection:ArrayList<UDFDataType> = ArrayList<UDFDataType>()
var lead:Lead? = null
var relatedTravelers:ArrayList<RelatedTraveler> = ArrayList<RelatedTraveler>()
var documents:ArrayList<Document> = ArrayList<Document>()
var vouchers:ArrayList<Voucher> = ArrayList<Voucher>()
var profilePolicies:ArrayList<ProfilePolicy> = ArrayList<ProfilePolicy>()
}
open class UniqueIDType
{
var id:String? = null
@SerializedName("type") var Type:String? = null
var context:String? = null
}
open class ProfileExtension
{
var languageCode:String? = null
var salutationExt:String? = null
var firstNameExt:String? = null
var familiarNameExt:String? = null
var middleNameExt:String? = null
var lastNameExt:String? = null
var nameSuffixExt:String? = null
var companyNameExt:String? = null
var blacklist:String? = null
var blackListMessage:String? = null
var anonymizationStatus:String? = null
}
open class Address
{
var addressTypeCode:String? = null
var addressTypeDescription:String? = null
var addressStatus:String? = null
var attn:String? = null
var address1:String? = null
var address2:String? = null
var city:String? = null
var stateProvince:String? = null
var postalCode:String? = null
var countryCode:String? = null
var isPrimary:Boolean? = null
var addressLanguage:String? = null
var addressCleansed:Boolean? = null
var optOutMarketing:Boolean? = null
var optOutDate:Date? = null
}
open class Membership
{
var externalID:String? = null
var programCode:String? = null
var membershipID:String? = null
var membershipCategory:String? = null
var membershipName:String? = null
var membershipLevel:String? = null
var membershipStatus:String? = null
var enrollmentCode:String? = null
var dateMembershipStarts:Date? = null
var dateMembershipExpires:Date? = null
var totalStays:Int? = null
var awardCredits:Int? = null
var awardAvailable:Int? = null
var primaryAirline:Boolean? = null
var displaySequence:Int? = null
var sourceName:String? = null
var sourceID:String? = null
var isActive:Boolean? = null
var inactiveDate:Date? = null
var pointsIndicator:Boolean? = null
}
open class ContactMethod
{
@SerializedName("type") var Type:String? = null
var category:String? = null
var dataValue:String? = null
var extraData:String? = null
var optOut:Boolean? = null
var sourceDate:Date? = null
var isPrimary:Boolean? = null
var confirmation:Boolean? = null
var inactiveDate:Date? = null
var optOutMarketing:Boolean? = null
var optOutDate:Date? = null
}
open class ActionComment
{
var externalID:String? = null
var commentType:String? = null
var commentTitle:String? = null
var commentClass:String? = null
var actionType:String? = null
var comment:String? = null
var actionDate:Date? = null
var inactiveDate:Date? = null
var guestViewable:Boolean? = null
var creatorCode:String? = null
var dateCommentCreated:Date? = null
var resortCode:String? = null
}
open class SpecialRequest
{
var externalID:String? = null
var requestType:String? = null
var requestCode:String? = null
var requestComments:String? = null
var resortField:String? = null
var actionTypeCode:String? = null
var actionType:String? = null
var inactiveDate:Date? = null
}
open class UDFDataType
{
var cendynPropertyID:String? = null
var moduleName:String? = null
var tableName:String? = null
var columnName:String? = null
var udfValue:String? = null
}
open class Lead
{
var fK_Reservation:UUID? = null
var externalLeadID:String? = null
var externalLeadSource:String? = null
var leadStatus:String? = null
var leadAcquired:Date? = null
var tentativeStartDate:Date? = null
var tentativeEndDate:Date? = null
var assignedAgent:String? = null
var assignedDate:Date? = null
var contactMethod:String? = null
var contactAgent:String? = null
var contactDate:Date? = null
var lastFollowupMethod:String? = null
var lastFollowupAgent:String? = null
var lastFollowupDate:Date? = null
var bookingMethod:String? = null
var bookingAgent:String? = null
var bookingDate:Date? = null
var reasonforStay:String? = null
var marketCode:String? = null
var campaignCode:String? = null
var campaignName:String? = null
var priceEstimate:BigDecimal? = null
var flaggedForAttention:Boolean? = null
}
open class RelatedTraveler
{
var cendynPropertyID:String? = null
var propertyName:String? = null
var uniqueIDs:ArrayList<UniqueIDType> = ArrayList<UniqueIDType>()
var salutation:String? = null
var firstName:String? = null
var familiarName:String? = null
var middleName:String? = null
var lastName:String? = null
var fullName:String? = null
var suffix:String? = null
var relation:String? = null
var isPrimary:Boolean? = null
}
open class Document
{
var documentID:String? = null
var documentType:String? = null
var documentSource:String? = null
var codeOnDocument:String? = null
var documentNotes:String? = null
var nameOnDocument:String? = null
var nationalityOnDocument:String? = null
var effectiveDate:Date? = null
var expirationDate:Date? = null
var issuer:String? = null
var issuerCountry:String? = null
var isPrimary:Boolean? = null
var piI_StoredAs:String? = null
var inactiveDate:Date? = null
}
open class Voucher
{
var hotelCode:String? = null
var voucherID:String? = null
var voucherID2:String? = null
var appliedToResort:String? = null
var reservationID:String? = null
var profileIDRecipient:String? = null
var subscriberIDRecipient:String? = null
var recipientName:String? = null
var emailaddress:String? = null
var profileIDPurchaser:String? = null
var purchaserName:String? = null
var voucherStatus:String? = null
var voucherType:String? = null
var membershipType:String? = null
var certCode:String? = null
var certNo:String? = null
var shortDescription:String? = null
var giftMessage:String? = null
var comments:String? = null
var voucherAmount:BigDecimal? = null
var currencyCode:String? = null
var issueType:String? = null
var dateConsumed:Date? = null
var expirationDate:Date? = null
var awardPoints:Int? = null
var ruleType:String? = null
var ruleValue:String? = null
var cancelAllowed:Boolean? = null
var maxExtensions:Int? = null
var referenceType:String? = null
var referenceID:String? = null
var promotionCode:String? = null
var reservationConsumed:Boolean? = null
var webConsumed:Boolean? = null
var pmsConsumed:Boolean? = null
var verifyCertNo:Boolean? = null
var generateInLieu:Boolean? = null
var creatorCode:String? = null
var lastUpdaterCode:String? = null
var folioID:String? = null
var inactiveDate:Date? = null
}
open class ProfilePolicy
{
var policyType:String? = null
var attributeName:String? = null
var integerValue:Int? = null
var stringValue:String? = null
var effectiveDate:Date? = null
var expirationDate:Date? = null
var comments:String? = null
var externalID:String? = null
var appliesTo:String? = null
var appliesToDescriptor:String? = null
}
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>