Billiecart API

<back to all web services

SearchAllBookingsRequest

Requires Authentication
Requires the role:manager
The following routes are available for this service:
GET/bookings

export class GetOperationUnTenanted<TResponse> implements IHasGetOptions, IGet
{
    public embed?: string;

    public constructor(init?: Partial<GetOperationUnTenanted<TResponse>>) { (Object as any).assign(this, init); }
}

export class SearchOperationUnTenanted<TResponse> extends GetOperationUnTenanted<TResponse> implements IHasSearchOptions
{
    public distinct?: string;
    public limit?: number;
    public offset?: number;
    public sort?: string;
    public filter?: string;
    public search?: string;

    public constructor(init?: Partial<SearchOperationUnTenanted<TResponse>>) { super(init); (Object as any).assign(this, init); }
}

export class SearchOperationTenanted<TResponse> extends SearchOperationUnTenanted<TResponse> implements ITenantedRequest
{
    public organisationId?: string;

    public constructor(init?: Partial<SearchOperationTenanted<TResponse>>) { super(init); (Object as any).assign(this, init); }
}

export enum SortDirection
{
    Ascending = 'Ascending',
    Descending = 'Descending',
}

export class Sorting
{
    public by?: string;
    public direction: SortDirection;

    public constructor(init?: Partial<Sorting>) { (Object as any).assign(this, init); }
}

export class Filtering
{
    public fields?: string[];
    public search?: string;

    public constructor(init?: Partial<Filtering>) { (Object as any).assign(this, init); }
}

export class SearchMetadata
{
    public total: number;
    public limit: number;
    public offset: number;
    public sort?: Sorting;
    public filter?: Filtering;

    public constructor(init?: Partial<SearchMetadata>) { (Object as any).assign(this, init); }
}

export class SearchOperationResponse
{
    public metadata?: SearchMetadata;

    public constructor(init?: Partial<SearchOperationResponse>) { (Object as any).assign(this, init); }
}

export class Booking implements IIdentifiableResource
{
    public startUtc: string;
    public endUtc: string;
    public borrowerId?: string;
    public carId?: string;
    public id?: string;

    public constructor(init?: Partial<Booking>) { (Object as any).assign(this, init); }
}

export class SearchAllBookingsResponse extends SearchOperationResponse
{
    public responseStatus?: ResponseStatus;
    public bookings?: Booking[];

    public constructor(init?: Partial<SearchAllBookingsResponse>) { super(init); (Object as any).assign(this, init); }
}

export class SearchAllBookingsRequest extends SearchOperationTenanted<SearchAllBookingsResponse>
{
    public startUtc?: string;
    public endUtc?: string;

    public constructor(init?: Partial<SearchAllBookingsRequest>) { super(init); (Object as any).assign(this, init); }
}

TypeScript SearchAllBookingsRequest 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 /bookings HTTP/1.1 
Host: staging-api.billiecart.com.au 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"bookings":[{"borrowerId":"String","carId":"String","id":"String"}],"metadata":{"total":0,"limit":0,"offset":0,"sort":{"by":"String","direction":"Ascending"},"filter":{"fields":["String"],"search":"String"}}}