/* Options: Date: 2025-09-07 13:50:23 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GDPRCustomerQuery.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICompany { CompanyId?: string; } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InvoiceAddressResponse { public InvoiceAddressId: string; public UserId?: string; public CorporateIdentityNumber: string; public InvoiceAddress1: string; public InvoiceAddress2: string; public InvoiceCity: string; public InvoicePostalCode: string; public InvoiceCountryCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerBookingsResponse { /** @description The company ID associated with this booking */ // @ApiMember(Description="The company ID associated with this booking") public CompanyId: string; /** @description The unique identifier of the booking */ // @ApiMember(Description="The unique identifier of the booking") public Id: number; /** @description The customer ID associated with this booking */ // @ApiMember(Description="The customer ID associated with this booking") public CustomerId: string; /** @description The service ID for this booking */ // @ApiMember(Description="The service ID for this booking") public ServiceId: number; /** @description The current status of the booking */ // @ApiMember(Description="The current status of the booking") public StatusId: number; /** @description The start date and time of the booking */ // @ApiMember(Description="The start date and time of the booking") public From: string; /** @description The end date and time of the booking */ // @ApiMember(Description="The end date and time of the booking") public To: string; /** @description The date when the booking was cancelled or unbooked */ // @ApiMember(Description="The date when the booking was cancelled or unbooked") public UnbookedOn?: string; /** @description Comments added when the booking was cancelled */ // @ApiMember(Description="Comments added when the booking was cancelled") public UnbookedComments: string; /** @description Comments added when the booking was created */ // @ApiMember(Description="Comments added when the booking was created") public BookedComments: string; /** @description The name of the person who made the booking */ // @ApiMember(Description="The name of the person who made the booking") public BookedBy: string; /** @description General comments about the booking */ // @ApiMember(Description="General comments about the booking") public Comments: string; /** @description Custom text field 1 */ // @ApiMember(Description="Custom text field 1") public TextField1: string; /** @description Custom text field 2 */ // @ApiMember(Description="Custom text field 2") public TextField2: string; /** @description Custom text field 3 */ // @ApiMember(Description="Custom text field 3") public TextField3: string; /** @description Custom text field 4 */ // @ApiMember(Description="Custom text field 4") public TextField4: string; /** @description Custom text field 5 */ // @ApiMember(Description="Custom text field 5") public TextField5: string; /** @description Custom text field 6 */ // @ApiMember(Description="Custom text field 6") public TextField6: string; /** @description Custom text field 7 */ // @ApiMember(Description="Custom text field 7") public TextField7: string; /** @description Custom text field 8 */ // @ApiMember(Description="Custom text field 8") public TextField8: string; /** @description Custom text field 9 */ // @ApiMember(Description="Custom text field 9") public TextField9: string; /** @description Custom text field 10 */ // @ApiMember(Description="Custom text field 10") public TextField10: string; /** @description Custom text field 11 */ // @ApiMember(Description="Custom text field 11") public TextField11: string; /** @description Custom text field 12 */ // @ApiMember(Description="Custom text field 12") public TextField12: string; /** @description Custom text field 13 */ // @ApiMember(Description="Custom text field 13") public TextField13: string; /** @description Custom text field 14 */ // @ApiMember(Description="Custom text field 14") public TextField14: string; /** @description Custom text field 15 */ // @ApiMember(Description="Custom text field 15") public TextField15: string; /** @description Custom text field 16 */ // @ApiMember(Description="Custom text field 16") public TextField16: string; /** @description Custom text field 17 */ // @ApiMember(Description="Custom text field 17") public TextField17: string; /** @description Custom text field 18 */ // @ApiMember(Description="Custom text field 18") public TextField18: string; /** @description Custom text field 19 */ // @ApiMember(Description="Custom text field 19") public TextField19: string; /** @description Custom text field 20 */ // @ApiMember(Description="Custom text field 20") public TextField20: string; /** @description The date when the booking was last updated */ // @ApiMember(Description="The date when the booking was last updated") public UpdatedDate: string; /** @description The date when the booking was created */ // @ApiMember(Description="The date when the booking was created") public CreatedDate: string; /** @description Comments sent to the customer about this booking */ // @ApiMember(Description="Comments sent to the customer about this booking") public CommentsToCustomer: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerMessageLogResponse { /** @description The company ID associated with this message */ // @ApiMember(Description="The company ID associated with this message") public CompanyId: string; /** @description The unique identifier of the message */ // @ApiMember(Description="The unique identifier of the message") public Id: number; /** @description The booking ID this message is related to, if any */ // @ApiMember(Description="The booking ID this message is related to, if any") public BookingId?: number; /** @description The recipient of the message */ // @ApiMember(Description="The recipient of the message") public Receiver: string; /** @description The sender of the message */ // @ApiMember(Description="The sender of the message") public Sender: string; /** @description The title or subject of the message */ // @ApiMember(Description="The title or subject of the message") public MessageTitle: string; /** @description The body content of the message */ // @ApiMember(Description="The body content of the message") public MessageBody: string; /** @description The name of the person who created the message */ // @ApiMember(Description="The name of the person who created the message") public CreatedBy: string; /** @description The date when the message was created */ // @ApiMember(Description="The date when the message was created") public Created: string; /** @description Whether the message was successfully sent */ // @ApiMember(Description="Whether the message was successfully sent") public Sent: boolean; /** @description The date when the message was sent */ // @ApiMember(Description="The date when the message was sent") public SentDate?: string; /** @description 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 SendMethodId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UserProfileResponse { public Id: string; public Firstname: string; public Lastname: string; public Phone: string; public Email: string; public InvoiceAddress: InvoiceAddressResponse; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerInfoResponse { /** @description The unique identifier of the user */ // @ApiMember(Description="The unique identifier of the user") public UserId: string; /** @description The user's first name */ // @ApiMember(Description="The user's first name") public Firstname: string; /** @description The user's last name */ // @ApiMember(Description="The user's last name") public Lastname: string; /** @description The user's phone number */ // @ApiMember(Description="The user's phone number") public Phone: string; /** @description The user's email address */ // @ApiMember(Description="The user's email address") public Email: string; /** @description Whether the user account is currently active */ // @ApiMember(Description="Whether the user account is currently active") public Active: boolean; /** @description The user's Facebook username */ // @ApiMember(Description="The user's Facebook username") public FacebookUsername: string; /** @description Custom text field 1 */ // @ApiMember(Description="Custom text field 1") public TextField1: string; /** @description Custom text field 2 */ // @ApiMember(Description="Custom text field 2") public TextField2: string; /** @description Custom text field 3 */ // @ApiMember(Description="Custom text field 3") public TextField3: string; /** @description Custom text field 4 */ // @ApiMember(Description="Custom text field 4") public TextField4: string; /** @description Custom text field 5 */ // @ApiMember(Description="Custom text field 5") public TextField5: string; /** @description Custom text field 6 */ // @ApiMember(Description="Custom text field 6") public TextField6: string; /** @description Custom text field 7 */ // @ApiMember(Description="Custom text field 7") public TextField7: string; /** @description Custom text field 8 */ // @ApiMember(Description="Custom text field 8") public TextField8: string; /** @description Custom text field 9 */ // @ApiMember(Description="Custom text field 9") public TextField9: string; /** @description Custom text field 10 */ // @ApiMember(Description="Custom text field 10") public TextField10: string; /** @description Custom text field 11 */ // @ApiMember(Description="Custom text field 11") public TextField11: string; /** @description Custom text field 12 */ // @ApiMember(Description="Custom text field 12") public TextField12: string; /** @description Custom text field 13 */ // @ApiMember(Description="Custom text field 13") public TextField13: string; /** @description Custom text field 14 */ // @ApiMember(Description="Custom text field 14") public TextField14: string; /** @description Custom text field 15 */ // @ApiMember(Description="Custom text field 15") public TextField15: string; /** @description Custom text field 16 */ // @ApiMember(Description="Custom text field 16") public TextField16: string; /** @description Custom text field 17 */ // @ApiMember(Description="Custom text field 17") public TextField17: string; /** @description Custom text field 18 */ // @ApiMember(Description="Custom text field 18") public TextField18: string; /** @description Custom text field 19 */ // @ApiMember(Description="Custom text field 19") public TextField19: string; /** @description Custom text field 20 */ // @ApiMember(Description="Custom text field 20") public TextField20: string; /** @description The date when the customer information was last updated */ // @ApiMember(Description="The date when the customer information was last updated") public Updated: string; /** @description The date when the customer information was created */ // @ApiMember(Description="The date when the customer information was created") public Created: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerCommentsResponse { /** @description The company ID associated with this comment */ // @ApiMember(Description="The company ID associated with this comment") public CompanyId: string; /** @description The unique identifier of the comment */ // @ApiMember(Description="The unique identifier of the comment") public Id: number; /** @description The customer ID this comment is associated with */ // @ApiMember(Description="The customer ID this comment is associated with") public CustomerId: string; /** @description The content of the comment */ // @ApiMember(Description="The content of the comment") public Comments: string; /** @description The date when the comment was last updated */ // @ApiMember(Description="The date when the comment was last updated") public Updated: string; /** @description The date when the comment was created */ // @ApiMember(Description="The date when the comment was created") public Created: string; /** @description URL to any image associated with the comment */ // @ApiMember(Description="URL to any image associated with the comment") public ImageUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerNewsletterLogResponse { /** @description The company ID associated with this newsletter */ // @ApiMember(Description="The company ID associated with this newsletter") public CompanyId: string; /** @description The unique identifier of the newsletter log entry */ // @ApiMember(Description="The unique identifier of the newsletter log entry") public Id: number; /** @description 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 NewslettersId?: number; /** @description The recipient of the newsletter */ // @ApiMember(Description="The recipient of the newsletter") public Receiver: string; /** @description The sender of the newsletter */ // @ApiMember(Description="The sender of the newsletter") public Sender: string; /** @description The title or subject of the newsletter */ // @ApiMember(Description="The title or subject of the newsletter") public MessageTitle: string; /** @description The body content of the newsletter */ // @ApiMember(Description="The body content of the newsletter") public MessageBody: string; /** @description Whether the newsletter was successfully sent */ // @ApiMember(Description="Whether the newsletter was successfully sent") public Sent: boolean; /** @description The date when the newsletter was created */ // @ApiMember(Description="The date when the newsletter was created") public Created: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GDPRCustomerQueryResponse { /** @description List of all bookings associated with the customer */ // @ApiMember(Description="List of all bookings associated with the customer") public Bookings: GDPRCustomerBookingsResponse[]; /** @description List of all message logs associated with the customer */ // @ApiMember(Description="List of all message logs associated with the customer") public MessageLog: GDPRCustomerMessageLogResponse[]; /** @description The user profile information for the customer */ // @ApiMember(Description="The user profile information for the customer") public UserProfile: UserProfileResponse; /** @description Detailed customer information */ // @ApiMember(Description="Detailed customer information") public Customer: GDPRCustomerInfoResponse; /** @description List of all comments associated with the customer */ // @ApiMember(Description="List of all comments associated with the customer") public CustomerComment: GDPRCustomerCommentsResponse[]; /** @description List of all newsletter logs associated with the customer */ // @ApiMember(Description="List of all newsletter logs associated with the customer") public NewsletterLog: GDPRCustomerNewsletterLogResponse[]; /** @description Response status information */ // @ApiMember(Description="Response status information") public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/gdpr/customers/{CustomerId}", "GET") // @ValidateRequest(Validator="IsAuthenticated") export class GDPRCustomerQuery implements IReturn, ICompany { /** @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 */ // @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 CompanyId: string; /** @description Id of the customer */ // @ApiMember(Description="Id of the customer", IsRequired=true, ParameterType="path") public CustomerId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GDPRCustomerQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new GDPRCustomerQueryResponse(); } }