/* Options: Date: 2024-07-03 13:05:36 SwiftVersion: 5.0 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: NewsletterCustomerQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/newsletter/customers", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") public class NewsletterCustomerQuery : IReturn, ICompany, Codable { public typealias Return = NewsletterCustomerQueryResponse /** * 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? /** * Search for customer has done minimum number of bookings. */ // @ApiMember(Description="Search for customer has done minimum number of bookings.") public var customerMinBookings:Int? /** * Search for customer has done maximum number of bookings. */ // @ApiMember(Description="Search for customer has done maximum number of bookings.") public var customerMaxBookings:Int? /** * Search for customer has booked any of the service in the list (List contain service id's). */ // @ApiMember(Description="Search for customer has booked any of the service in the list (List contain service id's).") public var bookedServiceIds:[Int] = [] /** * Search interval From datetime . */ // @ApiMember(Description="Search interval From datetime .") public var from:Date? /** * Search interval To datetime . */ // @ApiMember(Description="Search interval To datetime .") public var to:Date? /** * The max number of records you want to collect */ // @ApiMember(Description="The max number of records you want to collect") public var maxRecords:Int? /** * If you want to include the full customer information in the response */ // @ApiMember(Description="If you want to include the full customer information in the response") public var includeCustomerInformation:Bool required public init(){} } public class NewsletterCustomerQueryResponse : Codable { public var id:String public var customer:NewsletterCustomerInfo required public init(){} } public protocol ICompany { var companyId:String? { get set } } public class NewsletterCustomerInfo : Codable { public var id:String public var firstname:String public var lastname:String public var email:String public var phone:String public var facebookUserName:String public var imageUrl:Uri required public init(){} }