Requires any of the roles: | bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read |
GET | /gdpr/customers/inactive | Get all customers that have been inactive due to the filtering. | Get all customers that have been inactive due to the filtering you add in the request. |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
public static class GDPRInactiveCustomerQuery implements ICompany
{
/**
* 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 UUID CompanyId = null;
/**
* Inactive customers since the date. Inactive means they haven't done any bookings since that date.
*/
@ApiMember(Description="Inactive customers since the date. Inactive means they haven't done any bookings since that date.", IsRequired=true)
public Date InactiveSince = null;
/**
* If you want to include the full customer information in the response
*/
@ApiMember(Description="If you want to include the full customer information in the response")
public Boolean IncludeCustomerInformation = null;
public UUID getCompanyId() { return CompanyId; }
public GDPRInactiveCustomerQuery setCompanyId(UUID value) { this.CompanyId = value; return this; }
public Date getInactiveSince() { return InactiveSince; }
public GDPRInactiveCustomerQuery setInactiveSince(Date value) { this.InactiveSince = value; return this; }
public Boolean isIncludeCustomerInformation() { return IncludeCustomerInformation; }
public GDPRInactiveCustomerQuery setIncludeCustomerInformation(Boolean value) { this.IncludeCustomerInformation = value; return this; }
}
public static class InactiveCustomerResponse
{
public UUID Id = null;
public InactiveCustomerInfo Customer = null;
public UUID getId() { return Id; }
public InactiveCustomerResponse setId(UUID value) { this.Id = value; return this; }
public InactiveCustomerInfo getCustomer() { return Customer; }
public InactiveCustomerResponse setCustomer(InactiveCustomerInfo value) { this.Customer = value; return this; }
}
public static class InactiveCustomerInfo
{
public UUID Id = null;
public String Firstname = null;
public String Lastname = null;
public String Email = null;
public String Phone = null;
public String FacebookUserName = null;
public Uri ImageUrl = null;
public UUID getId() { return Id; }
public InactiveCustomerInfo setId(UUID value) { this.Id = value; return this; }
public String getFirstname() { return Firstname; }
public InactiveCustomerInfo setFirstname(String value) { this.Firstname = value; return this; }
public String getLastname() { return Lastname; }
public InactiveCustomerInfo setLastname(String value) { this.Lastname = value; return this; }
public String getEmail() { return Email; }
public InactiveCustomerInfo setEmail(String value) { this.Email = value; return this; }
public String getPhone() { return Phone; }
public InactiveCustomerInfo setPhone(String value) { this.Phone = value; return this; }
public String getFacebookUserName() { return FacebookUserName; }
public InactiveCustomerInfo setFacebookUserName(String value) { this.FacebookUserName = value; return this; }
public Uri getImageUrl() { return ImageUrl; }
public InactiveCustomerInfo setImageUrl(Uri value) { this.ImageUrl = value; return this; }
}
}
Java GDPRInactiveCustomerQuery DTOs
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/inactive HTTP/1.1 Host: api.bokamera.se Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String"}}