CenResService

<back to all web services

HotelInventoryBlockRequest

The following routes are available for this service:
GET/v2/hotelInventoryBlocks/{Query}/{CendynPropertyId}
GET/v2/hotelInventoryBlocks/{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 InventoryBlockEvent implements IConvertible
{
    String? cendynPropertyID;
    String? hotelCode;
    String? inventoryCode;
    DateTime? eventStartDate;
    DateTime? eventEndDate;
    String? eventName;
    String? eventClassification;
    DateTime? eventBookedDate;
    String? eventStatus;
    String? roomSetupCode;
    String? roomSetupDescription;
    int? roomSetupCapacity;
    int? expectedAttendance;
    double? expectedRevenue;
    double? foodRevenue;
    double? beverageRevenue;
    double? roomRevenue;
    double? resourceRevenue;
    double? otherRevenue;
    String? comments;
    String? externalID;
    DateTime? sourceDateCreated;
    String? sourceCreateUser;
    DateTime? sourceDateUpdated;
    String? sourceUpdateUser;
    bool? isActive;
    DateTime? inactiveDate;
    String? recordStatus;

    InventoryBlockEvent({this.cendynPropertyID,this.hotelCode,this.inventoryCode,this.eventStartDate,this.eventEndDate,this.eventName,this.eventClassification,this.eventBookedDate,this.eventStatus,this.roomSetupCode,this.roomSetupDescription,this.roomSetupCapacity,this.expectedAttendance,this.expectedRevenue,this.foodRevenue,this.beverageRevenue,this.roomRevenue,this.resourceRevenue,this.otherRevenue,this.comments,this.externalID,this.sourceDateCreated,this.sourceCreateUser,this.sourceDateUpdated,this.sourceUpdateUser,this.isActive,this.inactiveDate,this.recordStatus});
    InventoryBlockEvent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        hotelCode = json['hotelCode'];
        inventoryCode = json['inventoryCode'];
        eventStartDate = JsonConverters.fromJson(json['eventStartDate'],'DateTime',context!);
        eventEndDate = JsonConverters.fromJson(json['eventEndDate'],'DateTime',context!);
        eventName = json['eventName'];
        eventClassification = json['eventClassification'];
        eventBookedDate = JsonConverters.fromJson(json['eventBookedDate'],'DateTime',context!);
        eventStatus = json['eventStatus'];
        roomSetupCode = json['roomSetupCode'];
        roomSetupDescription = json['roomSetupDescription'];
        roomSetupCapacity = json['roomSetupCapacity'];
        expectedAttendance = json['expectedAttendance'];
        expectedRevenue = JsonConverters.toDouble(json['expectedRevenue']);
        foodRevenue = JsonConverters.toDouble(json['foodRevenue']);
        beverageRevenue = JsonConverters.toDouble(json['beverageRevenue']);
        roomRevenue = JsonConverters.toDouble(json['roomRevenue']);
        resourceRevenue = JsonConverters.toDouble(json['resourceRevenue']);
        otherRevenue = JsonConverters.toDouble(json['otherRevenue']);
        comments = json['comments'];
        externalID = json['externalID'];
        sourceDateCreated = JsonConverters.fromJson(json['sourceDateCreated'],'DateTime',context!);
        sourceCreateUser = json['sourceCreateUser'];
        sourceDateUpdated = JsonConverters.fromJson(json['sourceDateUpdated'],'DateTime',context!);
        sourceUpdateUser = json['sourceUpdateUser'];
        isActive = json['isActive'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        recordStatus = json['recordStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'hotelCode': hotelCode,
        'inventoryCode': inventoryCode,
        'eventStartDate': JsonConverters.toJson(eventStartDate,'DateTime',context!),
        'eventEndDate': JsonConverters.toJson(eventEndDate,'DateTime',context!),
        'eventName': eventName,
        'eventClassification': eventClassification,
        'eventBookedDate': JsonConverters.toJson(eventBookedDate,'DateTime',context!),
        'eventStatus': eventStatus,
        'roomSetupCode': roomSetupCode,
        'roomSetupDescription': roomSetupDescription,
        'roomSetupCapacity': roomSetupCapacity,
        'expectedAttendance': expectedAttendance,
        'expectedRevenue': expectedRevenue,
        'foodRevenue': foodRevenue,
        'beverageRevenue': beverageRevenue,
        'roomRevenue': roomRevenue,
        'resourceRevenue': resourceRevenue,
        'otherRevenue': otherRevenue,
        'comments': comments,
        'externalID': externalID,
        'sourceDateCreated': JsonConverters.toJson(sourceDateCreated,'DateTime',context!),
        'sourceCreateUser': sourceCreateUser,
        'sourceDateUpdated': JsonConverters.toJson(sourceDateUpdated,'DateTime',context!),
        'sourceUpdateUser': sourceUpdateUser,
        'isActive': isActive,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'recordStatus': recordStatus
    };

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

class InventoryBlockRate implements IConvertible
{
    String? cendynPropertyID;
    String? hotelCode;
    String? inventoryCode;
    int? blockCount;
    DateTime? inventoryDay;
    double? rate1;
    double? rate2;
    double? rate3;
    double? rate4;
    double? extraAdult;
    double? extraChild;
    int? blocksSold;
    int? roomsContracted;
    int? roomsReserved;
    bool? isActive;
    DateTime? inactiveDate;
    String? roomBlockID;
    String? roomBlockName;
    String? roomBlockStatus;
    String? recordStatus;

    InventoryBlockRate({this.cendynPropertyID,this.hotelCode,this.inventoryCode,this.blockCount,this.inventoryDay,this.rate1,this.rate2,this.rate3,this.rate4,this.extraAdult,this.extraChild,this.blocksSold,this.roomsContracted,this.roomsReserved,this.isActive,this.inactiveDate,this.roomBlockID,this.roomBlockName,this.roomBlockStatus,this.recordStatus});
    InventoryBlockRate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        hotelCode = json['hotelCode'];
        inventoryCode = json['inventoryCode'];
        blockCount = json['blockCount'];
        inventoryDay = JsonConverters.fromJson(json['inventoryDay'],'DateTime',context!);
        rate1 = JsonConverters.toDouble(json['rate1']);
        rate2 = JsonConverters.toDouble(json['rate2']);
        rate3 = JsonConverters.toDouble(json['rate3']);
        rate4 = JsonConverters.toDouble(json['rate4']);
        extraAdult = JsonConverters.toDouble(json['extraAdult']);
        extraChild = JsonConverters.toDouble(json['extraChild']);
        blocksSold = json['blocksSold'];
        roomsContracted = json['roomsContracted'];
        roomsReserved = json['roomsReserved'];
        isActive = json['isActive'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        roomBlockID = json['roomBlockID'];
        roomBlockName = json['roomBlockName'];
        roomBlockStatus = json['roomBlockStatus'];
        recordStatus = json['recordStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'hotelCode': hotelCode,
        'inventoryCode': inventoryCode,
        'blockCount': blockCount,
        'inventoryDay': JsonConverters.toJson(inventoryDay,'DateTime',context!),
        'rate1': rate1,
        'rate2': rate2,
        'rate3': rate3,
        'rate4': rate4,
        'extraAdult': extraAdult,
        'extraChild': extraChild,
        'blocksSold': blocksSold,
        'roomsContracted': roomsContracted,
        'roomsReserved': roomsReserved,
        'isActive': isActive,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'roomBlockID': roomBlockID,
        'roomBlockName': roomBlockName,
        'roomBlockStatus': roomBlockStatus,
        'recordStatus': recordStatus
    };

    getTypeName() => "InventoryBlockRate";
    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 InventoryBlock implements IConvertible
{
    String? cendynPropertyID;
    String? hotelCode;
    String? actionCode;
    String? blockName;
    String? blockCodeType;
    String? blockType;
    String? inventoryBlockStatus;
    String? groupingCode;
    String? blockCodes;
    String? description;
    String? resortAllotmentId;
    DateTime? blockStartDate;
    DateTime? blockEndDate;
    String? marketCode;
    String? sourceCode;
    String? channelCode;
    DateTime? cutOffStartDate;
    DateTime? cutOffEndDate;
    bool? priceViewable;
    double? averageRate;
    bool? pickupComplete;
    String? comments;
    String? lostReason;
    String? externalID;
    String? sourceName;
    String? sourceID;
    DateTime? sourceDateCreated;
    String? sourceCreateUser;
    DateTime? sourceDateUpdated;
    String? sourceUpdateUser;
    bool? isActive;
    DateTime? inactiveDate;
    String? recordStatus;
    List<InventoryBlockEvent>? inventoryBlockEvents;
    List<InventoryBlockRate>? inventoryBlockRates;
    List<Profile>? profiles;

    InventoryBlock({this.cendynPropertyID,this.hotelCode,this.actionCode,this.blockName,this.blockCodeType,this.blockType,this.inventoryBlockStatus,this.groupingCode,this.blockCodes,this.description,this.resortAllotmentId,this.blockStartDate,this.blockEndDate,this.marketCode,this.sourceCode,this.channelCode,this.cutOffStartDate,this.cutOffEndDate,this.priceViewable,this.averageRate,this.pickupComplete,this.comments,this.lostReason,this.externalID,this.sourceName,this.sourceID,this.sourceDateCreated,this.sourceCreateUser,this.sourceDateUpdated,this.sourceUpdateUser,this.isActive,this.inactiveDate,this.recordStatus,this.inventoryBlockEvents,this.inventoryBlockRates,this.profiles});
    InventoryBlock.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cendynPropertyID = json['cendynPropertyID'];
        hotelCode = json['hotelCode'];
        actionCode = json['actionCode'];
        blockName = json['blockName'];
        blockCodeType = json['blockCodeType'];
        blockType = json['blockType'];
        inventoryBlockStatus = json['inventoryBlockStatus'];
        groupingCode = json['groupingCode'];
        blockCodes = json['blockCodes'];
        description = json['description'];
        resortAllotmentId = json['resortAllotmentId'];
        blockStartDate = JsonConverters.fromJson(json['blockStartDate'],'DateTime',context!);
        blockEndDate = JsonConverters.fromJson(json['blockEndDate'],'DateTime',context!);
        marketCode = json['marketCode'];
        sourceCode = json['sourceCode'];
        channelCode = json['channelCode'];
        cutOffStartDate = JsonConverters.fromJson(json['cutOffStartDate'],'DateTime',context!);
        cutOffEndDate = JsonConverters.fromJson(json['cutOffEndDate'],'DateTime',context!);
        priceViewable = json['priceViewable'];
        averageRate = JsonConverters.toDouble(json['averageRate']);
        pickupComplete = json['pickupComplete'];
        comments = json['comments'];
        lostReason = json['lostReason'];
        externalID = json['externalID'];
        sourceName = json['sourceName'];
        sourceID = json['sourceID'];
        sourceDateCreated = JsonConverters.fromJson(json['sourceDateCreated'],'DateTime',context!);
        sourceCreateUser = json['sourceCreateUser'];
        sourceDateUpdated = JsonConverters.fromJson(json['sourceDateUpdated'],'DateTime',context!);
        sourceUpdateUser = json['sourceUpdateUser'];
        isActive = json['isActive'];
        inactiveDate = JsonConverters.fromJson(json['inactiveDate'],'DateTime',context!);
        recordStatus = json['recordStatus'];
        inventoryBlockEvents = JsonConverters.fromJson(json['inventoryBlockEvents'],'List<InventoryBlockEvent>',context!);
        inventoryBlockRates = JsonConverters.fromJson(json['inventoryBlockRates'],'List<InventoryBlockRate>',context!);
        profiles = JsonConverters.fromJson(json['profiles'],'List<Profile>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cendynPropertyID': cendynPropertyID,
        'hotelCode': hotelCode,
        'actionCode': actionCode,
        'blockName': blockName,
        'blockCodeType': blockCodeType,
        'blockType': blockType,
        'inventoryBlockStatus': inventoryBlockStatus,
        'groupingCode': groupingCode,
        'blockCodes': blockCodes,
        'description': description,
        'resortAllotmentId': resortAllotmentId,
        'blockStartDate': JsonConverters.toJson(blockStartDate,'DateTime',context!),
        'blockEndDate': JsonConverters.toJson(blockEndDate,'DateTime',context!),
        'marketCode': marketCode,
        'sourceCode': sourceCode,
        'channelCode': channelCode,
        'cutOffStartDate': JsonConverters.toJson(cutOffStartDate,'DateTime',context!),
        'cutOffEndDate': JsonConverters.toJson(cutOffEndDate,'DateTime',context!),
        'priceViewable': priceViewable,
        'averageRate': averageRate,
        'pickupComplete': pickupComplete,
        'comments': comments,
        'lostReason': lostReason,
        'externalID': externalID,
        'sourceName': sourceName,
        'sourceID': sourceID,
        'sourceDateCreated': JsonConverters.toJson(sourceDateCreated,'DateTime',context!),
        'sourceCreateUser': sourceCreateUser,
        'sourceDateUpdated': JsonConverters.toJson(sourceDateUpdated,'DateTime',context!),
        'sourceUpdateUser': sourceUpdateUser,
        'isActive': isActive,
        'inactiveDate': JsonConverters.toJson(inactiveDate,'DateTime',context!),
        'recordStatus': recordStatus,
        'inventoryBlockEvents': JsonConverters.toJson(inventoryBlockEvents,'List<InventoryBlockEvent>',context!),
        'inventoryBlockRates': JsonConverters.toJson(inventoryBlockRates,'List<InventoryBlockRate>',context!),
        'profiles': JsonConverters.toJson(profiles,'List<Profile>',context!)
    };

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

class HotelInventoryBlockResponse extends CenResResponse implements IConvertible
{
    List<InventoryBlock>? records;

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

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

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

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

enum InventoryBlockQueryType
{
    Name,
    Id,
    LastUpdated,
}

class HotelInventoryBlockRequest implements IConvertible
{
    String? cendynPropertyId;
    InventoryBlockQueryType? query;
    DateTime? startDate;
    DateTime? endDate;
    String? blockName;
    String? id;
    // @DataMember(Name="Limit")
    int? pageSize;

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

    HotelInventoryBlockRequest({this.cendynPropertyId,this.query,this.startDate,this.endDate,this.blockName,this.id,this.pageSize,this.pageNumber});
    HotelInventoryBlockRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'cendynPropertyId': cendynPropertyId,
        'query': JsonConverters.toJson(query,'InventoryBlockQueryType',context!),
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'blockName': blockName,
        'id': id,
        'pageSize': pageSize,
        'pageNumber': pageNumber
    };

    getTypeName() => "HotelInventoryBlockRequest";
    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()),
    'InventoryBlockEvent': TypeInfo(TypeOf.Class, create:() => InventoryBlockEvent()),
    'InventoryBlockRate': TypeInfo(TypeOf.Class, create:() => InventoryBlockRate()),
    '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>[]),
    'InventoryBlock': TypeInfo(TypeOf.Class, create:() => InventoryBlock()),
    'List<InventoryBlockEvent>': TypeInfo(TypeOf.Class, create:() => <InventoryBlockEvent>[]),
    'List<InventoryBlockRate>': TypeInfo(TypeOf.Class, create:() => <InventoryBlockRate>[]),
    'List<Profile>': TypeInfo(TypeOf.Class, create:() => <Profile>[]),
    'HotelInventoryBlockResponse': TypeInfo(TypeOf.Class, create:() => HotelInventoryBlockResponse()),
    'List<InventoryBlock>': TypeInfo(TypeOf.Class, create:() => <InventoryBlock>[]),
    'InventoryBlockQueryType': TypeInfo(TypeOf.Enum, enumValues:InventoryBlockQueryType.values),
    'HotelInventoryBlockRequest': TypeInfo(TypeOf.Class, create:() => HotelInventoryBlockRequest()),
});

Dart HotelInventoryBlockRequest 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/hotelInventoryBlocks/{Query}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<HotelInventoryBlockResponse 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>
    <InventoryBlock>
      <ActionCode>String</ActionCode>
      <AverageRate>0</AverageRate>
      <BlockCodeType>String</BlockCodeType>
      <BlockCodes>String</BlockCodes>
      <BlockEndDate>0001-01-01T00:00:00</BlockEndDate>
      <BlockName>String</BlockName>
      <BlockStartDate>0001-01-01T00:00:00</BlockStartDate>
      <BlockType>String</BlockType>
      <CendynPropertyID>String</CendynPropertyID>
      <ChannelCode>String</ChannelCode>
      <Comments>String</Comments>
      <CutOffEndDate>0001-01-01T00:00:00</CutOffEndDate>
      <CutOffStartDate>0001-01-01T00:00:00</CutOffStartDate>
      <Description>String</Description>
      <ExternalID>String</ExternalID>
      <GroupingCode>String</GroupingCode>
      <HotelCode>String</HotelCode>
      <InactiveDate>0001-01-01T00:00:00</InactiveDate>
      <InventoryBlockEvents>
        <InventoryBlockEvent>
          <BeverageRevenue>0</BeverageRevenue>
          <CendynPropertyID>String</CendynPropertyID>
          <Comments>String</Comments>
          <EventBookedDate>0001-01-01T00:00:00</EventBookedDate>
          <EventClassification>String</EventClassification>
          <EventEndDate>0001-01-01T00:00:00</EventEndDate>
          <EventName>String</EventName>
          <EventStartDate>0001-01-01T00:00:00</EventStartDate>
          <EventStatus>String</EventStatus>
          <ExpectedAttendance>0</ExpectedAttendance>
          <ExpectedRevenue>0</ExpectedRevenue>
          <ExternalID>String</ExternalID>
          <FoodRevenue>0</FoodRevenue>
          <HotelCode>String</HotelCode>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <InventoryCode>String</InventoryCode>
          <IsActive>false</IsActive>
          <OtherRevenue>0</OtherRevenue>
          <RecordStatus>String</RecordStatus>
          <ResourceRevenue>0</ResourceRevenue>
          <RoomRevenue>0</RoomRevenue>
          <RoomSetupCapacity>0</RoomSetupCapacity>
          <RoomSetupCode>String</RoomSetupCode>
          <RoomSetupDescription>String</RoomSetupDescription>
          <SourceCreateUser>String</SourceCreateUser>
          <SourceDateCreated>0001-01-01T00:00:00</SourceDateCreated>
          <SourceDateUpdated>0001-01-01T00:00:00</SourceDateUpdated>
          <SourceUpdateUser>String</SourceUpdateUser>
        </InventoryBlockEvent>
      </InventoryBlockEvents>
      <InventoryBlockRates>
        <InventoryBlockRate>
          <BlockCount>0</BlockCount>
          <BlocksSold>0</BlocksSold>
          <CendynPropertyID>String</CendynPropertyID>
          <ExtraAdult>0</ExtraAdult>
          <ExtraChild>0</ExtraChild>
          <HotelCode>String</HotelCode>
          <InactiveDate>0001-01-01T00:00:00</InactiveDate>
          <InventoryCode>String</InventoryCode>
          <InventoryDay>0001-01-01T00:00:00</InventoryDay>
          <IsActive>false</IsActive>
          <Rate1>0</Rate1>
          <Rate2>0</Rate2>
          <Rate3>0</Rate3>
          <Rate4>0</Rate4>
          <RecordStatus>String</RecordStatus>
          <RoomBlockID>String</RoomBlockID>
          <RoomBlockName>String</RoomBlockName>
          <RoomBlockStatus>String</RoomBlockStatus>
          <RoomsContracted>0</RoomsContracted>
          <RoomsReserved>0</RoomsReserved>
        </InventoryBlockRate>
      </InventoryBlockRates>
      <InventoryBlockStatus>String</InventoryBlockStatus>
      <IsActive>false</IsActive>
      <LostReason>String</LostReason>
      <MarketCode>String</MarketCode>
      <PickupComplete>false</PickupComplete>
      <PriceViewable>false</PriceViewable>
      <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>
      <RecordStatus>String</RecordStatus>
      <ResortAllotmentId>String</ResortAllotmentId>
      <SourceCode>String</SourceCode>
      <SourceCreateUser>String</SourceCreateUser>
      <SourceDateCreated>0001-01-01T00:00:00</SourceDateCreated>
      <SourceDateUpdated>0001-01-01T00:00:00</SourceDateUpdated>
      <SourceID>String</SourceID>
      <SourceName>String</SourceName>
      <SourceUpdateUser>String</SourceUpdateUser>
    </InventoryBlock>
  </Records>
</HotelInventoryBlockResponse>