title: String?, val order: Long?, val type: String?, val fieldValueId: Long? ) { data class StandardFieldValue( private val _fieldId: Long?, private val _value: String?, private val _title: String?, private val _order: Long?, private val _type: String?, private val _fieldValueId: Long? ) : DealCustomFieldValue( _fieldId, _value, _title, _order, _type, _fieldValueId ) data class NumberFieldValue( private val _fieldId: Long?, private val _value: String?, private val _title: String?, private val _order: Long?, private val _type: String?, private val _fieldValueId: Long? ) : DealCustomFieldValue( _fieldId, _value, _title, _order, _type, _fieldValueId ) data class CurrencyFieldValue( private val _fieldId: Long?, private val _value: String?, private val _title: String?, private val _order: Long?, private val _type: String?, private val _fieldValueId: Long?, val fieldCurrency: String?, val currencyPosition: String? ) : DealCustomFieldValue( _fieldId, _value, _title, _order, _type, _fieldValueId ) } sealed class DealCustomFieldValue { abstract val fieldId: Long? abstract val value: String? abstract val title: String? abstract val order: Long? abstract val type: String? abstract val fieldValueId: Long? data class StandardFieldValue( override val fieldId: Long?, override val value: String?, override val title: String?, override val order: Long?, override val type: String?, override val fieldValueId: Long? ) : DealCustomFieldValue() data class NumberFieldValue( override val fieldId: Long?, override val value: String?, override val title: String?, override val order: Long?, override val type: String?, override val fieldValueId: Long? ) : DealCustomFieldValue() data class CurrencyFieldValue( override val fieldId: Long?, override val value: String?, override val title: String?, override val order: Long?, override val type: String?, override val fieldValueId: Long?, val fieldCurrency: String?, val currencyPosition: String? ) : DealCustomFieldValue() }