BokaMera.API.Host

<back to all web services

GDPRCustomerQuery

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read
The following routes are available for this service:
GET/gdpr/customers/{CustomerId}Get all customer information stored on the customerGet all information stored on the customer
"use strict";
export class GDPRCustomerBookingsResponse {
    /** @param {{CompanyId?:string,Id?:number,CustomerId?:string,ServiceId?:number,StatusId?:number,From?:string,To?:string,UnbookedOn?:string,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,UpdatedDate?:string,CreatedDate?:string,CommentsToCustomer?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {string} */
    CustomerId;
    /** @type {number} */
    ServiceId;
    /** @type {number} */
    StatusId;
    /** @type {string} */
    From;
    /** @type {string} */
    To;
    /** @type {?string} */
    UnbookedOn;
    /** @type {string} */
    UnbookedComments;
    /** @type {string} */
    BookedComments;
    /** @type {string} */
    BookedBy;
    /** @type {string} */
    Comments;
    /** @type {string} */
    TextField1;
    /** @type {string} */
    TextField2;
    /** @type {string} */
    TextField3;
    /** @type {string} */
    TextField4;
    /** @type {string} */
    TextField5;
    /** @type {string} */
    TextField6;
    /** @type {string} */
    TextField7;
    /** @type {string} */
    TextField8;
    /** @type {string} */
    TextField9;
    /** @type {string} */
    TextField10;
    /** @type {string} */
    TextField11;
    /** @type {string} */
    TextField12;
    /** @type {string} */
    TextField13;
    /** @type {string} */
    TextField14;
    /** @type {string} */
    TextField15;
    /** @type {string} */
    TextField16;
    /** @type {string} */
    TextField17;
    /** @type {string} */
    TextField18;
    /** @type {string} */
    TextField19;
    /** @type {string} */
    TextField20;
    /** @type {string} */
    UpdatedDate;
    /** @type {string} */
    CreatedDate;
    /** @type {string} */
    CommentsToCustomer;
}
export class GDPRCustomerMessageLogResponse {
    /** @param {{CompanyId?:string,Id?:number,BookingId?:number,Receiver?:string,Sender?:string,MessageTitle?:string,MessageBody?:string,CreatedBy?:string,Created?:string,Sent?:boolean,SentDate?:string,SendMethodId?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {?number} */
    BookingId;
    /** @type {string} */
    Receiver;
    /** @type {string} */
    Sender;
    /** @type {string} */
    MessageTitle;
    /** @type {string} */
    MessageBody;
    /** @type {string} */
    CreatedBy;
    /** @type {string} */
    Created;
    /** @type {boolean} */
    Sent;
    /** @type {?string} */
    SentDate;
    /** @type {number} */
    SendMethodId;
}
export class UserProfileResponse {
    /** @param {{Id?:string,Firstname?:string,Lastname?:string,Phone?:string,Email?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Firstname;
    /** @type {string} */
    Lastname;
    /** @type {string} */
    Phone;
    /** @type {string} */
    Email;
}
export class GDPRCustomerInfoResponse {
    /** @param {{UserId?:string,Firstname?:string,Lastname?:string,Phone?:string,Email?:string,Active?:boolean,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,Updated?:string,Created?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    UserId;
    /** @type {string} */
    Firstname;
    /** @type {string} */
    Lastname;
    /** @type {string} */
    Phone;
    /** @type {string} */
    Email;
    /** @type {boolean} */
    Active;
    /** @type {string} */
    FacebookUsername;
    /** @type {string} */
    TextField1;
    /** @type {string} */
    TextField2;
    /** @type {string} */
    TextField3;
    /** @type {string} */
    TextField4;
    /** @type {string} */
    TextField5;
    /** @type {string} */
    TextField6;
    /** @type {string} */
    TextField7;
    /** @type {string} */
    TextField8;
    /** @type {string} */
    TextField9;
    /** @type {string} */
    TextField10;
    /** @type {string} */
    TextField11;
    /** @type {string} */
    TextField12;
    /** @type {string} */
    TextField13;
    /** @type {string} */
    TextField14;
    /** @type {string} */
    TextField15;
    /** @type {string} */
    TextField16;
    /** @type {string} */
    TextField17;
    /** @type {string} */
    TextField18;
    /** @type {string} */
    TextField19;
    /** @type {string} */
    TextField20;
    /** @type {string} */
    Updated;
    /** @type {string} */
    Created;
}
export class GDPRCustomerCommentsResponse {
    /** @param {{CompanyId?:string,Id?:number,CustomerId?:string,Comments?:string,Updated?:string,Created?:string,ImageUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {string} */
    CustomerId;
    /** @type {string} */
    Comments;
    /** @type {string} */
    Updated;
    /** @type {string} */
    Created;
    /** @type {string} */
    ImageUrl;
}
export class GDPRCustomerNewsletterLogResponse {
    /** @param {{CompanyId?:string,Id?:number,NewslettersId?:number,Receiver?:string,Sender?:string,MessageTitle?:string,MessageBody?:string,Sent?:boolean,Created?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {?number} */
    NewslettersId;
    /** @type {string} */
    Receiver;
    /** @type {string} */
    Sender;
    /** @type {string} */
    MessageTitle;
    /** @type {string} */
    MessageBody;
    /** @type {boolean} */
    Sent;
    /** @type {string} */
    Created;
}
export class GDPRCustomerQueryResponse {
    /** @param {{Bookings?:GDPRCustomerBookingsResponse[],MessageLog?:GDPRCustomerMessageLogResponse[],UserProfile?:UserProfileResponse,Customer?:GDPRCustomerInfoResponse,CustomerComment?:GDPRCustomerCommentsResponse[],NewsletterLog?:GDPRCustomerNewsletterLogResponse[],ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {GDPRCustomerBookingsResponse[]} */
    Bookings;
    /** @type {GDPRCustomerMessageLogResponse[]} */
    MessageLog;
    /** @type {UserProfileResponse} */
    UserProfile;
    /** @type {GDPRCustomerInfoResponse} */
    Customer;
    /** @type {GDPRCustomerCommentsResponse[]} */
    CustomerComment;
    /** @type {GDPRCustomerNewsletterLogResponse[]} */
    NewsletterLog;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class GDPRCustomerQuery {
    /** @param {{CompanyId?:string,CustomerId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @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  */
    CompanyId;
    /**
     * @type {string}
     * @description Id of the customer */
    CustomerId;
}

JavaScript GDPRCustomerQuery DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
	},
	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
		}
	}
}