/* Options: Date: 2026-10-08 22:18:37 Version: 6.21 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cert.cendyn.com/CenResServiceR2Test //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ProfileRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/v2/profile/{Query}", Verbs="GET") // @Route(Path="/v2/profile/{Query}/{CendynPropertyId}", Verbs="GET") open class ProfileRequest : IReturn { var cendynPropertyId:String? = null var query:ProfileQueryType? = null var id:String? = null var membershipId:String? = null var emailAddress:String? = null var lastName:String? = null var firstName:String? = null var phoneNumber:String? = null var startDate:Date? = null var endDate:Date? = null @DataMember(Name="Limit") @SerializedName("Limit") var pageSize:Int? = null @DataMember(Name="Page") @SerializedName("Page") var pageNumber:Int? = null companion object { private val responseType = ProfileResponse::class.java } override fun getResponseType(): Any? = ProfileRequest.responseType } open class ProfileResponse : CenResResponse() { var records:ArrayList = ArrayList() } enum class ProfileQueryType { ProfileId, Name, LastUpdated, Email, MembershipId, PhoneNumber, } enum class RequestStatus { Success, Warning, Error, NotAuthorized, Failure, } open class CenResResponse { var status:RequestStatus? = null var statusMessage:String? = null var recordsReturned:Int? = null var recordsAvailable:Int? = null var pageNumber:Int? = null var pageSize:Int? = null } open class Profile { var cendynPropertyID:String? = null var propertyName:String? = null var uniqueIDs:ArrayList = ArrayList() var profileTypeCode:String? = null var profileTypeDescription:String? = null var nameCode:String? = null var profileTypeCategory:String? = null var jobTitle:String? = null var salutation:String? = null var firstName:String? = null var familiarName:String? = null var middleName:String? = null var lastName:String? = null var fullName:String? = null var nameSuffix:String? = null var vipid:String? = null var vipCode:String? = null var primaryLanguage:String? = null var genderCode:String? = null var dobYear:String? = null var dobMonth:String? = null var dobDayOfMonth:String? = null var companyName:String? = null var arNumber:String? = null var allowMail:Boolean? = null var allowEMail:Boolean? = null var guestPriv:Boolean? = null var allowPhone:Boolean? = null var allowSMS:Boolean? = null var allowHistory:Boolean? = null var allowMarketResearch:Boolean? = null var allowThirdParty:Boolean? = null var allowLoyaltyProgram:Boolean? = null var creatorCode:String? = null var lastUpdaterCode:String? = null var dateProfileCreated:Date? = null var dateProfileUpdated:Date? = null var inactiveDate:Date? = null var nationality:String? = null var resortCode:String? = null var retiredProfileId:String? = null var transferredSubscriptionId:String? = null var sourceName:String? = null var sourceID:String? = null var optOutMarketing:Boolean? = null var optOutDate:Date? = null var profileExtension:ProfileExtension? = null var addresses:ArrayList
= ArrayList
() var memberships:ArrayList = ArrayList() var contactMethods:ArrayList = ArrayList() var actionComments:ArrayList = ArrayList() var specialRequests:ArrayList = ArrayList() var udfDataCollection:ArrayList = ArrayList() var lead:Lead? = null var relatedTravelers:ArrayList = ArrayList() var documents:ArrayList = ArrayList() var vouchers:ArrayList = ArrayList() var profilePolicies:ArrayList = ArrayList() } open class UniqueIDType { var id:String? = null @SerializedName("type") var Type:String? = null var context:String? = null } open class ProfileExtension { var languageCode:String? = null var salutationExt:String? = null var firstNameExt:String? = null var familiarNameExt:String? = null var middleNameExt:String? = null var lastNameExt:String? = null var nameSuffixExt:String? = null var companyNameExt:String? = null var blacklist:String? = null var blackListMessage:String? = null var anonymizationStatus:String? = null } open class Address { var addressTypeCode:String? = null var addressTypeDescription:String? = null var addressStatus:String? = null var attn:String? = null var address1:String? = null var address2:String? = null var city:String? = null var stateProvince:String? = null var postalCode:String? = null var countryCode:String? = null var isPrimary:Boolean? = null var addressLanguage:String? = null var addressCleansed:Boolean? = null var optOutMarketing:Boolean? = null var optOutDate:Date? = null } open class Membership { var externalID:String? = null var programCode:String? = null var membershipID:String? = null var membershipCategory:String? = null var membershipName:String? = null var membershipLevel:String? = null var membershipStatus:String? = null var enrollmentCode:String? = null var dateMembershipStarts:Date? = null var dateMembershipExpires:Date? = null var totalStays:Int? = null var awardCredits:Int? = null var awardAvailable:Int? = null var primaryAirline:Boolean? = null var displaySequence:Int? = null var sourceName:String? = null var sourceID:String? = null var isActive:Boolean? = null var inactiveDate:Date? = null var pointsIndicator:Boolean? = null } open class ContactMethod { @SerializedName("type") var Type:String? = null var category:String? = null var dataValue:String? = null var extraData:String? = null var optOut:Boolean? = null var sourceDate:Date? = null var isPrimary:Boolean? = null var confirmation:Boolean? = null var inactiveDate:Date? = null var optOutMarketing:Boolean? = null var optOutDate:Date? = null } open class ActionComment { var externalID:String? = null var commentType:String? = null var commentTitle:String? = null var commentClass:String? = null var actionType:String? = null var comment:String? = null var actionDate:Date? = null var inactiveDate:Date? = null var guestViewable:Boolean? = null var creatorCode:String? = null var dateCommentCreated:Date? = null var resortCode:String? = null } open class SpecialRequest { var externalID:String? = null var requestType:String? = null var requestCode:String? = null var requestComments:String? = null var resortField:String? = null var actionTypeCode:String? = null var actionType:String? = null var inactiveDate:Date? = null } open class UDFDataType { var cendynPropertyID:String? = null var moduleName:String? = null var tableName:String? = null var columnName:String? = null var udfValue:String? = null } open class Lead { var fK_Reservation:UUID? = null var externalLeadID:String? = null var externalLeadSource:String? = null var leadStatus:String? = null var leadAcquired:Date? = null var tentativeStartDate:Date? = null var tentativeEndDate:Date? = null var assignedAgent:String? = null var assignedDate:Date? = null var contactMethod:String? = null var contactAgent:String? = null var contactDate:Date? = null var lastFollowupMethod:String? = null var lastFollowupAgent:String? = null var lastFollowupDate:Date? = null var bookingMethod:String? = null var bookingAgent:String? = null var bookingDate:Date? = null var reasonforStay:String? = null var marketCode:String? = null var campaignCode:String? = null var campaignName:String? = null var priceEstimate:BigDecimal? = null var flaggedForAttention:Boolean? = null } open class RelatedTraveler { var cendynPropertyID:String? = null var propertyName:String? = null var uniqueIDs:ArrayList = ArrayList() var salutation:String? = null var firstName:String? = null var familiarName:String? = null var middleName:String? = null var lastName:String? = null var fullName:String? = null var suffix:String? = null var relation:String? = null var isPrimary:Boolean? = null } open class Document { var documentID:String? = null var documentType:String? = null var documentSource:String? = null var codeOnDocument:String? = null var documentNotes:String? = null var nameOnDocument:String? = null var nationalityOnDocument:String? = null var effectiveDate:Date? = null var expirationDate:Date? = null var issuer:String? = null var issuerCountry:String? = null var isPrimary:Boolean? = null var piI_StoredAs:String? = null var inactiveDate:Date? = null } open class Voucher { var hotelCode:String? = null var voucherID:String? = null var voucherID2:String? = null var appliedToResort:String? = null var reservationID:String? = null var profileIDRecipient:String? = null var subscriberIDRecipient:String? = null var recipientName:String? = null var emailaddress:String? = null var profileIDPurchaser:String? = null var purchaserName:String? = null var voucherStatus:String? = null var voucherType:String? = null var membershipType:String? = null var certCode:String? = null var certNo:String? = null var shortDescription:String? = null var giftMessage:String? = null var comments:String? = null var voucherAmount:BigDecimal? = null var currencyCode:String? = null var issueType:String? = null var dateConsumed:Date? = null var expirationDate:Date? = null var awardPoints:Int? = null var ruleType:String? = null var ruleValue:String? = null var cancelAllowed:Boolean? = null var maxExtensions:Int? = null var referenceType:String? = null var referenceID:String? = null var promotionCode:String? = null var reservationConsumed:Boolean? = null var webConsumed:Boolean? = null var pmsConsumed:Boolean? = null var verifyCertNo:Boolean? = null var generateInLieu:Boolean? = null var creatorCode:String? = null var lastUpdaterCode:String? = null var folioID:String? = null var inactiveDate:Date? = null } open class ProfilePolicy { var policyType:String? = null var attributeName:String? = null var integerValue:Int? = null var stringValue:String? = null var effectiveDate:Date? = null var expirationDate:Date? = null var comments:String? = null var externalID:String? = null var appliesTo:String? = null var appliesToDescriptor:String? = null }