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 'package:servicestack/servicestack.dart';

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

class CenResResponse implements IConvertible
{
    RequestStatus? status;
    String? statusMessage;
    int? recordsReturned;
    int? recordsAvailable;
    int? pageNumber;
    int? pageSize;

    CenResResponse({this.status,this.statusMessage,this.recordsReturned,this.recordsAvailable,this.pageNumber,this.pageSize});
    CenResResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        status = JsonConverters.fromJson(json['status'],'RequestStatus',context!);
        statusMessage = json['statusMessage'];
        recordsReturned = json['recordsReturned'];
        recordsAvailable = json['recordsAvailable'];
        pageNumber = json['pageNumber'];
        pageSize = json['pageSize'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'status': JsonConverters.toJson(status,'RequestStatus',context!),
        'statusMessage': statusMessage,
        'recordsReturned': recordsReturned,
        'recordsAvailable': recordsAvailable,
        'pageNumber': pageNumber,
        'pageSize': pageSize
    };

    getTypeName() => "CenResResponse";
    TypeContext? context = _ctx;
}

class UniqueIDType implements IConvertible
{
    String? id;
    String? type;
    String? Context;

    UniqueIDType({this.id,this.type,this.Context});
    UniqueIDType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        type = json['type'];
        Context = json['context'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'type': type,
        'context': Context
    };

    getTypeName() => "UniqueIDType";
    TypeContext? context = _ctx;
}

class ProfileExtension implements IConvertible
{
    String? languageCode;
    String? salutationExt;
    String? firstNameExt;
    String? familiarNameExt;
    String? middleNameExt;
    String? lastNameExt;
    String? nameSuffixExt;
    String? companyNameExt;
    String? blacklist;
    String? blackListMessage;
    String? anonymizationStatus;

    ProfileExtension({this.languageCode,this.salutationExt,this.firstNameExt,this.familiarNameExt,this.middleNameExt,this.lastNameExt,this.nameSuffixExt,this.companyNameExt,this.blacklist,this.blackListMessage,this.anonymizationStatus});
    ProfileExtension.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        languageCode = json['languageCode'];
        salutationExt = json['salutationExt'];
        firstNameExt = json['firstNameExt'];
        familiarNameExt = json['familiarNameExt'];
        middleNameExt = json['middleNameExt'];
        lastNameExt = json['lastNameExt'];
        nameSuffixExt = json['nameSuffixExt'];
        companyNameExt = json['companyNameExt'];
        blacklist = json['blacklist'];
        blackListMessage = json['blackListMessage'];
        anonymizationStatus = json['anonymizationStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'languageCode': languageCode,
        'salutationExt': salutationExt,
        'firstNameExt': firstNameExt,
        'familiarNameExt': familiarNameExt,
        'middleNameExt': middleNameExt,
        'lastNameExt': lastNameExt,
        'nameSuffixExt': nameSuffixExt,
        'companyNameExt': companyNameExt,
        'blacklist': blacklist,
        'blackListMessage': blackListMessage,
        'anonymizationStatus': anonymizationStatus
    };

    getTypeName() => "ProfileExtension";
    TypeContext? context = _ctx;
}

class Address implements IConvertible
{
    String? addressTypeCode;
    String? addressTypeDescription;
    String? addressStatus;
    String? attn;
    String? address1;
    String? address2;
    String? city;
    String? stateProvince;
    String? postalCode;
    String? countryCode;
    bool? isPrimary;
    String? addressLanguage;
    bool? addressCleansed;
    bool? optOutMarketing;
    DateTime? optOutDate;

    Address({this.addressTypeCode,this.addressTypeDescription,this.addressStatus,this.attn,this.address1,this.address2,this.city,this.stateProvince,this.postalCode,this.countryCode,this.isPrimary,this.addressLanguage,this.addressCleansed,this.optOutMarketing,this.optOutDate});
    Address.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        addressTypeCode = json['addressTypeCode'];
        addressTypeDescription = json['addressTypeDescription'];
        addressStatus = json['addressStatus'];
        attn = json['attn'];
        address1 = json['address1'];
        address2 = json['address2'];
        city = json['city'];
        stateProvince = json['stateProvince'];
        postalCode = json['postalCode'];
        countryCode = json['countryCode'];
        isPrimary = json['isPrimary'];
        addressLanguage = json['addressLanguage'];
        addressCleansed = json['addressCleansed'];
        optOutMarketing = json['optOutMarketing'];
        optOutDate = JsonConverters.fromJson(json['optOutDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'addressTypeCode': addressTypeCode,
        'addressTypeDescription': addressTypeDescription,
        'addressStatus': addressStatus,
        'attn': attn,
        'address1': address1,
        'address2': address2,
        'city': city,
        'stateProvince': stateProvince,
        'postalCode': postalCode,
        'countryCode': countryCode,
        'isPrimary': isPrimary,
        'addressLanguage': addressLanguage,
        'addressCleansed': addressCleansed,
        'optOutMarketing': optOutMarketing,
        'optOutDate': JsonConverters.toJson(optOutDate,'DateTime',context!)
    };

    getTypeName() => "Address";
    TypeContext? context = _ctx;
}

class Membership implements IConvertible
{
    String? externalID;
    String? programCode;
    String? membershipID;
    String? membershipCategory;
    String? membershipName;
    String? membershipLevel;
    String? membershipStatus;
    String? enrollmentCode;
    DateTime? dateMembershipStarts;
    DateTime? dateMembershipExpires;
    int? totalStays;
    int? awardCredits;
    int? awardAvailable;
    bool? primaryAirline;
    int? displaySequence;
    String? sourceName;
    String? sourceID;
    bool? isActive;
    DateTime? inactiveDate;
    bool? pointsIndicator;

    Membership({this.externalID,this.programCode,this.membershipID,this.membershipCategory,this.membershipName,this.membershipLevel,this.membershipStatus,this.enrollmentCode,this.dateMembershipStarts,this.dateMembershipExpires,this.totalStays,this.awardCredits,this.awardAvailable,this.primaryAirline,this.displaySequence,this.sourceName,this.sourceID,this.isActive,this.inactiveDate,this.pointsIndicator});
    Membership.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        externalID = json['externalID'];
        programCode = json['programCode'];
        membershipID = json['membershipID'];
        membershipCategory = json['membershipCategory'];
        membershipName = json['membershipName'];
        membershipLevel = json['membershipLevel'];
        membershipStatus = json['membershipStatus'];
        enrollmentCode = json['enrollmentCode'];
        dateMembershipStarts = JsonConverters.fromJson(json['dateMembershipStarts'],'DateTime',context!);
        dateMembershipExpires = JsonConverters.fromJson(json['dateMembershipExpires'],'DateTime',context!);
        totalStays = json['totalStays'];
        awardCredits = json['awardCredits'];
        awardAvailable = json['awardAvailable'];
        primaryAirline = json['primaryAirline'];
        displaySequence = json['displaySequence'];
        sourceName = json['sourceName'];
        sourceID = json['sourceID'];
        isActive = json['isActive'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        pointsIndicator = json['pointsIndicator'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'externalID': externalID,
        'programCode': programCode,
        'membershipID': membershipID,
        'membershipCategory': membershipCategory,
        'membershipName': membershipName,
        'membershipLevel': membershipLevel,
        'membershipStatus': membershipStatus,
        'enrollmentCode': enrollmentCode,
        'dateMembershipStarts': JsonConverters.toJson(dateMembershipStarts,'DateTime',context!),
        'dateMembershipExpires': JsonConverters.toJson(dateMembershipExpires,'DateTime',context!),
        'totalStays': totalStays,
        'awardCredits': awardCredits,
        'awardAvailable': awardAvailable,
        'primaryAirline': primaryAirline,
        'displaySequence': displaySequence,
        'sourceName': sourceName,
        'sourceID': sourceID,
        'isActive': isActive,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'pointsIndicator': pointsIndicator
    };

    getTypeName() => "Membership";
    TypeContext? context = _ctx;
}

class ContactMethod implements IConvertible
{
    String? type;
    String? category;
    String? dataValue;
    String? extraData;
    bool? optOut;
    DateTime? sourceDate;
    bool? isPrimary;
    bool? confirmation;
    DateTime? inactiveDate;
    bool? optOutMarketing;
    DateTime? optOutDate;

    ContactMethod({this.type,this.category,this.dataValue,this.extraData,this.optOut,this.sourceDate,this.isPrimary,this.confirmation,this.inactiveDate,this.optOutMarketing,this.optOutDate});
    ContactMethod.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        category = json['category'];
        dataValue = json['dataValue'];
        extraData = json['extraData'];
        optOut = json['optOut'];
        sourceDate = JsonConverters.fromJson(json['sourceDate'],'DateTime',context!);
        isPrimary = json['isPrimary'];
        confirmation = json['confirmation'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        optOutMarketing = json['optOutMarketing'];
        optOutDate = JsonConverters.fromJson(json['optOutDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'category': category,
        'dataValue': dataValue,
        'extraData': extraData,
        'optOut': optOut,
        'sourceDate': JsonConverters.toJson(sourceDate,'DateTime',context!),
        'isPrimary': isPrimary,
        'confirmation': confirmation,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'optOutMarketing': optOutMarketing,
        'optOutDate': JsonConverters.toJson(optOutDate,'DateTime',context!)
    };

    getTypeName() => "ContactMethod";
    TypeContext? context = _ctx;
}

class ActionComment implements IConvertible
{
    String? externalID;
    String? commentType;
    String? commentTitle;
    String? commentClass;
    String? actionType;
    String? comment;
    DateTime? actionDate;
    DateTime? inactiveDate;
    bool? guestViewable;
    String? creatorCode;
    DateTime? dateCommentCreated;
    String? resortCode;

    ActionComment({this.externalID,this.commentType,this.commentTitle,this.commentClass,this.actionType,this.comment,this.actionDate,this.inactiveDate,this.guestViewable,this.creatorCode,this.dateCommentCreated,this.resortCode});
    ActionComment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        externalID = json['externalID'];
        commentType = json['commentType'];
        commentTitle = json['commentTitle'];
        commentClass = json['commentClass'];
        actionType = json['actionType'];
        comment = json['comment'];
        actionDate = JsonConverters.fromJson(json['actionDate'],'DateTime',context!);
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        guestViewable = json['guestViewable'];
        creatorCode = json['creatorCode'];
        dateCommentCreated = JsonConverters.fromJson(json['dateCommentCreated'],'DateTime',context!);
        resortCode = json['resortCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'externalID': externalID,
        'commentType': commentType,
        'commentTitle': commentTitle,
        'commentClass': commentClass,
        'actionType': actionType,
        'comment': comment,
        'actionDate': JsonConverters.toJson(actionDate,'DateTime',context!),
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'guestViewable': guestViewable,
        'creatorCode': creatorCode,
        'dateCommentCreated': JsonConverters.toJson(dateCommentCreated,'DateTime',context!),
        'resortCode': resortCode
    };

    getTypeName() => "ActionComment";
    TypeContext? context = _ctx;
}

class SpecialRequest implements IConvertible
{
    String? externalID;
    String? requestType;
    String? requestCode;
    String? requestComments;
    String? resortField;
    String? actionTypeCode;
    String? actionType;
    DateTime? inactiveDate;

    SpecialRequest({this.externalID,this.requestType,this.requestCode,this.requestComments,this.resortField,this.actionTypeCode,this.actionType,this.inactiveDate});
    SpecialRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        externalID = json['externalID'];
        requestType = json['requestType'];
        requestCode = json['requestCode'];
        requestComments = json['requestComments'];
        resortField = json['resortField'];
        actionTypeCode = json['actionTypeCode'];
        actionType = json['actionType'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'externalID': externalID,
        'requestType': requestType,
        'requestCode': requestCode,
        'requestComments': requestComments,
        'resortField': resortField,
        'actionTypeCode': actionTypeCode,
        'actionType': actionType,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!)
    };

    getTypeName() => "SpecialRequest";
    TypeContext? context = _ctx;
}

class UDFDataType implements IConvertible
{
    String? cendynPropertyID;
    String? moduleName;
    String? tableName;
    String? columnName;
    String? udfValue;

    UDFDataType({this.cendynPropertyID,this.moduleName,this.tableName,this.columnName,this.udfValue});
    UDFDataType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        moduleName = json['moduleName'];
        tableName = json['tableName'];
        columnName = json['columnName'];
        udfValue = json['udfValue'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'moduleName': moduleName,
        'tableName': tableName,
        'columnName': columnName,
        'udfValue': udfValue
    };

    getTypeName() => "UDFDataType";
    TypeContext? context = _ctx;
}

class Lead implements IConvertible
{
    String? fK_Reservation;
    String? externalLeadID;
    String? externalLeadSource;
    String? leadStatus;
    DateTime? leadAcquired;
    DateTime? tentativeStartDate;
    DateTime? tentativeEndDate;
    String? assignedAgent;
    DateTime? assignedDate;
    String? contactMethod;
    String? contactAgent;
    DateTime? contactDate;
    String? lastFollowupMethod;
    String? lastFollowupAgent;
    DateTime? lastFollowupDate;
    String? bookingMethod;
    String? bookingAgent;
    DateTime? bookingDate;
    String? reasonforStay;
    String? marketCode;
    String? campaignCode;
    String? campaignName;
    double? priceEstimate;
    bool? flaggedForAttention;

    Lead({this.fK_Reservation,this.externalLeadID,this.externalLeadSource,this.leadStatus,this.leadAcquired,this.tentativeStartDate,this.tentativeEndDate,this.assignedAgent,this.assignedDate,this.contactMethod,this.contactAgent,this.contactDate,this.lastFollowupMethod,this.lastFollowupAgent,this.lastFollowupDate,this.bookingMethod,this.bookingAgent,this.bookingDate,this.reasonforStay,this.marketCode,this.campaignCode,this.campaignName,this.priceEstimate,this.flaggedForAttention});
    Lead.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fK_Reservation = json['fK_Reservation'];
        externalLeadID = json['externalLeadID'];
        externalLeadSource = json['externalLeadSource'];
        leadStatus = json['leadStatus'];
        leadAcquired = JsonConverters.fromJson(json['leadAcquired'],'DateTime',context!);
        tentativeStartDate = JsonConverters.fromJson(json['tentativeStartDate'],'DateTime',context!);
        tentativeEndDate = JsonConverters.fromJson(json['tentativeEndDate'],'DateTime',context!);
        assignedAgent = json['assignedAgent'];
        assignedDate = JsonConverters.fromJson(json['assignedDate'],'DateTime',context!);
        contactMethod = json['contactMethod'];
        contactAgent = json['contactAgent'];
        contactDate = JsonConverters.fromJson(json['contactDate'],'DateTime',context!);
        lastFollowupMethod = json['lastFollowupMethod'];
        lastFollowupAgent = json['lastFollowupAgent'];
        lastFollowupDate = JsonConverters.fromJson(json['lastFollowupDate'],'DateTime',context!);
        bookingMethod = json['bookingMethod'];
        bookingAgent = json['bookingAgent'];
        bookingDate = JsonConverters.fromJson(json['bookingDate'],'DateTime',context!);
        reasonforStay = json['reasonforStay'];
        marketCode = json['marketCode'];
        campaignCode = json['campaignCode'];
        campaignName = json['campaignName'];
        priceEstimate = JsonConverters.toDouble(json['priceEstimate']);
        flaggedForAttention = json['flaggedForAttention'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fK_Reservation': fK_Reservation,
        'externalLeadID': externalLeadID,
        'externalLeadSource': externalLeadSource,
        'leadStatus': leadStatus,
        'leadAcquired': JsonConverters.toJson(leadAcquired,'DateTime',context!),
        'tentativeStartDate': JsonConverters.toJson(tentativeStartDate,'DateTime',context!),
        'tentativeEndDate': JsonConverters.toJson(tentativeEndDate,'DateTime',context!),
        'assignedAgent': assignedAgent,
        'assignedDate': JsonConverters.toJson(assignedDate,'DateTime',context!),
        'contactMethod': contactMethod,
        'contactAgent': contactAgent,
        'contactDate': JsonConverters.toJson(contactDate,'DateTime',context!),
        'lastFollowupMethod': lastFollowupMethod,
        'lastFollowupAgent': lastFollowupAgent,
        'lastFollowupDate': JsonConverters.toJson(lastFollowupDate,'DateTime',context!),
        'bookingMethod': bookingMethod,
        'bookingAgent': bookingAgent,
        'bookingDate': JsonConverters.toJson(bookingDate,'DateTime',context!),
        'reasonforStay': reasonforStay,
        'marketCode': marketCode,
        'campaignCode': campaignCode,
        'campaignName': campaignName,
        'priceEstimate': priceEstimate,
        'flaggedForAttention': flaggedForAttention
    };

    getTypeName() => "Lead";
    TypeContext? context = _ctx;
}

class RelatedTraveler implements IConvertible
{
    String? cendynPropertyID;
    String? propertyName;
    List<UniqueIDType>? uniqueIDs;
    String? salutation;
    String? firstName;
    String? familiarName;
    String? middleName;
    String? lastName;
    String? fullName;
    String? suffix;
    String? relation;
    bool? isPrimary;

    RelatedTraveler({this.cendynPropertyID,this.propertyName,this.uniqueIDs,this.salutation,this.firstName,this.familiarName,this.middleName,this.lastName,this.fullName,this.suffix,this.relation,this.isPrimary});
    RelatedTraveler.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        propertyName = json['propertyName'];
        uniqueIDs = JsonConverters.fromJson(json['uniqueIDs'],'List<UniqueIDType>',context!);
        salutation = json['salutation'];
        firstName = json['firstName'];
        familiarName = json['familiarName'];
        middleName = json['middleName'];
        lastName = json['lastName'];
        fullName = json['fullName'];
        suffix = json['suffix'];
        relation = json['relation'];
        isPrimary = json['isPrimary'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'propertyName': propertyName,
        'uniqueIDs': JsonConverters.toJson(uniqueIDs,'List<UniqueIDType>',context!),
        'salutation': salutation,
        'firstName': firstName,
        'familiarName': familiarName,
        'middleName': middleName,
        'lastName': lastName,
        'fullName': fullName,
        'suffix': suffix,
        'relation': relation,
        'isPrimary': isPrimary
    };

    getTypeName() => "RelatedTraveler";
    TypeContext? context = _ctx;
}

class Document implements IConvertible
{
    String? documentID;
    String? documentType;
    String? documentSource;
    String? codeOnDocument;
    String? documentNotes;
    String? nameOnDocument;
    String? nationalityOnDocument;
    DateTime? effectiveDate;
    DateTime? expirationDate;
    String? issuer;
    String? issuerCountry;
    bool? isPrimary;
    String? piI_StoredAs;
    DateTime? inactiveDate;

    Document({this.documentID,this.documentType,this.documentSource,this.codeOnDocument,this.documentNotes,this.nameOnDocument,this.nationalityOnDocument,this.effectiveDate,this.expirationDate,this.issuer,this.issuerCountry,this.isPrimary,this.piI_StoredAs,this.inactiveDate});
    Document.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        documentID = json['documentID'];
        documentType = json['documentType'];
        documentSource = json['documentSource'];
        codeOnDocument = json['codeOnDocument'];
        documentNotes = json['documentNotes'];
        nameOnDocument = json['nameOnDocument'];
        nationalityOnDocument = json['nationalityOnDocument'];
        effectiveDate = JsonConverters.fromJson(json['effectiveDate'],'DateTime',context!);
        expirationDate = JsonConverters.fromJson(json['expirationDate'],'DateTime',context!);
        issuer = json['issuer'];
        issuerCountry = json['issuerCountry'];
        isPrimary = json['isPrimary'];
        piI_StoredAs = json['piI_StoredAs'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'documentID': documentID,
        'documentType': documentType,
        'documentSource': documentSource,
        'codeOnDocument': codeOnDocument,
        'documentNotes': documentNotes,
        'nameOnDocument': nameOnDocument,
        'nationalityOnDocument': nationalityOnDocument,
        'effectiveDate': JsonConverters.toJson(effectiveDate,'DateTime',context!),
        'expirationDate': JsonConverters.toJson(expirationDate,'DateTime',context!),
        'issuer': issuer,
        'issuerCountry': issuerCountry,
        'isPrimary': isPrimary,
        'piI_StoredAs': piI_StoredAs,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!)
    };

    getTypeName() => "Document";
    TypeContext? context = _ctx;
}

class Voucher implements IConvertible
{
    String? 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;
    double? voucherAmount;
    String? currencyCode;
    String? issueType;
    DateTime? dateConsumed;
    DateTime? expirationDate;
    int? awardPoints;
    String? ruleType;
    String? ruleValue;
    bool? cancelAllowed;
    int? maxExtensions;
    String? referenceType;
    String? referenceID;
    String? promotionCode;
    bool? reservationConsumed;
    bool? webConsumed;
    bool? pmsConsumed;
    bool? verifyCertNo;
    bool? generateInLieu;
    String? creatorCode;
    String? lastUpdaterCode;
    String? folioID;
    DateTime? inactiveDate;

    Voucher({this.hotelCode,this.voucherID,this.voucherID2,this.appliedToResort,this.reservationID,this.profileIDRecipient,this.subscriberIDRecipient,this.recipientName,this.emailaddress,this.profileIDPurchaser,this.purchaserName,this.voucherStatus,this.voucherType,this.membershipType,this.certCode,this.certNo,this.shortDescription,this.giftMessage,this.comments,this.voucherAmount,this.currencyCode,this.issueType,this.dateConsumed,this.expirationDate,this.awardPoints,this.ruleType,this.ruleValue,this.cancelAllowed,this.maxExtensions,this.referenceType,this.referenceID,this.promotionCode,this.reservationConsumed,this.webConsumed,this.pmsConsumed,this.verifyCertNo,this.generateInLieu,this.creatorCode,this.lastUpdaterCode,this.folioID,this.inactiveDate});
    Voucher.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hotelCode = json['hotelCode'];
        voucherID = json['voucherID'];
        voucherID2 = json['voucherID2'];
        appliedToResort = json['appliedToResort'];
        reservationID = json['reservationID'];
        profileIDRecipient = json['profileIDRecipient'];
        subscriberIDRecipient = json['subscriberIDRecipient'];
        recipientName = json['recipientName'];
        emailaddress = json['emailaddress'];
        profileIDPurchaser = json['profileIDPurchaser'];
        purchaserName = json['purchaserName'];
        voucherStatus = json['voucherStatus'];
        voucherType = json['voucherType'];
        membershipType = json['membershipType'];
        certCode = json['certCode'];
        certNo = json['certNo'];
        shortDescription = json['shortDescription'];
        giftMessage = json['giftMessage'];
        comments = json['comments'];
        voucherAmount = JsonConverters.toDouble(json['voucherAmount']);
        currencyCode = json['currencyCode'];
        issueType = json['issueType'];
        dateConsumed = JsonConverters.fromJson(json['dateConsumed'],'DateTime',context!);
        expirationDate = JsonConverters.fromJson(json['expirationDate'],'DateTime',context!);
        awardPoints = json['awardPoints'];
        ruleType = json['ruleType'];
        ruleValue = json['ruleValue'];
        cancelAllowed = json['cancelAllowed'];
        maxExtensions = json['maxExtensions'];
        referenceType = json['referenceType'];
        referenceID = json['referenceID'];
        promotionCode = json['promotionCode'];
        reservationConsumed = json['reservationConsumed'];
        webConsumed = json['webConsumed'];
        pmsConsumed = json['pmsConsumed'];
        verifyCertNo = json['verifyCertNo'];
        generateInLieu = json['generateInLieu'];
        creatorCode = json['creatorCode'];
        lastUpdaterCode = json['lastUpdaterCode'];
        folioID = json['folioID'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hotelCode': hotelCode,
        'voucherID': voucherID,
        'voucherID2': voucherID2,
        'appliedToResort': appliedToResort,
        'reservationID': reservationID,
        'profileIDRecipient': profileIDRecipient,
        'subscriberIDRecipient': subscriberIDRecipient,
        'recipientName': recipientName,
        'emailaddress': emailaddress,
        'profileIDPurchaser': profileIDPurchaser,
        'purchaserName': purchaserName,
        'voucherStatus': voucherStatus,
        'voucherType': voucherType,
        'membershipType': membershipType,
        'certCode': certCode,
        'certNo': certNo,
        'shortDescription': shortDescription,
        'giftMessage': giftMessage,
        'comments': comments,
        'voucherAmount': voucherAmount,
        'currencyCode': currencyCode,
        'issueType': issueType,
        'dateConsumed': JsonConverters.toJson(dateConsumed,'DateTime',context!),
        'expirationDate': JsonConverters.toJson(expirationDate,'DateTime',context!),
        'awardPoints': awardPoints,
        'ruleType': ruleType,
        'ruleValue': ruleValue,
        'cancelAllowed': cancelAllowed,
        'maxExtensions': maxExtensions,
        'referenceType': referenceType,
        'referenceID': referenceID,
        'promotionCode': promotionCode,
        'reservationConsumed': reservationConsumed,
        'webConsumed': webConsumed,
        'pmsConsumed': pmsConsumed,
        'verifyCertNo': verifyCertNo,
        'generateInLieu': generateInLieu,
        'creatorCode': creatorCode,
        'lastUpdaterCode': lastUpdaterCode,
        'folioID': folioID,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!)
    };

    getTypeName() => "Voucher";
    TypeContext? context = _ctx;
}

class ProfilePolicy implements IConvertible
{
    String? policyType;
    String? attributeName;
    int? integerValue;
    String? stringValue;
    DateTime? effectiveDate;
    DateTime? expirationDate;
    String? comments;
    String? externalID;
    String? appliesTo;
    String? appliesToDescriptor;

    ProfilePolicy({this.policyType,this.attributeName,this.integerValue,this.stringValue,this.effectiveDate,this.expirationDate,this.comments,this.externalID,this.appliesTo,this.appliesToDescriptor});
    ProfilePolicy.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        policyType = json['policyType'];
        attributeName = json['attributeName'];
        integerValue = json['integerValue'];
        stringValue = json['stringValue'];
        effectiveDate = JsonConverters.fromJson(json['effectiveDate'],'DateTime',context!);
        expirationDate = JsonConverters.fromJson(json['expirationDate'],'DateTime',context!);
        comments = json['comments'];
        externalID = json['externalID'];
        appliesTo = json['appliesTo'];
        appliesToDescriptor = json['appliesToDescriptor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'policyType': policyType,
        'attributeName': attributeName,
        'integerValue': integerValue,
        'stringValue': stringValue,
        'effectiveDate': JsonConverters.toJson(effectiveDate,'DateTime',context!),
        'expirationDate': JsonConverters.toJson(expirationDate,'DateTime',context!),
        'comments': comments,
        'externalID': externalID,
        'appliesTo': appliesTo,
        'appliesToDescriptor': appliesToDescriptor
    };

    getTypeName() => "ProfilePolicy";
    TypeContext? context = _ctx;
}

class Profile implements IConvertible
{
    String? cendynPropertyID;
    String? propertyName;
    List<UniqueIDType>? uniqueIDs;
    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;
    bool? allowMail;
    bool? allowEMail;
    bool? guestPriv;
    bool? allowPhone;
    bool? allowSMS;
    bool? allowHistory;
    bool? allowMarketResearch;
    bool? allowThirdParty;
    bool? allowLoyaltyProgram;
    String? creatorCode;
    String? lastUpdaterCode;
    DateTime? dateProfileCreated;
    DateTime? dateProfileUpdated;
    DateTime? inactiveDate;
    String? nationality;
    String? resortCode;
    String? retiredProfileId;
    String? transferredSubscriptionId;
    String? sourceName;
    String? sourceID;
    bool? optOutMarketing;
    DateTime? optOutDate;
    ProfileExtension? profileExtension;
    List<Address>? addresses;
    List<Membership>? memberships;
    List<ContactMethod>? contactMethods;
    List<ActionComment>? actionComments;
    List<SpecialRequest>? specialRequests;
    List<UDFDataType>? udfDataCollection;
    Lead? lead;
    List<RelatedTraveler>? relatedTravelers;
    List<Document>? documents;
    List<Voucher>? vouchers;
    List<ProfilePolicy>? profilePolicies;

    Profile({this.cendynPropertyID,this.propertyName,this.uniqueIDs,this.profileTypeCode,this.profileTypeDescription,this.nameCode,this.profileTypeCategory,this.jobTitle,this.salutation,this.firstName,this.familiarName,this.middleName,this.lastName,this.fullName,this.nameSuffix,this.vipid,this.vipCode,this.primaryLanguage,this.genderCode,this.dobYear,this.dobMonth,this.dobDayOfMonth,this.companyName,this.arNumber,this.allowMail,this.allowEMail,this.guestPriv,this.allowPhone,this.allowSMS,this.allowHistory,this.allowMarketResearch,this.allowThirdParty,this.allowLoyaltyProgram,this.creatorCode,this.lastUpdaterCode,this.dateProfileCreated,this.dateProfileUpdated,this.inactiveDate,this.nationality,this.resortCode,this.retiredProfileId,this.transferredSubscriptionId,this.sourceName,this.sourceID,this.optOutMarketing,this.optOutDate,this.profileExtension,this.addresses,this.memberships,this.contactMethods,this.actionComments,this.specialRequests,this.udfDataCollection,this.lead,this.relatedTravelers,this.documents,this.vouchers,this.profilePolicies});
    Profile.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        propertyName = json['propertyName'];
        uniqueIDs = JsonConverters.fromJson(json['uniqueIDs'],'List<UniqueIDType>',context!);
        profileTypeCode = json['profileTypeCode'];
        profileTypeDescription = json['profileTypeDescription'];
        nameCode = json['nameCode'];
        profileTypeCategory = json['profileTypeCategory'];
        jobTitle = json['jobTitle'];
        salutation = json['salutation'];
        firstName = json['firstName'];
        familiarName = json['familiarName'];
        middleName = json['middleName'];
        lastName = json['lastName'];
        fullName = json['fullName'];
        nameSuffix = json['nameSuffix'];
        vipid = json['vipid'];
        vipCode = json['vipCode'];
        primaryLanguage = json['primaryLanguage'];
        genderCode = json['genderCode'];
        dobYear = json['dobYear'];
        dobMonth = json['dobMonth'];
        dobDayOfMonth = json['dobDayOfMonth'];
        companyName = json['companyName'];
        arNumber = json['arNumber'];
        allowMail = json['allowMail'];
        allowEMail = json['allowEMail'];
        guestPriv = json['guestPriv'];
        allowPhone = json['allowPhone'];
        allowSMS = json['allowSMS'];
        allowHistory = json['allowHistory'];
        allowMarketResearch = json['allowMarketResearch'];
        allowThirdParty = json['allowThirdParty'];
        allowLoyaltyProgram = json['allowLoyaltyProgram'];
        creatorCode = json['creatorCode'];
        lastUpdaterCode = json['lastUpdaterCode'];
        dateProfileCreated = JsonConverters.fromJson(json['dateProfileCreated'],'DateTime',context!);
        dateProfileUpdated = JsonConverters.fromJson(json['dateProfileUpdated'],'DateTime',context!);
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        nationality = json['nationality'];
        resortCode = json['resortCode'];
        retiredProfileId = json['retiredProfileId'];
        transferredSubscriptionId = json['transferredSubscriptionId'];
        sourceName = json['sourceName'];
        sourceID = json['sourceID'];
        optOutMarketing = json['optOutMarketing'];
        optOutDate = JsonConverters.fromJson(json['optOutDate'],'DateTime',context!);
        profileExtension = JsonConverters.fromJson(json['profileExtension'],'ProfileExtension',context!);
        addresses = JsonConverters.fromJson(json['addresses'],'List<Address>',context!);
        memberships = JsonConverters.fromJson(json['memberships'],'List<Membership>',context!);
        contactMethods = JsonConverters.fromJson(json['contactMethods'],'List<ContactMethod>',context!);
        actionComments = JsonConverters.fromJson(json['actionComments'],'List<ActionComment>',context!);
        specialRequests = JsonConverters.fromJson(json['specialRequests'],'List<SpecialRequest>',context!);
        udfDataCollection = JsonConverters.fromJson(json['udfDataCollection'],'List<UDFDataType>',context!);
        lead = JsonConverters.fromJson(json['lead'],'Lead',context!);
        relatedTravelers = JsonConverters.fromJson(json['relatedTravelers'],'List<RelatedTraveler>',context!);
        documents = JsonConverters.fromJson(json['documents'],'List<Document>',context!);
        vouchers = JsonConverters.fromJson(json['vouchers'],'List<Voucher>',context!);
        profilePolicies = JsonConverters.fromJson(json['profilePolicies'],'List<ProfilePolicy>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'propertyName': propertyName,
        'uniqueIDs': JsonConverters.toJson(uniqueIDs,'List<UniqueIDType>',context!),
        'profileTypeCode': profileTypeCode,
        'profileTypeDescription': profileTypeDescription,
        'nameCode': nameCode,
        'profileTypeCategory': profileTypeCategory,
        'jobTitle': jobTitle,
        'salutation': salutation,
        'firstName': firstName,
        'familiarName': familiarName,
        'middleName': middleName,
        'lastName': lastName,
        'fullName': fullName,
        'nameSuffix': nameSuffix,
        'vipid': vipid,
        'vipCode': vipCode,
        'primaryLanguage': primaryLanguage,
        'genderCode': genderCode,
        'dobYear': dobYear,
        'dobMonth': dobMonth,
        'dobDayOfMonth': dobDayOfMonth,
        'companyName': companyName,
        'arNumber': arNumber,
        'allowMail': allowMail,
        'allowEMail': allowEMail,
        'guestPriv': guestPriv,
        'allowPhone': allowPhone,
        'allowSMS': allowSMS,
        'allowHistory': allowHistory,
        'allowMarketResearch': allowMarketResearch,
        'allowThirdParty': allowThirdParty,
        'allowLoyaltyProgram': allowLoyaltyProgram,
        'creatorCode': creatorCode,
        'lastUpdaterCode': lastUpdaterCode,
        'dateProfileCreated': JsonConverters.toJson(dateProfileCreated,'DateTime',context!),
        'dateProfileUpdated': JsonConverters.toJson(dateProfileUpdated,'DateTime',context!),
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'nationality': nationality,
        'resortCode': resortCode,
        'retiredProfileId': retiredProfileId,
        'transferredSubscriptionId': transferredSubscriptionId,
        'sourceName': sourceName,
        'sourceID': sourceID,
        'optOutMarketing': optOutMarketing,
        'optOutDate': JsonConverters.toJson(optOutDate,'DateTime',context!),
        'profileExtension': JsonConverters.toJson(profileExtension,'ProfileExtension',context!),
        'addresses': JsonConverters.toJson(addresses,'List<Address>',context!),
        'memberships': JsonConverters.toJson(memberships,'List<Membership>',context!),
        'contactMethods': JsonConverters.toJson(contactMethods,'List<ContactMethod>',context!),
        'actionComments': JsonConverters.toJson(actionComments,'List<ActionComment>',context!),
        'specialRequests': JsonConverters.toJson(specialRequests,'List<SpecialRequest>',context!),
        'udfDataCollection': JsonConverters.toJson(udfDataCollection,'List<UDFDataType>',context!),
        'lead': JsonConverters.toJson(lead,'Lead',context!),
        'relatedTravelers': JsonConverters.toJson(relatedTravelers,'List<RelatedTraveler>',context!),
        'documents': JsonConverters.toJson(documents,'List<Document>',context!),
        'vouchers': JsonConverters.toJson(vouchers,'List<Voucher>',context!),
        'profilePolicies': JsonConverters.toJson(profilePolicies,'List<ProfilePolicy>',context!)
    };

    getTypeName() => "Profile";
    TypeContext? context = _ctx;
}

class ProfileResponse extends CenResResponse implements IConvertible
{
    List<Profile>? records;

    ProfileResponse({this.records});
    ProfileResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        records = JsonConverters.fromJson(json['records'],'List<Profile>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'records': JsonConverters.toJson(records,'List<Profile>',context!)
    });

    getTypeName() => "ProfileResponse";
    TypeContext? context = _ctx;
}

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

class ProfileRequest implements IConvertible
{
    String? cendynPropertyId;
    ProfileQueryType? query;
    String? id;
    String? membershipId;
    String? emailAddress;
    String? lastName;
    String? firstName;
    String? phoneNumber;
    DateTime? startDate;
    DateTime? endDate;
    // @DataMember(Name="Limit")
    int? pageSize;

    // @DataMember(Name="Page")
    int? pageNumber;

    ProfileRequest({this.cendynPropertyId,this.query,this.id,this.membershipId,this.emailAddress,this.lastName,this.firstName,this.phoneNumber,this.startDate,this.endDate,this.pageSize,this.pageNumber});
    ProfileRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyId = json['cendynPropertyId'];
        query = JsonConverters.fromJson(json['query'],'ProfileQueryType',context!);
        id = json['id'];
        membershipId = json['membershipId'];
        emailAddress = json['emailAddress'];
        lastName = json['lastName'];
        firstName = json['firstName'];
        phoneNumber = json['phoneNumber'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        pageSize = json['pageSize'];
        pageNumber = json['pageNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyId': cendynPropertyId,
        'query': JsonConverters.toJson(query,'ProfileQueryType',context!),
        'id': id,
        'membershipId': membershipId,
        'emailAddress': emailAddress,
        'lastName': lastName,
        'firstName': firstName,
        'phoneNumber': phoneNumber,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'pageSize': pageSize,
        'pageNumber': pageNumber
    };

    getTypeName() => "ProfileRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'cert.cendyn.com', types: <String, TypeInfo> {
    'RequestStatus': TypeInfo(TypeOf.Enum, enumValues:RequestStatus.values),
    'CenResResponse': TypeInfo(TypeOf.Class, create:() => CenResResponse()),
    'UniqueIDType': TypeInfo(TypeOf.Class, create:() => UniqueIDType()),
    'ProfileExtension': TypeInfo(TypeOf.Class, create:() => ProfileExtension()),
    'Address': TypeInfo(TypeOf.Class, create:() => Address()),
    'Membership': TypeInfo(TypeOf.Class, create:() => Membership()),
    'ContactMethod': TypeInfo(TypeOf.Class, create:() => ContactMethod()),
    'ActionComment': TypeInfo(TypeOf.Class, create:() => ActionComment()),
    'SpecialRequest': TypeInfo(TypeOf.Class, create:() => SpecialRequest()),
    'UDFDataType': TypeInfo(TypeOf.Class, create:() => UDFDataType()),
    'Lead': TypeInfo(TypeOf.Class, create:() => Lead()),
    'RelatedTraveler': TypeInfo(TypeOf.Class, create:() => RelatedTraveler()),
    'List<UniqueIDType>': TypeInfo(TypeOf.Class, create:() => <UniqueIDType>[]),
    'Document': TypeInfo(TypeOf.Class, create:() => Document()),
    'Voucher': TypeInfo(TypeOf.Class, create:() => Voucher()),
    'ProfilePolicy': TypeInfo(TypeOf.Class, create:() => ProfilePolicy()),
    'Profile': TypeInfo(TypeOf.Class, create:() => Profile()),
    'List<Address>': TypeInfo(TypeOf.Class, create:() => <Address>[]),
    'List<Membership>': TypeInfo(TypeOf.Class, create:() => <Membership>[]),
    'List<ContactMethod>': TypeInfo(TypeOf.Class, create:() => <ContactMethod>[]),
    'List<ActionComment>': TypeInfo(TypeOf.Class, create:() => <ActionComment>[]),
    'List<SpecialRequest>': TypeInfo(TypeOf.Class, create:() => <SpecialRequest>[]),
    'List<UDFDataType>': TypeInfo(TypeOf.Class, create:() => <UDFDataType>[]),
    'List<RelatedTraveler>': TypeInfo(TypeOf.Class, create:() => <RelatedTraveler>[]),
    'List<Document>': TypeInfo(TypeOf.Class, create:() => <Document>[]),
    'List<Voucher>': TypeInfo(TypeOf.Class, create:() => <Voucher>[]),
    'List<ProfilePolicy>': TypeInfo(TypeOf.Class, create:() => <ProfilePolicy>[]),
    'ProfileResponse': TypeInfo(TypeOf.Class, create:() => ProfileResponse()),
    'List<Profile>': TypeInfo(TypeOf.Class, create:() => <Profile>[]),
    'ProfileQueryType': TypeInfo(TypeOf.Enum, enumValues:ProfileQueryType.values),
    'ProfileRequest': TypeInfo(TypeOf.Class, create:() => ProfileRequest()),
});

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