/* Options: Date: 2025-03-15 04:38:59 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.sanctionssearch.com/v2 //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateClient.* //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="/clients/{Id}", Verbs="PUT") @DataContract open class UpdateClient : BaseRequest(), IReturn { @DataMember @ApiMember(IsRequired=true, ParameterType="path") var id:Int? = null @DataMember var request:Client? = null companion object { private val responseType = UpdateClientResponse::class.java } override fun getResponseType(): Any? = UpdateClient.responseType } @DataContract open class UpdateClientResponse { @DataMember @SerializedName("data") var Data:UpdateClientData? = null } @DataContract open class Authentication { /** * The API User ID provided by us when you signed up to use our API */ @DataMember @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body") var apiUserId:String? = null /** * The API User Key provided by us when you signed up to use our API */ @DataMember @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body") var apiUserKey:String? = null } @DataContract open class BaseRequest : IBaseRequest { /** * The authentication credentials */ @DataMember @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") var authentication:Authentication? = null } open interface IBaseRequest { var authentication:Authentication? } @DataContract(Name="ClientState", Namespace="http://schemas.servicestack.net/types") enum class ClientState { Undefined, PendingCompletion, PendingOcr, PendingVerification, Verified, } open class Client { var id:Int? = null var dateCreated:Date? = null var name:String? = null var email:String? = null var reference:String? = null var state:ClientState? = null var mobileInternational:String? = null var postCode:String? = null var isValidateMe:Boolean? = null var face:Face? = null var video:Video? = null var location:Location? = null var numOfDocuments:Int? = null var passports:ArrayOfPassports? = null var drivingLicences:ArrayOfDrivingLicences? = null var otherDocuments:ArrayOfOtherDocuments? = null var proofOfDocumentCategories:ArrayOfProofOfDocumentCategories? = null } open class UpdateClientData : BaseResponse() { var client:Client? = null } open class ArrayOfProofOfDocumentCategories : ArrayList() { } open class Face { var age:Double? = null var gender:String? = null var emotion:String? = null var smile:Double? = null var hairColour:String? = null var facialHair:String? = null var makeup:String? = null var glasses:String? = null var accessories:String? = null } open class Video { var id:Int? = null var videoUrl:String? = null var imageUrl:String? = null var videoTimestamps:ArrayList = ArrayList() } open class Location { var latitude:Double? = null var longitude:Double? = null } open class ArrayOfPassports : ArrayList() { } open class ArrayOfDrivingLicences : ArrayList() { } open class ArrayOfOtherDocuments : ArrayList() { } open class BaseResponse : IBaseDataResponse, IHasResponseStatus { /** * The status of the response */ @ApiMember(Description="The status of the response") var responseStatus:ResponseStatus? = null } open interface IBaseDataResponse { var responseStatus:ResponseStatus? } open interface IHasResponseStatus { var responseStatus:ResponseStatus? } open class ProofOfDocumentCategory { /** * The ID of the ProofOfDocumentCategory */ @ApiMember(Description="The ID of the ProofOfDocumentCategory", IsRequired=true) var id:Int? = null /** * The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work') */ @ApiMember(Description="The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')", IsRequired=true) var proofOf:String? = null /** * The documents that can be used to provide proof for the specified category. */ @ApiMember(Description="The documents that can be used to provide proof for the specified category.", IsRequired=true) var proofOfDocuments:ArrayOfProofOfDocuments? = null } open class VideoTimestamp { var tagName:String? = null var milli:Int? = null var imageUrl:String? = null } open class Passport { var clientFileId:Int? = null var firstName:String? = null var middleName:String? = null var lastName:String? = null var dateOfBirth:String? = null var gender:String? = null var mrzLineOne:String? = null var mrzLineTwo1:String? = null var mrzLineTwo2:String? = null var mrzLineTwo3:String? = null var mrzLineTwo4:String? = null var mrzLineTwo5:String? = null var mrzLineTwo6:String? = null var mrzLineTwo7:String? = null var mrzLineTwo8:String? = null var images:ArrayOfImages? = null var isVerified:Boolean? = null var isFaceMatch:Boolean? = null var faceMatchConfidence:BigDecimal? = null var hasPcvSearch:Boolean? = null var hasDfaSearch:Boolean? = null var isPassportChipVerified:Boolean? = null var passportChipData:PassportChipData? = null var isEligibleForPcv:Boolean? = null var isEligibleForDfa:Boolean? = null } open class DrivingLicence { var clientFileId:Int? = null var firstName:String? = null var middleName:String? = null var lastName:String? = null var dateOfBirth:String? = null var address:String? = null var drivingLicenceNumber:String? = null var images:ArrayOfImages? = null var isVerified:Boolean? = null var isFaceMatch:Boolean? = null var faceMatchConfidence:BigDecimal? = null var hasDfaSearch:Boolean? = null } open class OtherDocument { var clientFileId:Int? = null @SerializedName("type") var Type:String? = null var typeOther:String? = null var description:String? = null var originalImageUrl:String? = null var croppedImageUrl:String? = null var isVerified:Boolean? = null } open class ArrayOfResponseError : ArrayList() { } open class ArrayOfProofOfDocuments : ArrayList() { } open class ArrayOfImages : ArrayList() { } open class PassportChipData { var isIssuerVerified:Boolean? = null var issuerCommonName:String? = null var issuerOrganisationName:String? = null var issuerCountry:String? = null var mrzLine1:String? = null var mrzLine2:String? = null var isMrzLine1Verified:Boolean? = null var isMrzLine2Verified:Boolean? = null var dataGroupsVerified:ArrayList? = null var dataGroupsFailed:ArrayList? = null var isFaceMatch:Boolean? = null var faceMatchConfidence:BigDecimal? = null } open class Image { var id:Int? = null var name:String? = null var ocrId:Int? = null var url:String? = null } open class ProofOfDocument { /** * The ID of the ProofOfDocument */ @ApiMember(Description="The ID of the ProofOfDocument", IsRequired=true) var id:Int? = null /** * The name of the ProofOfDocument */ @ApiMember(Description="The name of the ProofOfDocument", IsRequired=true) var name:String? = null }