/* Options: Date: 2025-08-23 18:25:30 SwiftVersion: 5.0 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GDPRCustomerQuery.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/gdpr/customers/{CustomerId}", "GET") // @ValidateRequest(Validator="IsAuthenticated") public class GDPRCustomerQuery : IReturn, ICompany, Codable { public typealias Return = GDPRCustomerQueryResponse /** * Enter the company and id you want to see the information for a resource, if blank company id and you are an admin, your company id will be used. If blank id, all resources will be shown */ // @ApiMember(Description="Enter the company and id you want to see the information for a resource, if blank company id and you are an admin, your company id will be used. If blank id, all resources will be shown ", IsRequired=true, ParameterType="query") public var companyId:String? /** * Id of the customer */ // @ApiMember(Description="Id of the customer", IsRequired=true, ParameterType="path") public var customerId:String required public init(){} } public class GDPRCustomerQueryResponse : Codable { /** * List of all bookings associated with the customer */ // @ApiMember(Description="List of all bookings associated with the customer") public var bookings:[GDPRCustomerBookingsResponse] = [] /** * List of all message logs associated with the customer */ // @ApiMember(Description="List of all message logs associated with the customer") public var messageLog:[GDPRCustomerMessageLogResponse] = [] /** * The user profile information for the customer */ // @ApiMember(Description="The user profile information for the customer") public var userProfile:UserProfileResponse /** * Detailed customer information */ // @ApiMember(Description="Detailed customer information") public var customer:GDPRCustomerInfoResponse /** * List of all comments associated with the customer */ // @ApiMember(Description="List of all comments associated with the customer") public var customerComment:[GDPRCustomerCommentsResponse] = [] /** * List of all newsletter logs associated with the customer */ // @ApiMember(Description="List of all newsletter logs associated with the customer") public var newsletterLog:[GDPRCustomerNewsletterLogResponse] = [] /** * Response status information */ // @ApiMember(Description="Response status information") public var responseStatus:ResponseStatus required public init(){} } public protocol ICompany { var companyId:String? { get set } } public class InvoiceAddressResponse : Codable { public var invoiceAddressId:String public var userId: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 GDPRCustomerBookingsResponse : Codable { /** * The company ID associated with this booking */ // @ApiMember(Description="The company ID associated with this booking") public var companyId:String /** * The unique identifier of the booking */ // @ApiMember(Description="The unique identifier of the booking") public var id:Int /** * The customer ID associated with this booking */ // @ApiMember(Description="The customer ID associated with this booking") public var customerId:String /** * The service ID for this booking */ // @ApiMember(Description="The service ID for this booking") public var serviceId:Int /** * The current status of the booking */ // @ApiMember(Description="The current status of the booking") public var statusId:Int /** * The start date and time of the booking */ // @ApiMember(Description="The start date and time of the booking") public var from:Date /** * The end date and time of the booking */ // @ApiMember(Description="The end date and time of the booking") public var to:Date /** * The date when the booking was cancelled or unbooked */ // @ApiMember(Description="The date when the booking was cancelled or unbooked") public var unbookedOn:Date? /** * Comments added when the booking was cancelled */ // @ApiMember(Description="Comments added when the booking was cancelled") public var unbookedComments:String /** * Comments added when the booking was created */ // @ApiMember(Description="Comments added when the booking was created") public var bookedComments:String /** * The name of the person who made the booking */ // @ApiMember(Description="The name of the person who made the booking") public var bookedBy:String /** * General comments about the booking */ // @ApiMember(Description="General comments about the booking") public var comments:String /** * Custom text field 1 */ // @ApiMember(Description="Custom text field 1") public var textField1:String /** * Custom text field 2 */ // @ApiMember(Description="Custom text field 2") public var textField2:String /** * Custom text field 3 */ // @ApiMember(Description="Custom text field 3") public var textField3:String /** * Custom text field 4 */ // @ApiMember(Description="Custom text field 4") public var textField4:String /** * Custom text field 5 */ // @ApiMember(Description="Custom text field 5") public var textField5:String /** * Custom text field 6 */ // @ApiMember(Description="Custom text field 6") public var textField6:String /** * Custom text field 7 */ // @ApiMember(Description="Custom text field 7") public var textField7:String /** * Custom text field 8 */ // @ApiMember(Description="Custom text field 8") public var textField8:String /** * Custom text field 9 */ // @ApiMember(Description="Custom text field 9") public var textField9:String /** * Custom text field 10 */ // @ApiMember(Description="Custom text field 10") public var textField10:String /** * Custom text field 11 */ // @ApiMember(Description="Custom text field 11") public var textField11:String /** * Custom text field 12 */ // @ApiMember(Description="Custom text field 12") public var textField12:String /** * Custom text field 13 */ // @ApiMember(Description="Custom text field 13") public var textField13:String /** * Custom text field 14 */ // @ApiMember(Description="Custom text field 14") public var textField14:String /** * Custom text field 15 */ // @ApiMember(Description="Custom text field 15") public var textField15:String /** * Custom text field 16 */ // @ApiMember(Description="Custom text field 16") public var textField16:String /** * Custom text field 17 */ // @ApiMember(Description="Custom text field 17") public var textField17:String /** * Custom text field 18 */ // @ApiMember(Description="Custom text field 18") public var textField18:String /** * Custom text field 19 */ // @ApiMember(Description="Custom text field 19") public var textField19:String /** * Custom text field 20 */ // @ApiMember(Description="Custom text field 20") public var textField20:String /** * The date when the booking was last updated */ // @ApiMember(Description="The date when the booking was last updated") public var updatedDate:Date /** * The date when the booking was created */ // @ApiMember(Description="The date when the booking was created") public var createdDate:Date /** * Comments sent to the customer about this booking */ // @ApiMember(Description="Comments sent to the customer about this booking") public var commentsToCustomer:String required public init(){} } public class GDPRCustomerMessageLogResponse : Codable { /** * The company ID associated with this message */ // @ApiMember(Description="The company ID associated with this message") public var companyId:String /** * The unique identifier of the message */ // @ApiMember(Description="The unique identifier of the message") public var id:Int /** * The booking ID this message is related to, if any */ // @ApiMember(Description="The booking ID this message is related to, if any") public var bookingId:Int? /** * The recipient of the message */ // @ApiMember(Description="The recipient of the message") public var receiver:String /** * The sender of the message */ // @ApiMember(Description="The sender of the message") public var sender:String /** * The title or subject of the message */ // @ApiMember(Description="The title or subject of the message") public var messageTitle:String /** * The body content of the message */ // @ApiMember(Description="The body content of the message") public var messageBody:String /** * The name of the person who created the message */ // @ApiMember(Description="The name of the person who created the message") public var createdBy:String /** * The date when the message was created */ // @ApiMember(Description="The date when the message was created") public var created:Date /** * Whether the message was successfully sent */ // @ApiMember(Description="Whether the message was successfully sent") public var sent:Bool /** * The date when the message was sent */ // @ApiMember(Description="The date when the message was sent") public var sentDate:Date? /** * The method used to send the message (e.g., email, SMS) */ // @ApiMember(Description="The method used to send the message (e.g., email, SMS)") public var sendMethodId:Int required public init(){} } public class UserProfileResponse : Codable { public var id:String public var firstname:String public var lastname:String public var phone:String public var email:String public var invoiceAddress:InvoiceAddressResponse required public init(){} } public class GDPRCustomerInfoResponse : Codable { /** * The unique identifier of the user */ // @ApiMember(Description="The unique identifier of the user") public var userId:String /** * The user's first name */ // @ApiMember(Description="The user's first name") public var firstname:String /** * The user's last name */ // @ApiMember(Description="The user's last name") public var lastname:String /** * The user's phone number */ // @ApiMember(Description="The user's phone number") public var phone:String /** * The user's email address */ // @ApiMember(Description="The user's email address") public var email:String /** * Whether the user account is currently active */ // @ApiMember(Description="Whether the user account is currently active") public var active:Bool /** * The user's Facebook username */ // @ApiMember(Description="The user's Facebook username") public var facebookUsername:String /** * Custom text field 1 */ // @ApiMember(Description="Custom text field 1") public var textField1:String /** * Custom text field 2 */ // @ApiMember(Description="Custom text field 2") public var textField2:String /** * Custom text field 3 */ // @ApiMember(Description="Custom text field 3") public var textField3:String /** * Custom text field 4 */ // @ApiMember(Description="Custom text field 4") public var textField4:String /** * Custom text field 5 */ // @ApiMember(Description="Custom text field 5") public var textField5:String /** * Custom text field 6 */ // @ApiMember(Description="Custom text field 6") public var textField6:String /** * Custom text field 7 */ // @ApiMember(Description="Custom text field 7") public var textField7:String /** * Custom text field 8 */ // @ApiMember(Description="Custom text field 8") public var textField8:String /** * Custom text field 9 */ // @ApiMember(Description="Custom text field 9") public var textField9:String /** * Custom text field 10 */ // @ApiMember(Description="Custom text field 10") public var textField10:String /** * Custom text field 11 */ // @ApiMember(Description="Custom text field 11") public var textField11:String /** * Custom text field 12 */ // @ApiMember(Description="Custom text field 12") public var textField12:String /** * Custom text field 13 */ // @ApiMember(Description="Custom text field 13") public var textField13:String /** * Custom text field 14 */ // @ApiMember(Description="Custom text field 14") public var textField14:String /** * Custom text field 15 */ // @ApiMember(Description="Custom text field 15") public var textField15:String /** * Custom text field 16 */ // @ApiMember(Description="Custom text field 16") public var textField16:String /** * Custom text field 17 */ // @ApiMember(Description="Custom text field 17") public var textField17:String /** * Custom text field 18 */ // @ApiMember(Description="Custom text field 18") public var textField18:String /** * Custom text field 19 */ // @ApiMember(Description="Custom text field 19") public var textField19:String /** * Custom text field 20 */ // @ApiMember(Description="Custom text field 20") public var textField20:String /** * The date when the customer information was last updated */ // @ApiMember(Description="The date when the customer information was last updated") public var updated:Date /** * The date when the customer information was created */ // @ApiMember(Description="The date when the customer information was created") public var created:Date required public init(){} } public class GDPRCustomerCommentsResponse : Codable { /** * The company ID associated with this comment */ // @ApiMember(Description="The company ID associated with this comment") public var companyId:String /** * The unique identifier of the comment */ // @ApiMember(Description="The unique identifier of the comment") public var id:Int /** * The customer ID this comment is associated with */ // @ApiMember(Description="The customer ID this comment is associated with") public var customerId:String /** * The content of the comment */ // @ApiMember(Description="The content of the comment") public var comments:String /** * The date when the comment was last updated */ // @ApiMember(Description="The date when the comment was last updated") public var updated:Date /** * The date when the comment was created */ // @ApiMember(Description="The date when the comment was created") public var created:Date /** * URL to any image associated with the comment */ // @ApiMember(Description="URL to any image associated with the comment") public var imageUrl:Uri required public init(){} } public class GDPRCustomerNewsletterLogResponse : Codable { /** * The company ID associated with this newsletter */ // @ApiMember(Description="The company ID associated with this newsletter") public var companyId:String /** * The unique identifier of the newsletter log entry */ // @ApiMember(Description="The unique identifier of the newsletter log entry") public var id:Int /** * The newsletter ID this log entry is related to, if any */ // @ApiMember(Description="The newsletter ID this log entry is related to, if any") public var newslettersId:Int? /** * The recipient of the newsletter */ // @ApiMember(Description="The recipient of the newsletter") public var receiver:String /** * The sender of the newsletter */ // @ApiMember(Description="The sender of the newsletter") public var sender:String /** * The title or subject of the newsletter */ // @ApiMember(Description="The title or subject of the newsletter") public var messageTitle:String /** * The body content of the newsletter */ // @ApiMember(Description="The body content of the newsletter") public var messageBody:String /** * Whether the newsletter was successfully sent */ // @ApiMember(Description="Whether the newsletter was successfully sent") public var sent:Bool /** * The date when the newsletter was created */ // @ApiMember(Description="The date when the newsletter was created") public var created:Date required public init(){} }