/* Options: Date: 2025-09-15 14:36:44 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CollidingBookingQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/timeexceptions/collidingevents", "GET") // @ApiResponse(Description="The request parameters was not valid", StatusCode=400) // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") public class CollidingBookingQuery : IReturn, Codable { public typealias Return = CollidingBookingQueryResponse /** * 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? /** * Resource ids of the resource that should be matched against booked events */ // @ApiMember(Description="Resource ids of the resource that should be matched against booked events") public var resourceIds:[Int]? /** * Time exception starting date */ // @ApiMember(Description="Time exception starting date") public var from:Date? /** * Time exception ending date */ // @ApiMember(Description="Time exception ending date") public var to:Date? /** * This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the start time for each recurring day. */ // @ApiMember(Description="This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the start time for each recurring day.") @TimeSpan public var fromTime:TimeInterval? /** * This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day. */ // @ApiMember(Description="This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.") @TimeSpan public var toTime:TimeInterval? /** * A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday */ // @ApiMember(Description="A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday") public var daysOfWeek:[Int]? /** * If you want to include the service information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") public var includeServiceInformation:Bool? /** * If you want to include the customer information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") public var includeCustomerInformation:Bool? required public init(){} } public class CollidingBookingQueryResponse : Codable { /** * Resource id of the resource that owns this exception */ // @ApiMember(Description="Resource id of the resource that owns this exception") public var resourceIds:[Int]? /** * A list of bookings that would collide with the time exception */ // @ApiMember(Description="A list of bookings that would collide with the time exception") public var bookings:[BookingIntervalResponse]? public var responseStatus:ResponseStatus? required public init(){} } public enum BookingStatusEnum : Int, Codable { case Booked = 1 case Unbooked = 2 case Reserved = 3 case Canceled = 4 case AwaitingPayment = 5 case AwaitingPaymentNoTimeLimit = 6 case Payed = 7 case AwaitingPaymentRequestFromAdmin = 8 case AwaitingPaymentFromProvider = 9 case Invoiced = 10 } public class GroupBookingSettings : Codable { public var active:Bool? public var min:Int? public var max:Int? required public init(){} } public class MultipleResourceSettings : Codable { public var active:Bool? public var min:Int? public var max:Int? required public init(){} } public class ServiceInfoResponse : Codable { public var id:Int? public var name:String? public var Description:String? public var imageUrl:Uri? public var lengthInMinutes:Int? public var maxNumberOfSpotsPerBooking:Int? public var minNumberOfSpotsPerBooking:Int? public var groupBooking:GroupBookingSettings? public var multipleResource:MultipleResourceSettings? public var isGroupBooking:Bool? public var isPaymentEnabled:Bool? required public init(){} } public class BookedCustomer : 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:String? public var corporateIdentityNumber:String? public var invoiceAddress1:String? public var invoiceAddress2:String? public var invoiceCity:String? public var invoicePostalCode:String? public var invoiceCountryCode:String? required public init(){} } public class BookingIntervalResponse : Codable { public var id:Int? public var companyId:String? public var from:Date? public var to:Date? public var status:BookingStatusEnum? public var statusId:Int? public var statusName:String? public var customer:BookedCustomer? public var service:ServiceInfoResponse? public var createdDate:Date? required public init(){} }