BokaMera.API.Host

<back to all web services

GDPRInactiveCustomerQuery

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/inactiveGet 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.
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type InactiveCustomerInfo() = 
        member val Id:Guid = new Guid() with get,set
        member val Firstname:String = null with get,set
        member val Lastname:String = null with get,set
        member val Email:String = null with get,set
        member val Phone:String = null with get,set
        member val FacebookUserName:String = null with get,set
        member val ImageUrl:Uri = null with get,set

    [<AllowNullLiteral>]
    type InactiveCustomerResponse() = 
        member val Id:Guid = new Guid() with get,set
        member val Customer:InactiveCustomerInfo = null with get,set

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type GDPRInactiveCustomerQuery() = 
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///Inactive customers since the date. Inactive means they haven't done any bookings since that date.
        ///</summary>
        [<ApiMember(Description="Inactive customers since the date. Inactive means they haven't done any bookings since that date.", IsRequired=true)>]
        member val InactiveSince:DateTime = new DateTime() with get,set

        ///<summary>
        ///If you want to include the full customer information in the response
        ///</summary>
        [<ApiMember(Description="If you want to include the full customer information in the response")>]
        member val IncludeCustomerInformation:Boolean = new Boolean() with get,set

F# GDPRInactiveCustomerQuery 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/inactive HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Customer: 
	{
		Firstname: String,
		Lastname: String,
		Email: String,
		Phone: String,
		FacebookUserName: String
	}
}