CenResService

<back to all web services

ProfileRequest

The following routes are available for this service:
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
}

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