/* Options: Date: 2026-04-23 04:09:16 SwiftVersion: 6.0 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: UpdateCustomerArticle.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/customerarticle/{Id}", "PUT") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") public class UpdateCustomerArticle : IReturn, ICompany, Codable { public typealias Return = CustomerArticleResponse /** * The customer article id */ // @ApiMember(Description="The customer article id", IsRequired=true, ParameterType="path") public var id:Int? /** * 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.") public var companyId:String? /** * The new status of the customer article */ // @ApiMember(Description="The new status of the customer article") public var statusId:CustomerArticleStatusEnum? /** * Updated price */ // @ApiMember(Description="Updated price") public var price:Double? /** * Updated VAT */ // @ApiMember(Description="Updated VAT") public var vat:Double? /** * Updated currency */ // @ApiMember(Description="Updated currency") public var currencyId:String? required public init(){} } public class CustomerArticleResponse : Codable { public var id:Int? public var companyId:String? public var articleId:Int? public var price:Double? public var vat:Double? public var currencyId:String? public var statusId:Int? public var statusName:String? public var customerId:String? public var createdDate:Date? public var updatedDate:Date? public var article:ArticleResponse? public var customer:CustomerArticleCustomerResponse? public var company:CustomerArticleCompanyResponse? public var paymentLog:[PaymentLogResponse] = [] public var responseStatus:ResponseStatus? required public init(){} } public protocol ICompany { var companyId:String? { get set } } public enum CustomerArticleStatusEnum : Int, Codable { case AwaitingPayment = 1 case AwaitingPaymentFromProvider = 2 case AwaitingPaymentNoTimeLimit = 3 case Active = 4 case Off = 5 } public class CustomerArticleCustomerResponse : Codable { public var id:String? public var firstname:String? public var lastname:String? public var email:String? public var phone:String? required public init(){} } public class CustomerArticleCompanyResponse : Codable { public var id:String? public var name:String? public var logoType:String? public var email:String? public var phone:String? public var city:String? public var street1:String? public var zipCode:String? public var countryId:String? required public init(){} } public class PaymentLogResponse : Codable { public var id:Int? public var amount:Double? public var amountCredited:Double? public var currencyId:String? public var comments:String? public var created:Date? public var updated:Date? required public init(){} } public class ArticleResponse : Codable { public var companyId:String? public var id:Int? public var name:String? public var articleTypeId:Int? public var Description:String? public var imageUrl:String? public var active:Bool? public var amount:Int? public var price:Double? public var currencyId:String? public var sortOrder:Int? public var updatedDate:Date? public var createdDate:Date? public var duration:Int? public var services:[ArticleServiceRelation] = [] public var serviceIds:[Int] = [] public var priceSign:String? public var vat:Double? public var validDays:Int? public var sendNotification:Bool? public var notificationEmail:String? required public init(){} }