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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


class BookingStatusEnum(IntEnum):
    BOOKED = 1
    UNBOOKED = 2
    RESERVED = 3
    CANCELED = 4
    AWAITING_PAYMENT = 5
    AWAITING_PAYMENT_NO_TIME_LIMIT = 6
    PAYED = 7
    AWAITING_PAYMENT_REQUEST_FROM_ADMIN = 8
    AWAITING_PAYMENT_FROM_PROVIDER = 9
    INVOICED = 10


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeleteOldReservationsResponse:
    company_id: Optional[str] = None
    id: int = 0
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    status: Optional[BookingStatusEnum] = None
    status_id: int = 0
    response_status: Optional[ResponseStatus] = None
    created_date: datetime.datetime = datetime.datetime(1, 1, 1)
    updated_date: datetime.datetime = datetime.datetime(1, 1, 1)


# @ValidateRequest(Validator="IsAuthenticated")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeleteOldReservations:
    # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    company_id: Optional[str] = None
    """
    The company id, if empty will use the company id for the user you are logged in with.
    """


    # @ApiMember(DataType="datetime", Description="The date to delete To. Only bookings that have ended by this date will be deleted.")
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    """
    The date to delete To. Only bookings that have ended by this date will be deleted.
    """


    # @ApiMember(DataType="int", Description="The system type of the code lock", ParameterType="path")
    code_lock_systems_id: int = 0
    """
    The system type of the code lock
    """


    # @ApiMember(Description="If not logged in you can use token to update")
    token: Optional[str] = None
    """
    If not logged in you can use token to update
    """

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

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

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	CodeLockSystemsId: 0,
	Token: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
		}
	}
}