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() = 
        ///<summary>
        ///The unique identifier of the customer
        ///</summary>
        [<ApiMember(Description="The unique identifier of the customer")>]
        member val Id:Guid = new Guid() with get,set

        ///<summary>
        ///The customer's first name
        ///</summary>
        [<ApiMember(Description="The customer's first name")>]
        member val Firstname:String = null with get,set

        ///<summary>
        ///The customer's last name
        ///</summary>
        [<ApiMember(Description="The customer's last name")>]
        member val Lastname:String = null with get,set

        ///<summary>
        ///The customer's email address
        ///</summary>
        [<ApiMember(Description="The customer's email address")>]
        member val Email:String = null with get,set

        ///<summary>
        ///The customer's phone number
        ///</summary>
        [<ApiMember(Description="The customer's phone number")>]
        member val Phone:String = null with get,set

        ///<summary>
        ///The customer's Facebook username
        ///</summary>
        [<ApiMember(Description="The customer's Facebook username")>]
        member val FacebookUserName:String = null with get,set

        ///<summary>
        ///URL to the customer's profile image
        ///</summary>
        [<ApiMember(Description="URL to the customer's profile image")>]
        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 .csv suffix or ?format=csv

HTTP + 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: testapi.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"}}