CenResService

<back to all web services

ProfileRequest

The following routes are available for this service:
GET/v2/profile/{Query}/{CendynPropertyId}
GET/v2/profile/{Query}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CenResSS.ServiceModel;
using Cendyn.CenRes.DataLib.Models;

namespace Cendyn.CenRes.DataLib.Models
{
    public partial class ActionComment
    {
        public virtual string ExternalID { get; set; }
        public virtual string CommentType { get; set; }
        public virtual string CommentTitle { get; set; }
        public virtual string CommentClass { get; set; }
        public virtual string ActionType { get; set; }
        public virtual string Comment { get; set; }
        public virtual DateTime? ActionDate { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
        public virtual bool? GuestViewable { get; set; }
        public virtual string CreatorCode { get; set; }
        public virtual DateTime? DateCommentCreated { get; set; }
        public virtual string ResortCode { get; set; }
    }

    public partial class Address
    {
        public virtual string AddressTypeCode { get; set; }
        public virtual string AddressTypeDescription { get; set; }
        public virtual string AddressStatus { get; set; }
        public virtual string Attn { get; set; }
        public virtual string Address1 { get; set; }
        public virtual string Address2 { get; set; }
        public virtual string City { get; set; }
        public virtual string StateProvince { get; set; }
        public virtual string PostalCode { get; set; }
        public virtual string CountryCode { get; set; }
        public virtual bool? IsPrimary { get; set; }
        public virtual string AddressLanguage { get; set; }
        public virtual bool? AddressCleansed { get; set; }
        public virtual bool? OptOutMarketing { get; set; }
        public virtual DateTime? OptOutDate { get; set; }
    }

    public partial class ContactMethod
    {
        public virtual string Type { get; set; }
        public virtual string Category { get; set; }
        public virtual string DataValue { get; set; }
        public virtual string ExtraData { get; set; }
        public virtual bool? OptOut { get; set; }
        public virtual DateTime? SourceDate { get; set; }
        public virtual bool? IsPrimary { get; set; }
        public virtual bool? Confirmation { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
        public virtual bool? OptOutMarketing { get; set; }
        public virtual DateTime? OptOutDate { get; set; }
    }

    public partial class Document
    {
        public virtual string DocumentID { get; set; }
        public virtual string DocumentType { get; set; }
        public virtual string DocumentSource { get; set; }
        public virtual string CodeOnDocument { get; set; }
        public virtual string DocumentNotes { get; set; }
        public virtual string NameOnDocument { get; set; }
        public virtual string NationalityOnDocument { get; set; }
        public virtual DateTime? EffectiveDate { get; set; }
        public virtual DateTime? ExpirationDate { get; set; }
        public virtual string Issuer { get; set; }
        public virtual string IssuerCountry { get; set; }
        public virtual bool? IsPrimary { get; set; }
        public virtual string PII_StoredAs { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
    }

    public partial class Lead
    {
        public virtual Guid? FK_Reservation { get; set; }
        public virtual string ExternalLeadID { get; set; }
        public virtual string ExternalLeadSource { get; set; }
        public virtual string LeadStatus { get; set; }
        public virtual DateTime? LeadAcquired { get; set; }
        public virtual DateTime? TentativeStartDate { get; set; }
        public virtual DateTime? TentativeEndDate { get; set; }
        public virtual string AssignedAgent { get; set; }
        public virtual DateTime? AssignedDate { get; set; }
        public virtual string ContactMethod { get; set; }
        public virtual string ContactAgent { get; set; }
        public virtual DateTime? ContactDate { get; set; }
        public virtual string LastFollowupMethod { get; set; }
        public virtual string LastFollowupAgent { get; set; }
        public virtual DateTime? LastFollowupDate { get; set; }
        public virtual string BookingMethod { get; set; }
        public virtual string BookingAgent { get; set; }
        public virtual DateTime? BookingDate { get; set; }
        public virtual string ReasonforStay { get; set; }
        public virtual string MarketCode { get; set; }
        public virtual string CampaignCode { get; set; }
        public virtual string CampaignName { get; set; }
        public virtual decimal? PriceEstimate { get; set; }
        public virtual bool? FlaggedForAttention { get; set; }
    }

    public partial class Membership
    {
        public virtual string ExternalID { get; set; }
        public virtual string ProgramCode { get; set; }
        public virtual string MembershipID { get; set; }
        public virtual string MembershipCategory { get; set; }
        public virtual string MembershipName { get; set; }
        public virtual string MembershipLevel { get; set; }
        public virtual string MembershipStatus { get; set; }
        public virtual string EnrollmentCode { get; set; }
        public virtual DateTime? DateMembershipStarts { get; set; }
        public virtual DateTime? DateMembershipExpires { get; set; }
        public virtual int? TotalStays { get; set; }
        public virtual int? AwardCredits { get; set; }
        public virtual int? AwardAvailable { get; set; }
        public virtual bool? PrimaryAirline { get; set; }
        public virtual int? DisplaySequence { get; set; }
        public virtual string SourceName { get; set; }
        public virtual string SourceID { get; set; }
        public virtual bool IsActive { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
        public virtual bool? PointsIndicator { get; set; }
    }

    public partial class Profile
    {
        public Profile()
        {
            UniqueIDs = new List<UniqueIDType>{};
            Addresses = new List<Address>{};
            Memberships = new List<Membership>{};
            ContactMethods = new List<ContactMethod>{};
            ActionComments = new List<ActionComment>{};
            SpecialRequests = new List<SpecialRequest>{};
            UDFDataCollection = new List<UDFDataType>{};
            RelatedTravelers = new List<RelatedTraveler>{};
            Documents = new List<Document>{};
            Vouchers = new List<Voucher>{};
            ProfilePolicies = new List<ProfilePolicy>{};
        }

        public virtual string CendynPropertyID { get; set; }
        public virtual string PropertyName { get; set; }
        public virtual List<UniqueIDType> UniqueIDs { get; set; }
        public virtual string ProfileTypeCode { get; set; }
        public virtual string ProfileTypeDescription { get; set; }
        public virtual string NameCode { get; set; }
        public virtual string ProfileTypeCategory { get; set; }
        public virtual string JobTitle { get; set; }
        public virtual string Salutation { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string FamiliarName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string FullName { get; set; }
        public virtual string NameSuffix { get; set; }
        public virtual string VIPID { get; set; }
        public virtual string VIPCode { get; set; }
        public virtual string PrimaryLanguage { get; set; }
        public virtual string GenderCode { get; set; }
        public virtual string DOBYear { get; set; }
        public virtual string DOBMonth { get; set; }
        public virtual string DOBDayOfMonth { get; set; }
        public virtual string CompanyName { get; set; }
        public virtual string ARNumber { get; set; }
        public virtual bool? AllowMail { get; set; }
        public virtual bool? AllowEMail { get; set; }
        public virtual bool? GuestPriv { get; set; }
        public virtual bool? AllowPhone { get; set; }
        public virtual bool? AllowSMS { get; set; }
        public virtual bool? AllowHistory { get; set; }
        public virtual bool? AllowMarketResearch { get; set; }
        public virtual bool? AllowThirdParty { get; set; }
        public virtual bool? AllowLoyaltyProgram { get; set; }
        public virtual string CreatorCode { get; set; }
        public virtual string LastUpdaterCode { get; set; }
        public virtual DateTime? DateProfileCreated { get; set; }
        public virtual DateTime? DateProfileUpdated { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
        public virtual string Nationality { get; set; }
        public virtual string ResortCode { get; set; }
        public virtual string RetiredProfileId { get; set; }
        public virtual string TransferredSubscriptionId { get; set; }
        public virtual string SourceName { get; set; }
        public virtual string SourceID { get; set; }
        public virtual bool? OptOutMarketing { get; set; }
        public virtual DateTime? OptOutDate { get; set; }
        public virtual ProfileExtension ProfileExtension { get; set; }
        public virtual List<Address> Addresses { get; set; }
        public virtual List<Membership> Memberships { get; set; }
        public virtual List<ContactMethod> ContactMethods { get; set; }
        public virtual List<ActionComment> ActionComments { get; set; }
        public virtual List<SpecialRequest> SpecialRequests { get; set; }
        public virtual List<UDFDataType> UDFDataCollection { get; set; }
        public virtual Lead Lead { get; set; }
        public virtual List<RelatedTraveler> RelatedTravelers { get; set; }
        public virtual List<Document> Documents { get; set; }
        public virtual List<Voucher> Vouchers { get; set; }
        public virtual List<ProfilePolicy> ProfilePolicies { get; set; }
    }

    public partial class ProfileExtension
    {
        public virtual string LanguageCode { get; set; }
        public virtual string SalutationExt { get; set; }
        public virtual string FirstNameExt { get; set; }
        public virtual string FamiliarNameExt { get; set; }
        public virtual string MiddleNameExt { get; set; }
        public virtual string LastNameExt { get; set; }
        public virtual string NameSuffixExt { get; set; }
        public virtual string CompanyNameExt { get; set; }
        public virtual string Blacklist { get; set; }
        public virtual string BlackListMessage { get; set; }
        public virtual string AnonymizationStatus { get; set; }
    }

    public partial class ProfilePolicy
    {
        public virtual string PolicyType { get; set; }
        public virtual string AttributeName { get; set; }
        public virtual int? IntegerValue { get; set; }
        public virtual string StringValue { get; set; }
        public virtual DateTime? EffectiveDate { get; set; }
        public virtual DateTime? ExpirationDate { get; set; }
        public virtual string Comments { get; set; }
        public virtual string ExternalID { get; set; }
        public virtual string AppliesTo { get; set; }
        public virtual string AppliesToDescriptor { get; set; }
    }

    public partial class RelatedTraveler
    {
        public RelatedTraveler()
        {
            UniqueIDs = new List<UniqueIDType>{};
        }

        public virtual string CendynPropertyID { get; set; }
        public virtual string PropertyName { get; set; }
        public virtual List<UniqueIDType> UniqueIDs { get; set; }
        public virtual string Salutation { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string FamiliarName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string FullName { get; set; }
        public virtual string Suffix { get; set; }
        public virtual string Relation { get; set; }
        public virtual bool? IsPrimary { get; set; }
    }

    public partial class SpecialRequest
    {
        public virtual string ExternalID { get; set; }
        public virtual string RequestType { get; set; }
        public virtual string RequestCode { get; set; }
        public virtual string RequestComments { get; set; }
        public virtual string ResortField { get; set; }
        public virtual string ActionTypeCode { get; set; }
        public virtual string ActionType { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
    }

    public partial class UDFDataType
    {
        public virtual string CendynPropertyID { get; set; }
        public virtual string ModuleName { get; set; }
        public virtual string TableName { get; set; }
        public virtual string ColumnName { get; set; }
        public virtual string UDFValue { get; set; }
    }

    public partial class UniqueIDType
    {
        public virtual string ID { get; set; }
        public virtual string Type { get; set; }
        public virtual string Context { get; set; }
    }

    public partial class Voucher
    {
        public virtual string HotelCode { get; set; }
        public virtual string VoucherID { get; set; }
        public virtual string VoucherID2 { get; set; }
        public virtual string AppliedToResort { get; set; }
        public virtual string ReservationID { get; set; }
        public virtual string ProfileIDRecipient { get; set; }
        public virtual string SubscriberIDRecipient { get; set; }
        public virtual string RecipientName { get; set; }
        public virtual string Emailaddress { get; set; }
        public virtual string ProfileIDPurchaser { get; set; }
        public virtual string PurchaserName { get; set; }
        public virtual string VoucherStatus { get; set; }
        public virtual string VoucherType { get; set; }
        public virtual string MembershipType { get; set; }
        public virtual string CertCode { get; set; }
        public virtual string CertNo { get; set; }
        public virtual string ShortDescription { get; set; }
        public virtual string GiftMessage { get; set; }
        public virtual string Comments { get; set; }
        public virtual decimal? VoucherAmount { get; set; }
        public virtual string CurrencyCode { get; set; }
        public virtual string IssueType { get; set; }
        public virtual DateTime? DateConsumed { get; set; }
        public virtual DateTime? ExpirationDate { get; set; }
        public virtual int? AwardPoints { get; set; }
        public virtual string RuleType { get; set; }
        public virtual string RuleValue { get; set; }
        public virtual bool? CancelAllowed { get; set; }
        public virtual int? MaxExtensions { get; set; }
        public virtual string ReferenceType { get; set; }
        public virtual string ReferenceID { get; set; }
        public virtual string PromotionCode { get; set; }
        public virtual bool? ReservationConsumed { get; set; }
        public virtual bool? WebConsumed { get; set; }
        public virtual bool? PMSConsumed { get; set; }
        public virtual bool? VerifyCertNo { get; set; }
        public virtual bool? GenerateInLieu { get; set; }
        public virtual string CreatorCode { get; set; }
        public virtual string LastUpdaterCode { get; set; }
        public virtual string FolioID { get; set; }
        public virtual DateTime? InactiveDate { get; set; }
    }

}

namespace CenResSS.ServiceModel
{
    public partial class CenResResponse
    {
        public virtual RequestStatus Status { get; set; }
        public virtual string StatusMessage { get; set; }
        public virtual int RecordsReturned { get; set; }
        public virtual int RecordsAvailable { get; set; }
        public virtual int PageNumber { get; set; }
        public virtual int PageSize { get; set; }
    }

    public enum ProfileQueryType
    {
        ProfileId,
        Name,
        LastUpdated,
        Email,
        MembershipId,
        PhoneNumber,
    }

    public partial class ProfileRequest
    {
        public virtual string CendynPropertyId { get; set; }
        public virtual ProfileQueryType Query { get; set; }
        public virtual string Id { get; set; }
        public virtual string MembershipId { get; set; }
        public virtual string EmailAddress { get; set; }
        public virtual string LastName { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string PhoneNumber { get; set; }
        public virtual DateTime? StartDate { get; set; }
        public virtual DateTime? EndDate { get; set; }
        [DataMember(Name="Limit")]
        public virtual int PageSize { get; set; }

        [DataMember(Name="Page")]
        public virtual int PageNumber { get; set; }
    }

    public partial class ProfileResponse
        : CenResResponse
    {
        public ProfileResponse()
        {
            Records = new List<Profile>{};
        }

        public virtual List<Profile> Records { get; set; }
    }

    public enum RequestStatus
    {
        Success,
        Warning,
        Error,
        NotAuthorized,
        Failure,
    }

}

C# ProfileRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"records":[{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"profileTypeCode":"String","profileTypeDescription":"String","nameCode":"String","profileTypeCategory":"String","jobTitle":"String","salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","nameSuffix":"String","vipid":"String","vipCode":"String","primaryLanguage":"String","genderCode":"String","dobYear":"String","dobMonth":"String","dobDayOfMonth":"String","companyName":"String","arNumber":"String","allowMail":false,"allowEMail":false,"guestPriv":false,"allowPhone":false,"allowSMS":false,"allowHistory":false,"allowMarketResearch":false,"allowThirdParty":false,"allowLoyaltyProgram":false,"creatorCode":"String","lastUpdaterCode":"String","dateProfileCreated":"0001-01-01T00:00:00.0000000","dateProfileUpdated":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","nationality":"String","resortCode":"String","retiredProfileId":"String","transferredSubscriptionId":"String","sourceName":"String","sourceID":"String","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000","profileExtension":{"languageCode":"String","salutationExt":"String","firstNameExt":"String","familiarNameExt":"String","middleNameExt":"String","lastNameExt":"String","nameSuffixExt":"String","companyNameExt":"String","blacklist":"String","blackListMessage":"String","anonymizationStatus":"String"},"addresses":[{"addressTypeCode":"String","addressTypeDescription":"String","addressStatus":"String","attn":"String","address1":"String","address2":"String","city":"String","stateProvince":"String","postalCode":"String","countryCode":"String","isPrimary":false,"addressLanguage":"String","addressCleansed":false,"optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"memberships":[{"externalID":"String","programCode":"String","membershipID":"String","membershipCategory":"String","membershipName":"String","membershipLevel":"String","membershipStatus":"String","enrollmentCode":"String","dateMembershipStarts":"0001-01-01T00:00:00.0000000","dateMembershipExpires":"0001-01-01T00:00:00.0000000","totalStays":0,"awardCredits":0,"awardAvailable":0,"primaryAirline":false,"displaySequence":0,"sourceName":"String","sourceID":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","pointsIndicator":false}],"contactMethods":[{"type":"String","category":"String","dataValue":"String","extraData":"String","optOut":false,"sourceDate":"0001-01-01T00:00:00.0000000","isPrimary":false,"confirmation":false,"inactiveDate":"0001-01-01T00:00:00.0000000","optOutMarketing":false,"optOutDate":"0001-01-01T00:00:00.0000000"}],"actionComments":[{"externalID":"String","commentType":"String","commentTitle":"String","commentClass":"String","actionType":"String","comment":"String","actionDate":"0001-01-01T00:00:00.0000000","inactiveDate":"0001-01-01T00:00:00.0000000","guestViewable":false,"creatorCode":"String","dateCommentCreated":"0001-01-01T00:00:00.0000000","resortCode":"String"}],"specialRequests":[{"externalID":"String","requestType":"String","requestCode":"String","requestComments":"String","resortField":"String","actionTypeCode":"String","actionType":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"udfDataCollection":[{"cendynPropertyID":"String","moduleName":"String","tableName":"String","columnName":"String","udfValue":"String"}],"lead":{"fK_Reservation":"00000000000000000000000000000000","externalLeadID":"String","externalLeadSource":"String","leadStatus":"String","leadAcquired":"0001-01-01T00:00:00.0000000","tentativeStartDate":"0001-01-01T00:00:00.0000000","tentativeEndDate":"0001-01-01T00:00:00.0000000","assignedAgent":"String","assignedDate":"0001-01-01T00:00:00.0000000","contactMethod":"String","contactAgent":"String","contactDate":"0001-01-01T00:00:00.0000000","lastFollowupMethod":"String","lastFollowupAgent":"String","lastFollowupDate":"0001-01-01T00:00:00.0000000","bookingMethod":"String","bookingAgent":"String","bookingDate":"0001-01-01T00:00:00.0000000","reasonforStay":"String","marketCode":"String","campaignCode":"String","campaignName":"String","priceEstimate":0,"flaggedForAttention":false},"relatedTravelers":[{"cendynPropertyID":"String","propertyName":"String","uniqueIDs":[{"id":"String","type":"String","context":"String"}],"salutation":"String","firstName":"String","familiarName":"String","middleName":"String","lastName":"String","fullName":"String","suffix":"String","relation":"String","isPrimary":false}],"documents":[{"documentID":"String","documentType":"String","documentSource":"String","codeOnDocument":"String","documentNotes":"String","nameOnDocument":"String","nationalityOnDocument":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","issuer":"String","issuerCountry":"String","isPrimary":false,"piI_StoredAs":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"vouchers":[{"hotelCode":"String","voucherID":"String","voucherID2":"String","appliedToResort":"String","reservationID":"String","profileIDRecipient":"String","subscriberIDRecipient":"String","recipientName":"String","emailaddress":"String","profileIDPurchaser":"String","purchaserName":"String","voucherStatus":"String","voucherType":"String","membershipType":"String","certCode":"String","certNo":"String","shortDescription":"String","giftMessage":"String","comments":"String","voucherAmount":0,"currencyCode":"String","issueType":"String","dateConsumed":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","awardPoints":0,"ruleType":"String","ruleValue":"String","cancelAllowed":false,"maxExtensions":0,"referenceType":"String","referenceID":"String","promotionCode":"String","reservationConsumed":false,"webConsumed":false,"pmsConsumed":false,"verifyCertNo":false,"generateInLieu":false,"creatorCode":"String","lastUpdaterCode":"String","folioID":"String","inactiveDate":"0001-01-01T00:00:00.0000000"}],"profilePolicies":[{"policyType":"String","attributeName":"String","integerValue":0,"stringValue":"String","effectiveDate":"0001-01-01T00:00:00.0000000","expirationDate":"0001-01-01T00:00:00.0000000","comments":"String","externalID":"String","appliesTo":"String","appliesToDescriptor":"String"}]}],"status":"Success","statusMessage":"String","recordsReturned":0,"recordsAvailable":0,"pageNumber":0,"pageSize":0}