/* Options: Date: 2026-04-23 04:08:06 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateCustomerArticle.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/customerarticle", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @ValidateRequest(Validator="IsAuthenticated") open class CreateCustomerArticle : IReturn, ICompany { /** * The company id, if empty will use the company id for the user you are logged in with. */ @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") override var CompanyId:UUID? = null /** * The article id to base this customer article on */ @ApiMember(Description="The article id to base this customer article on", IsRequired=true) open var ArticleId:Int? = null /** * The customer id to assign the article to */ @ApiMember(Description="The customer id to assign the article to", IsRequired=true) open var CustomerId:UUID? = null /** * The status of the customer article */ @ApiMember(Description="The status of the customer article") open var StatusId:CustomerArticleStatusEnum? = null /** * Optional price override. If not provided, uses the article price. */ @ApiMember(Description="Optional price override. If not provided, uses the article price.") open var Price:BigDecimal? = null /** * Optional VAT override. If not provided, uses the article VAT. */ @ApiMember(Description="Optional VAT override. If not provided, uses the article VAT.") open var VAT:BigDecimal? = null /** * Optional currency override. If not provided, uses the article currency. */ @ApiMember(Description="Optional currency override. If not provided, uses the article currency.") open var CurrencyId:String? = null companion object { private val responseType = CustomerArticleResponse::class.java } override fun getResponseType(): Any? = CreateCustomerArticle.responseType } open class CustomerArticleResponse { open var Id:Int? = null open var CompanyId:UUID? = null open var ArticleId:Int? = null open var Price:BigDecimal? = null open var VAT:BigDecimal? = null open var CurrencyId:String? = null open var StatusId:Int? = null open var StatusName:String? = null open var CustomerId:UUID? = null open var CreatedDate:Date? = null open var UpdatedDate:Date? = null open var Article:ArticleResponse? = null open var Customer:CustomerArticleCustomerResponse? = null open var Company:CustomerArticleCompanyResponse? = null open var PaymentLog:ArrayList = ArrayList() open var ResponseStatus:ResponseStatus? = null } interface ICompany { var CompanyId:UUID? } enum class CustomerArticleStatusEnum(val value:Int) { AwaitingPayment(1), AwaitingPaymentFromProvider(2), AwaitingPaymentNoTimeLimit(3), Active(4), Off(5), } open class CustomerArticleCustomerResponse { open var Id:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null } open class CustomerArticleCompanyResponse { open var Id:UUID? = null open var Name:String? = null open var LogoType:String? = null open var Email:String? = null open var Phone:String? = null open var City:String? = null open var Street1:String? = null open var ZipCode:String? = null open var CountryId:String? = null } open class PaymentLogResponse { open var Id:Int? = null open var Amount:Double? = null open var AmountCredited:Double? = null open var CurrencyId:String? = null open var Comments:String? = null open var Created:Date? = null open var Updated:Date? = null } open class ArticleResponse { open var CompanyId:UUID? = null open var Id:Int? = null open var Name:String? = null open var ArticleTypeId:Int? = null open var Description:String? = null open var ImageUrl:String? = null open var Active:Boolean? = null open var Amount:Int? = null open var Price:Double? = null open var CurrencyId:String? = null open var SortOrder:Int? = null open var UpdatedDate:Date? = null open var CreatedDate:Date? = null open var Duration:Int? = null open var Services:ArrayList = ArrayList() open var ServiceIds:ArrayList = ArrayList() open var PriceSign:String? = null open var VAT:BigDecimal? = null open var ValidDays:Int? = null open var SendNotification:Boolean? = null open var NotificationEmail:String? = null }