CenResService

<back to all web services

MembershipPost

The following routes are available for this service:
POST/membership/{SubscriptionId}/{CendynPropertyId}
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class MembershipPost
{
    var profileContainer:ProfileContainer? = null
    var subscriptionId:String? = null
    var cendynPropertyId:String? = null
}

open class ProfileContainer
{
    var echoToken:String? = null
    var changeAction:String? = null
    var profiles:ArrayList<Profile> = ArrayList<Profile>()
}

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
}

open class Response
{
    var statusCode:String? = null
    var recordCount:Int? = null
    var errorCount:Int? = null
}

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

POST /membership/{SubscriptionId}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<MembershipPost xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <CendynPropertyId>String</CendynPropertyId>
  <ProfileContainer>
    <ChangeAction>String</ChangeAction>
    <EchoToken>String</EchoToken>
    <Profiles>
      <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>
    </Profiles>
  </ProfileContainer>
  <SubscriptionId>String</SubscriptionId>
</MembershipPost>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
  <ErrorCount>0</ErrorCount>
  <RecordCount>0</RecordCount>
  <StatusCode>String</StatusCode>
</Response>