Requires any of the roles: | bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read |
GET | /gdpr/customers/{CustomerId} | Get all customer information stored on the customer | Get all information stored on the customer |
---|
import 'package:servicestack/servicestack.dart';
class GDPRCustomerBookingsResponse implements IConvertible
{
/**
* The company ID associated with this booking
*/
// @ApiMember(Description="The company ID associated with this booking")
String? CompanyId;
/**
* The unique identifier of the booking
*/
// @ApiMember(Description="The unique identifier of the booking")
int? Id;
/**
* The customer ID associated with this booking
*/
// @ApiMember(Description="The customer ID associated with this booking")
String? CustomerId;
/**
* The service ID for this booking
*/
// @ApiMember(Description="The service ID for this booking")
int? ServiceId;
/**
* The current status of the booking
*/
// @ApiMember(Description="The current status of the booking")
int? StatusId;
/**
* The start date and time of the booking
*/
// @ApiMember(Description="The start date and time of the booking")
DateTime? From;
/**
* The end date and time of the booking
*/
// @ApiMember(Description="The end date and time of the booking")
DateTime? To;
/**
* The date when the booking was cancelled or unbooked
*/
// @ApiMember(Description="The date when the booking was cancelled or unbooked")
DateTime? UnbookedOn;
/**
* Comments added when the booking was cancelled
*/
// @ApiMember(Description="Comments added when the booking was cancelled")
String? UnbookedComments;
/**
* Comments added when the booking was created
*/
// @ApiMember(Description="Comments added when the booking was created")
String? BookedComments;
/**
* The name of the person who made the booking
*/
// @ApiMember(Description="The name of the person who made the booking")
String? BookedBy;
/**
* General comments about the booking
*/
// @ApiMember(Description="General comments about the booking")
String? Comments;
/**
* Custom text field 1
*/
// @ApiMember(Description="Custom text field 1")
String? TextField1;
/**
* Custom text field 2
*/
// @ApiMember(Description="Custom text field 2")
String? TextField2;
/**
* Custom text field 3
*/
// @ApiMember(Description="Custom text field 3")
String? TextField3;
/**
* Custom text field 4
*/
// @ApiMember(Description="Custom text field 4")
String? TextField4;
/**
* Custom text field 5
*/
// @ApiMember(Description="Custom text field 5")
String? TextField5;
/**
* Custom text field 6
*/
// @ApiMember(Description="Custom text field 6")
String? TextField6;
/**
* Custom text field 7
*/
// @ApiMember(Description="Custom text field 7")
String? TextField7;
/**
* Custom text field 8
*/
// @ApiMember(Description="Custom text field 8")
String? TextField8;
/**
* Custom text field 9
*/
// @ApiMember(Description="Custom text field 9")
String? TextField9;
/**
* Custom text field 10
*/
// @ApiMember(Description="Custom text field 10")
String? TextField10;
/**
* Custom text field 11
*/
// @ApiMember(Description="Custom text field 11")
String? TextField11;
/**
* Custom text field 12
*/
// @ApiMember(Description="Custom text field 12")
String? TextField12;
/**
* Custom text field 13
*/
// @ApiMember(Description="Custom text field 13")
String? TextField13;
/**
* Custom text field 14
*/
// @ApiMember(Description="Custom text field 14")
String? TextField14;
/**
* Custom text field 15
*/
// @ApiMember(Description="Custom text field 15")
String? TextField15;
/**
* Custom text field 16
*/
// @ApiMember(Description="Custom text field 16")
String? TextField16;
/**
* Custom text field 17
*/
// @ApiMember(Description="Custom text field 17")
String? TextField17;
/**
* Custom text field 18
*/
// @ApiMember(Description="Custom text field 18")
String? TextField18;
/**
* Custom text field 19
*/
// @ApiMember(Description="Custom text field 19")
String? TextField19;
/**
* Custom text field 20
*/
// @ApiMember(Description="Custom text field 20")
String? TextField20;
/**
* The date when the booking was last updated
*/
// @ApiMember(Description="The date when the booking was last updated")
DateTime? UpdatedDate;
/**
* The date when the booking was created
*/
// @ApiMember(Description="The date when the booking was created")
DateTime? CreatedDate;
/**
* Comments sent to the customer about this booking
*/
// @ApiMember(Description="Comments sent to the customer about this booking")
String? CommentsToCustomer;
GDPRCustomerBookingsResponse({this.CompanyId,this.Id,this.CustomerId,this.ServiceId,this.StatusId,this.From,this.To,this.UnbookedOn,this.UnbookedComments,this.BookedComments,this.BookedBy,this.Comments,this.TextField1,this.TextField2,this.TextField3,this.TextField4,this.TextField5,this.TextField6,this.TextField7,this.TextField8,this.TextField9,this.TextField10,this.TextField11,this.TextField12,this.TextField13,this.TextField14,this.TextField15,this.TextField16,this.TextField17,this.TextField18,this.TextField19,this.TextField20,this.UpdatedDate,this.CreatedDate,this.CommentsToCustomer});
GDPRCustomerBookingsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
CustomerId = json['CustomerId'];
ServiceId = json['ServiceId'];
StatusId = json['StatusId'];
From = JsonConverters.fromJson(json['From'],'DateTime',context!);
To = JsonConverters.fromJson(json['To'],'DateTime',context!);
UnbookedOn = JsonConverters.fromJson(json['UnbookedOn'],'DateTime',context!);
UnbookedComments = json['UnbookedComments'];
BookedComments = json['BookedComments'];
BookedBy = json['BookedBy'];
Comments = json['Comments'];
TextField1 = json['TextField1'];
TextField2 = json['TextField2'];
TextField3 = json['TextField3'];
TextField4 = json['TextField4'];
TextField5 = json['TextField5'];
TextField6 = json['TextField6'];
TextField7 = json['TextField7'];
TextField8 = json['TextField8'];
TextField9 = json['TextField9'];
TextField10 = json['TextField10'];
TextField11 = json['TextField11'];
TextField12 = json['TextField12'];
TextField13 = json['TextField13'];
TextField14 = json['TextField14'];
TextField15 = json['TextField15'];
TextField16 = json['TextField16'];
TextField17 = json['TextField17'];
TextField18 = json['TextField18'];
TextField19 = json['TextField19'];
TextField20 = json['TextField20'];
UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!);
CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
CommentsToCustomer = json['CommentsToCustomer'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id,
'CustomerId': CustomerId,
'ServiceId': ServiceId,
'StatusId': StatusId,
'From': JsonConverters.toJson(From,'DateTime',context!),
'To': JsonConverters.toJson(To,'DateTime',context!),
'UnbookedOn': JsonConverters.toJson(UnbookedOn,'DateTime',context!),
'UnbookedComments': UnbookedComments,
'BookedComments': BookedComments,
'BookedBy': BookedBy,
'Comments': Comments,
'TextField1': TextField1,
'TextField2': TextField2,
'TextField3': TextField3,
'TextField4': TextField4,
'TextField5': TextField5,
'TextField6': TextField6,
'TextField7': TextField7,
'TextField8': TextField8,
'TextField9': TextField9,
'TextField10': TextField10,
'TextField11': TextField11,
'TextField12': TextField12,
'TextField13': TextField13,
'TextField14': TextField14,
'TextField15': TextField15,
'TextField16': TextField16,
'TextField17': TextField17,
'TextField18': TextField18,
'TextField19': TextField19,
'TextField20': TextField20,
'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!),
'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
'CommentsToCustomer': CommentsToCustomer
};
getTypeName() => "GDPRCustomerBookingsResponse";
TypeContext? context = _ctx;
}
class GDPRCustomerMessageLogResponse implements IConvertible
{
/**
* The company ID associated with this message
*/
// @ApiMember(Description="The company ID associated with this message")
String? CompanyId;
/**
* The unique identifier of the message
*/
// @ApiMember(Description="The unique identifier of the message")
int? Id;
/**
* The booking ID this message is related to, if any
*/
// @ApiMember(Description="The booking ID this message is related to, if any")
int? BookingId;
/**
* The recipient of the message
*/
// @ApiMember(Description="The recipient of the message")
String? Receiver;
/**
* The sender of the message
*/
// @ApiMember(Description="The sender of the message")
String? Sender;
/**
* The title or subject of the message
*/
// @ApiMember(Description="The title or subject of the message")
String? MessageTitle;
/**
* The body content of the message
*/
// @ApiMember(Description="The body content of the message")
String? MessageBody;
/**
* The name of the person who created the message
*/
// @ApiMember(Description="The name of the person who created the message")
String? CreatedBy;
/**
* The date when the message was created
*/
// @ApiMember(Description="The date when the message was created")
DateTime? Created;
/**
* Whether the message was successfully sent
*/
// @ApiMember(Description="Whether the message was successfully sent")
bool? Sent;
/**
* The date when the message was sent
*/
// @ApiMember(Description="The date when the message was sent")
DateTime? SentDate;
/**
* The method used to send the message (e.g., email, SMS)
*/
// @ApiMember(Description="The method used to send the message (e.g., email, SMS)")
int? SendMethodId;
GDPRCustomerMessageLogResponse({this.CompanyId,this.Id,this.BookingId,this.Receiver,this.Sender,this.MessageTitle,this.MessageBody,this.CreatedBy,this.Created,this.Sent,this.SentDate,this.SendMethodId});
GDPRCustomerMessageLogResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
BookingId = json['BookingId'];
Receiver = json['Receiver'];
Sender = json['Sender'];
MessageTitle = json['MessageTitle'];
MessageBody = json['MessageBody'];
CreatedBy = json['CreatedBy'];
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
Sent = json['Sent'];
SentDate = JsonConverters.fromJson(json['SentDate'],'DateTime',context!);
SendMethodId = json['SendMethodId'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id,
'BookingId': BookingId,
'Receiver': Receiver,
'Sender': Sender,
'MessageTitle': MessageTitle,
'MessageBody': MessageBody,
'CreatedBy': CreatedBy,
'Created': JsonConverters.toJson(Created,'DateTime',context!),
'Sent': Sent,
'SentDate': JsonConverters.toJson(SentDate,'DateTime',context!),
'SendMethodId': SendMethodId
};
getTypeName() => "GDPRCustomerMessageLogResponse";
TypeContext? context = _ctx;
}
class InvoiceAddressResponse implements IConvertible
{
String? InvoiceAddressId;
String? UserId;
String? CorporateIdentityNumber;
String? InvoiceAddress1;
String? InvoiceAddress2;
String? InvoiceCity;
String? InvoicePostalCode;
String? InvoiceCountryCode;
InvoiceAddressResponse({this.InvoiceAddressId,this.UserId,this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode});
InvoiceAddressResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
InvoiceAddressId = json['InvoiceAddressId'];
UserId = json['UserId'];
CorporateIdentityNumber = json['CorporateIdentityNumber'];
InvoiceAddress1 = json['InvoiceAddress1'];
InvoiceAddress2 = json['InvoiceAddress2'];
InvoiceCity = json['InvoiceCity'];
InvoicePostalCode = json['InvoicePostalCode'];
InvoiceCountryCode = json['InvoiceCountryCode'];
return this;
}
Map<String, dynamic> toJson() => {
'InvoiceAddressId': InvoiceAddressId,
'UserId': UserId,
'CorporateIdentityNumber': CorporateIdentityNumber,
'InvoiceAddress1': InvoiceAddress1,
'InvoiceAddress2': InvoiceAddress2,
'InvoiceCity': InvoiceCity,
'InvoicePostalCode': InvoicePostalCode,
'InvoiceCountryCode': InvoiceCountryCode
};
getTypeName() => "InvoiceAddressResponse";
TypeContext? context = _ctx;
}
class UserProfileResponse implements IConvertible
{
String? Id;
String? Firstname;
String? Lastname;
String? Phone;
String? Email;
InvoiceAddressResponse? InvoiceAddress;
UserProfileResponse({this.Id,this.Firstname,this.Lastname,this.Phone,this.Email,this.InvoiceAddress});
UserProfileResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Firstname = json['Firstname'];
Lastname = json['Lastname'];
Phone = json['Phone'];
Email = json['Email'];
InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddressResponse',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Firstname': Firstname,
'Lastname': Lastname,
'Phone': Phone,
'Email': Email,
'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddressResponse',context!)
};
getTypeName() => "UserProfileResponse";
TypeContext? context = _ctx;
}
class GDPRCustomerInfoResponse implements IConvertible
{
/**
* The unique identifier of the user
*/
// @ApiMember(Description="The unique identifier of the user")
String? UserId;
/**
* The user's first name
*/
// @ApiMember(Description="The user's first name")
String? Firstname;
/**
* The user's last name
*/
// @ApiMember(Description="The user's last name")
String? Lastname;
/**
* The user's phone number
*/
// @ApiMember(Description="The user's phone number")
String? Phone;
/**
* The user's email address
*/
// @ApiMember(Description="The user's email address")
String? Email;
/**
* Whether the user account is currently active
*/
// @ApiMember(Description="Whether the user account is currently active")
bool? Active;
/**
* The user's Facebook username
*/
// @ApiMember(Description="The user's Facebook username")
String? FacebookUsername;
/**
* Custom text field 1
*/
// @ApiMember(Description="Custom text field 1")
String? TextField1;
/**
* Custom text field 2
*/
// @ApiMember(Description="Custom text field 2")
String? TextField2;
/**
* Custom text field 3
*/
// @ApiMember(Description="Custom text field 3")
String? TextField3;
/**
* Custom text field 4
*/
// @ApiMember(Description="Custom text field 4")
String? TextField4;
/**
* Custom text field 5
*/
// @ApiMember(Description="Custom text field 5")
String? TextField5;
/**
* Custom text field 6
*/
// @ApiMember(Description="Custom text field 6")
String? TextField6;
/**
* Custom text field 7
*/
// @ApiMember(Description="Custom text field 7")
String? TextField7;
/**
* Custom text field 8
*/
// @ApiMember(Description="Custom text field 8")
String? TextField8;
/**
* Custom text field 9
*/
// @ApiMember(Description="Custom text field 9")
String? TextField9;
/**
* Custom text field 10
*/
// @ApiMember(Description="Custom text field 10")
String? TextField10;
/**
* Custom text field 11
*/
// @ApiMember(Description="Custom text field 11")
String? TextField11;
/**
* Custom text field 12
*/
// @ApiMember(Description="Custom text field 12")
String? TextField12;
/**
* Custom text field 13
*/
// @ApiMember(Description="Custom text field 13")
String? TextField13;
/**
* Custom text field 14
*/
// @ApiMember(Description="Custom text field 14")
String? TextField14;
/**
* Custom text field 15
*/
// @ApiMember(Description="Custom text field 15")
String? TextField15;
/**
* Custom text field 16
*/
// @ApiMember(Description="Custom text field 16")
String? TextField16;
/**
* Custom text field 17
*/
// @ApiMember(Description="Custom text field 17")
String? TextField17;
/**
* Custom text field 18
*/
// @ApiMember(Description="Custom text field 18")
String? TextField18;
/**
* Custom text field 19
*/
// @ApiMember(Description="Custom text field 19")
String? TextField19;
/**
* Custom text field 20
*/
// @ApiMember(Description="Custom text field 20")
String? TextField20;
/**
* The date when the customer information was last updated
*/
// @ApiMember(Description="The date when the customer information was last updated")
DateTime? Updated;
/**
* The date when the customer information was created
*/
// @ApiMember(Description="The date when the customer information was created")
DateTime? Created;
GDPRCustomerInfoResponse({this.UserId,this.Firstname,this.Lastname,this.Phone,this.Email,this.Active,this.FacebookUsername,this.TextField1,this.TextField2,this.TextField3,this.TextField4,this.TextField5,this.TextField6,this.TextField7,this.TextField8,this.TextField9,this.TextField10,this.TextField11,this.TextField12,this.TextField13,this.TextField14,this.TextField15,this.TextField16,this.TextField17,this.TextField18,this.TextField19,this.TextField20,this.Updated,this.Created});
GDPRCustomerInfoResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserId = json['UserId'];
Firstname = json['Firstname'];
Lastname = json['Lastname'];
Phone = json['Phone'];
Email = json['Email'];
Active = json['Active'];
FacebookUsername = json['FacebookUsername'];
TextField1 = json['TextField1'];
TextField2 = json['TextField2'];
TextField3 = json['TextField3'];
TextField4 = json['TextField4'];
TextField5 = json['TextField5'];
TextField6 = json['TextField6'];
TextField7 = json['TextField7'];
TextField8 = json['TextField8'];
TextField9 = json['TextField9'];
TextField10 = json['TextField10'];
TextField11 = json['TextField11'];
TextField12 = json['TextField12'];
TextField13 = json['TextField13'];
TextField14 = json['TextField14'];
TextField15 = json['TextField15'];
TextField16 = json['TextField16'];
TextField17 = json['TextField17'];
TextField18 = json['TextField18'];
TextField19 = json['TextField19'];
TextField20 = json['TextField20'];
Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'UserId': UserId,
'Firstname': Firstname,
'Lastname': Lastname,
'Phone': Phone,
'Email': Email,
'Active': Active,
'FacebookUsername': FacebookUsername,
'TextField1': TextField1,
'TextField2': TextField2,
'TextField3': TextField3,
'TextField4': TextField4,
'TextField5': TextField5,
'TextField6': TextField6,
'TextField7': TextField7,
'TextField8': TextField8,
'TextField9': TextField9,
'TextField10': TextField10,
'TextField11': TextField11,
'TextField12': TextField12,
'TextField13': TextField13,
'TextField14': TextField14,
'TextField15': TextField15,
'TextField16': TextField16,
'TextField17': TextField17,
'TextField18': TextField18,
'TextField19': TextField19,
'TextField20': TextField20,
'Updated': JsonConverters.toJson(Updated,'DateTime',context!),
'Created': JsonConverters.toJson(Created,'DateTime',context!)
};
getTypeName() => "GDPRCustomerInfoResponse";
TypeContext? context = _ctx;
}
class GDPRCustomerCommentsResponse implements IConvertible
{
/**
* The company ID associated with this comment
*/
// @ApiMember(Description="The company ID associated with this comment")
String? CompanyId;
/**
* The unique identifier of the comment
*/
// @ApiMember(Description="The unique identifier of the comment")
int? Id;
/**
* The customer ID this comment is associated with
*/
// @ApiMember(Description="The customer ID this comment is associated with")
String? CustomerId;
/**
* The content of the comment
*/
// @ApiMember(Description="The content of the comment")
String? Comments;
/**
* The date when the comment was last updated
*/
// @ApiMember(Description="The date when the comment was last updated")
DateTime? Updated;
/**
* The date when the comment was created
*/
// @ApiMember(Description="The date when the comment was created")
DateTime? Created;
/**
* URL to any image associated with the comment
*/
// @ApiMember(Description="URL to any image associated with the comment")
Uri? ImageUrl;
GDPRCustomerCommentsResponse({this.CompanyId,this.Id,this.CustomerId,this.Comments,this.Updated,this.Created,this.ImageUrl});
GDPRCustomerCommentsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
CustomerId = json['CustomerId'];
Comments = json['Comments'];
Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id,
'CustomerId': CustomerId,
'Comments': Comments,
'Updated': JsonConverters.toJson(Updated,'DateTime',context!),
'Created': JsonConverters.toJson(Created,'DateTime',context!),
'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!)
};
getTypeName() => "GDPRCustomerCommentsResponse";
TypeContext? context = _ctx;
}
class GDPRCustomerNewsletterLogResponse implements IConvertible
{
/**
* The company ID associated with this newsletter
*/
// @ApiMember(Description="The company ID associated with this newsletter")
String? CompanyId;
/**
* The unique identifier of the newsletter log entry
*/
// @ApiMember(Description="The unique identifier of the newsletter log entry")
int? Id;
/**
* The newsletter ID this log entry is related to, if any
*/
// @ApiMember(Description="The newsletter ID this log entry is related to, if any")
int? NewslettersId;
/**
* The recipient of the newsletter
*/
// @ApiMember(Description="The recipient of the newsletter")
String? Receiver;
/**
* The sender of the newsletter
*/
// @ApiMember(Description="The sender of the newsletter")
String? Sender;
/**
* The title or subject of the newsletter
*/
// @ApiMember(Description="The title or subject of the newsletter")
String? MessageTitle;
/**
* The body content of the newsletter
*/
// @ApiMember(Description="The body content of the newsletter")
String? MessageBody;
/**
* Whether the newsletter was successfully sent
*/
// @ApiMember(Description="Whether the newsletter was successfully sent")
bool? Sent;
/**
* The date when the newsletter was created
*/
// @ApiMember(Description="The date when the newsletter was created")
DateTime? Created;
GDPRCustomerNewsletterLogResponse({this.CompanyId,this.Id,this.NewslettersId,this.Receiver,this.Sender,this.MessageTitle,this.MessageBody,this.Sent,this.Created});
GDPRCustomerNewsletterLogResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
NewslettersId = json['NewslettersId'];
Receiver = json['Receiver'];
Sender = json['Sender'];
MessageTitle = json['MessageTitle'];
MessageBody = json['MessageBody'];
Sent = json['Sent'];
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id,
'NewslettersId': NewslettersId,
'Receiver': Receiver,
'Sender': Sender,
'MessageTitle': MessageTitle,
'MessageBody': MessageBody,
'Sent': Sent,
'Created': JsonConverters.toJson(Created,'DateTime',context!)
};
getTypeName() => "GDPRCustomerNewsletterLogResponse";
TypeContext? context = _ctx;
}
class GDPRCustomerQueryResponse implements IConvertible
{
/**
* List of all bookings associated with the customer
*/
// @ApiMember(Description="List of all bookings associated with the customer")
List<GDPRCustomerBookingsResponse>? Bookings;
/**
* List of all message logs associated with the customer
*/
// @ApiMember(Description="List of all message logs associated with the customer")
List<GDPRCustomerMessageLogResponse>? MessageLog;
/**
* The user profile information for the customer
*/
// @ApiMember(Description="The user profile information for the customer")
UserProfileResponse? UserProfile;
/**
* Detailed customer information
*/
// @ApiMember(Description="Detailed customer information")
GDPRCustomerInfoResponse? Customer;
/**
* List of all comments associated with the customer
*/
// @ApiMember(Description="List of all comments associated with the customer")
List<GDPRCustomerCommentsResponse>? CustomerComment;
/**
* List of all newsletter logs associated with the customer
*/
// @ApiMember(Description="List of all newsletter logs associated with the customer")
List<GDPRCustomerNewsletterLogResponse>? NewsletterLog;
/**
* Response status information
*/
// @ApiMember(Description="Response status information")
ResponseStatus? ResponseStatus;
GDPRCustomerQueryResponse({this.Bookings,this.MessageLog,this.UserProfile,this.Customer,this.CustomerComment,this.NewsletterLog,this.ResponseStatus});
GDPRCustomerQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Bookings = JsonConverters.fromJson(json['Bookings'],'List<GDPRCustomerBookingsResponse>',context!);
MessageLog = JsonConverters.fromJson(json['MessageLog'],'List<GDPRCustomerMessageLogResponse>',context!);
UserProfile = JsonConverters.fromJson(json['UserProfile'],'UserProfileResponse',context!);
Customer = JsonConverters.fromJson(json['Customer'],'GDPRCustomerInfoResponse',context!);
CustomerComment = JsonConverters.fromJson(json['CustomerComment'],'List<GDPRCustomerCommentsResponse>',context!);
NewsletterLog = JsonConverters.fromJson(json['NewsletterLog'],'List<GDPRCustomerNewsletterLogResponse>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Bookings': JsonConverters.toJson(Bookings,'List<GDPRCustomerBookingsResponse>',context!),
'MessageLog': JsonConverters.toJson(MessageLog,'List<GDPRCustomerMessageLogResponse>',context!),
'UserProfile': JsonConverters.toJson(UserProfile,'UserProfileResponse',context!),
'Customer': JsonConverters.toJson(Customer,'GDPRCustomerInfoResponse',context!),
'CustomerComment': JsonConverters.toJson(CustomerComment,'List<GDPRCustomerCommentsResponse>',context!),
'NewsletterLog': JsonConverters.toJson(NewsletterLog,'List<GDPRCustomerNewsletterLogResponse>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GDPRCustomerQueryResponse";
TypeContext? context = _ctx;
}
// @ValidateRequest(Validator="IsAuthenticated")
class GDPRCustomerQuery implements ICompany, IConvertible
{
/**
* 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")
String? CompanyId;
/**
* Id of the customer
*/
// @ApiMember(Description="Id of the customer", IsRequired=true, ParameterType="path")
String? CustomerId;
GDPRCustomerQuery({this.CompanyId,this.CustomerId});
GDPRCustomerQuery.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
CustomerId = json['CustomerId'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'CustomerId': CustomerId
};
getTypeName() => "GDPRCustomerQuery";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
'GDPRCustomerBookingsResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerBookingsResponse()),
'GDPRCustomerMessageLogResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerMessageLogResponse()),
'InvoiceAddressResponse': TypeInfo(TypeOf.Class, create:() => InvoiceAddressResponse()),
'UserProfileResponse': TypeInfo(TypeOf.Class, create:() => UserProfileResponse()),
'GDPRCustomerInfoResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerInfoResponse()),
'GDPRCustomerCommentsResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerCommentsResponse()),
'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
'GDPRCustomerNewsletterLogResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerNewsletterLogResponse()),
'GDPRCustomerQueryResponse': TypeInfo(TypeOf.Class, create:() => GDPRCustomerQueryResponse()),
'List<GDPRCustomerBookingsResponse>': TypeInfo(TypeOf.Class, create:() => <GDPRCustomerBookingsResponse>[]),
'List<GDPRCustomerMessageLogResponse>': TypeInfo(TypeOf.Class, create:() => <GDPRCustomerMessageLogResponse>[]),
'List<GDPRCustomerCommentsResponse>': TypeInfo(TypeOf.Class, create:() => <GDPRCustomerCommentsResponse>[]),
'List<GDPRCustomerNewsletterLogResponse>': TypeInfo(TypeOf.Class, create:() => <GDPRCustomerNewsletterLogResponse>[]),
'GDPRCustomerQuery': TypeInfo(TypeOf.Class, create:() => GDPRCustomerQuery()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /gdpr/customers/{CustomerId} HTTP/1.1 Host: testapi.bokamera.se Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Bookings":[{"Id":0,"ServiceId":0,"StatusId":0,"UnbookedOn":"0001-01-01T00:00:00","UnbookedComments":"String","BookedComments":"String","BookedBy":"String","Comments":"String","TextField1":"String","TextField2":"String","TextField3":"String","TextField4":"String","TextField5":"String","TextField6":"String","TextField7":"String","TextField8":"String","TextField9":"String","TextField10":"String","TextField11":"String","TextField12":"String","TextField13":"String","TextField14":"String","TextField15":"String","TextField16":"String","TextField17":"String","TextField18":"String","TextField19":"String","TextField20":"String","CommentsToCustomer":"String"}],"MessageLog":[{"Id":0,"BookingId":0,"Receiver":"String","Sender":"String","MessageTitle":"String","MessageBody":"String","CreatedBy":"String","Sent":false,"SentDate":"0001-01-01T00:00:00","SendMethodId":0}],"UserProfile":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String","InvoiceAddress":{"UserId":"00000000-0000-0000-0000-000000000000","CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"}},"Customer":{"Firstname":"String","Lastname":"String","Phone":"String","Email":"String","Active":false,"FacebookUsername":"String","TextField1":"String","TextField2":"String","TextField3":"String","TextField4":"String","TextField5":"String","TextField6":"String","TextField7":"String","TextField8":"String","TextField9":"String","TextField10":"String","TextField11":"String","TextField12":"String","TextField13":"String","TextField14":"String","TextField15":"String","TextField16":"String","TextField17":"String","TextField18":"String","TextField19":"String","TextField20":"String"},"CustomerComment":[{"Id":0,"Comments":"String"}],"NewsletterLog":[{"Id":0,"NewslettersId":0,"Receiver":"String","Sender":"String","MessageTitle":"String","MessageBody":"String","Sent":false}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}