/* Options:
Date: 2025-04-14 09:16:40
Version: 8.0
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://consumer-api.brovs.com

//Package: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: ProfileGetRequest.*
//ExcludeTypes: 
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*
import java.util.*
import net.servicestack.client.*


@Route(Path="/profile", Verbs="GET")
open class ProfileGetRequest : IReturn<ProfileGetResponse>, IGet
{
    companion object { private val responseType = ProfileGetResponse::class.java }
    override fun getResponseType(): Any? = ProfileGetRequest.responseType
}

open class ProfileGetResponse
{
    var userProfile:UserProfileDto? = null
}

open class DateOfBirth
{
    var year:Int? = null
    var month:Int? = null
    var dayOfMonth:Int? = null
}

enum class Sex
{
    Male,
    Female,
}

enum class DistanceUnit
{
    Kilometer,
    Mile,
}

enum class Locale
{
    EnUs,
    NbNo,
}

open class HomeLocation
{
    var address:UserAddress? = null
    var latitude:Float? = null
    var longitude:Float? = null
}

open class UserProfileDto
{
    var locale:Locale? = null
    var userGuid:UUID? = null
    var firstName:String? = null
    var lastName:String? = null
    var profilePhotoUrl:String? = null
    var mobilePhone:String? = null
    var mobilePhoneVerified:Boolean? = null
    var email:String? = null
    var emailVerified:Boolean? = null
    var hasPassword:Boolean? = null
    var dateOfBirth:DateOfBirth? = null
    var sex:Sex? = null
    var home:HomeLocation? = null
    var showDistancesIn:DistanceUnit? = null
    var managesPlacesInBusinessWeb:Boolean? = null
    var pointsTotal:Long? = null
}

open class UserAddress
{
    var streetName:String? = null
    var streetNumber:String? = null
    var postalCode:String? = null
    var region:String? = null
    var countryCode:String? = null
}