BokaMera.API.Host

<back to all web services

DeleteOldReservations

Requires Authentication
The following routes are available for this service:
POST/codelock/{CodeLockSystemsId}/reservations/Will delete all reservation that is in the past for each company having schedule delete setting turned on.Will delete all reservation that is in the past for each company having schedule delete setting turned on.
import 'package:servicestack/servicestack.dart';

enum BookingStatusEnum
{
    Booked,
    Unbooked,
    Reserved,
    Canceled,
    AwaitingPayment,
    AwaitingPaymentNoTimeLimit,
    Payed,
    AwaitingPaymentRequestFromAdmin,
    AwaitingPaymentFromProvider,
    Invoiced,
}

class DeleteOldReservationsResponse implements IConvertible
{
    String? CompanyId;
    int? Id;
    DateTime? From;
    DateTime? To;
    BookingStatusEnum? Status;
    int? StatusId;
    ResponseStatus? ResponseStatus;
    DateTime? CreatedDate;
    DateTime? UpdatedDate;

    DeleteOldReservationsResponse({this.CompanyId,this.Id,this.From,this.To,this.Status,this.StatusId,this.ResponseStatus,this.CreatedDate,this.UpdatedDate});
    DeleteOldReservationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        Id = json['Id'];
        From = JsonConverters.fromJson(json['From'],'DateTime',context!);
        To = JsonConverters.fromJson(json['To'],'DateTime',context!);
        Status = JsonConverters.fromJson(json['Status'],'BookingStatusEnum',context!);
        StatusId = json['StatusId'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
        UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'Id': Id,
        'From': JsonConverters.toJson(From,'DateTime',context!),
        'To': JsonConverters.toJson(To,'DateTime',context!),
        'Status': JsonConverters.toJson(Status,'BookingStatusEnum',context!),
        'StatusId': StatusId,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
        'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!)
    };

    getTypeName() => "DeleteOldReservationsResponse";
    TypeContext? context = _ctx;
}

// @ValidateRequest(Validator="IsAuthenticated")
class DeleteOldReservations implements IConvertible
{
    /**
    * 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.")
    String? CompanyId;

    /**
    * The date to delete To. Only bookings that have ended by this date will be deleted.
    */
    // @ApiMember(DataType="datetime", Description="The date to delete To. Only bookings that have ended by this date will be deleted.")
    DateTime? To;

    /**
    * The system type of the code lock
    */
    // @ApiMember(DataType="int", Description="The system type of the code lock", ParameterType="path")
    int? CodeLockSystemsId;

    /**
    * If not logged in you can use token to update
    */
    // @ApiMember(Description="If not logged in you can use token to update")
    String? Token;

    DeleteOldReservations({this.CompanyId,this.To,this.CodeLockSystemsId,this.Token});
    DeleteOldReservations.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        To = JsonConverters.fromJson(json['To'],'DateTime',context!);
        CodeLockSystemsId = json['CodeLockSystemsId'];
        Token = json['Token'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'To': JsonConverters.toJson(To,'DateTime',context!),
        'CodeLockSystemsId': CodeLockSystemsId,
        'Token': Token
    };

    getTypeName() => "DeleteOldReservations";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
    'BookingStatusEnum': TypeInfo(TypeOf.Enum, enumValues:BookingStatusEnum.values),
    'DeleteOldReservationsResponse': TypeInfo(TypeOf.Class, create:() => DeleteOldReservationsResponse()),
    'DeleteOldReservations': TypeInfo(TypeOf.Class, create:() => DeleteOldReservations()),
});

Dart DeleteOldReservations 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.

POST /codelock/{CodeLockSystemsId}/reservations/ HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","CodeLockSystemsId":0,"Token":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Id":0,"Status":"Booked","StatusId":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}