/* Options: Date: 2026-08-03 00:23:47 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetBookingReservation.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class BookingReservationResponse implements IConvertible { /** * The opaque session key that identifies the reservation. */ // @ApiMember(Description="The opaque session key that identifies the reservation.") String SessionKey = ""; /** * The company id. */ // @ApiMember(Description="The company id.") String CompanyId = ""; /** * The reserved service id. */ // @ApiMember(Description="The reserved service id.") int ServiceId = 0; /** * The reservation start. */ // @ApiMember(Description="The reservation start.") DateTime From = DateTime(0); /** * The reservation end. */ // @ApiMember(Description="The reservation end.") DateTime To = DateTime(0); /** * The BookingReservationStatus value. */ // @ApiMember(Description="The BookingReservationStatus value.") int StatusCode = 0; /** * The BookingReservationStatus name. */ // @ApiMember(Description="The BookingReservationStatus name.") String StatusName = ""; /** * When the hold expires (company-local time). */ // @ApiMember(Description="When the hold expires (company-local time).") DateTime ExpirationDatetime = DateTime(0); /** * Number of reserved spots. */ // @ApiMember(Description="Number of reserved spots.") int NumberOfBookedSpots = 0; /** * The computed price of the reservation, if any. */ // @ApiMember(Description="The computed price of the reservation, if any.") double? Price; /** * The currency of the price, if any. */ // @ApiMember(Description="The currency of the price, if any.") String CurrencyId = ""; /** * Ids of the resources held by the reservation. */ // @ApiMember(Description="Ids of the resources held by the reservation.") List ResourceIds = []; /** * The full in-progress selection payload (wizard/session state) as JSON. */ // @ApiMember(Description="The full in-progress selection payload (wizard/session state) as JSON.") String SelectionPayload = ""; ResponseStatus ResponseStatus; BookingReservationResponse({this.SessionKey,this.CompanyId,this.ServiceId,this.From,this.To,this.StatusCode,this.StatusName,this.ExpirationDatetime,this.NumberOfBookedSpots,this.Price,this.CurrencyId,this.ResourceIds,this.SelectionPayload,this.ResponseStatus}); BookingReservationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SessionKey = json['SessionKey']; CompanyId = json['CompanyId']; ServiceId = json['ServiceId']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); StatusCode = json['StatusCode']; StatusName = json['StatusName']; ExpirationDatetime = JsonConverters.fromJson(json['ExpirationDatetime'],'DateTime',context!); NumberOfBookedSpots = json['NumberOfBookedSpots']; Price = JsonConverters.toDouble(json['Price']); CurrencyId = json['CurrencyId']; ResourceIds = JsonConverters.fromJson(json['ResourceIds'],'List',context!); SelectionPayload = json['SelectionPayload']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'SessionKey': SessionKey, 'CompanyId': CompanyId, 'ServiceId': ServiceId, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'StatusCode': StatusCode, 'StatusName': StatusName, 'ExpirationDatetime': JsonConverters.toJson(ExpirationDatetime,'DateTime',context!), 'NumberOfBookedSpots': NumberOfBookedSpots, 'Price': Price, 'CurrencyId': CurrencyId, 'ResourceIds': JsonConverters.toJson(ResourceIds,'List',context!), 'SelectionPayload': SelectionPayload, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "BookingReservationResponse"; TypeContext? context = _ctx; } // @Route("/bookingreservations/{SessionKey}", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="No reservation found for the given session key", StatusCode=404) class GetBookingReservation implements IReturn, ICompany, IConvertible, IGet { /** * The opaque session key that identifies the reservation. */ // @ApiMember(Description="The opaque session key that identifies the reservation.", IsRequired=true, ParameterType="path") String SessionKey = ""; /** * 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; GetBookingReservation({this.SessionKey,this.CompanyId}); GetBookingReservation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SessionKey = json['SessionKey']; CompanyId = json['CompanyId']; return this; } Map toJson() => { 'SessionKey': SessionKey, 'CompanyId': CompanyId }; createResponse() => BookingReservationResponse(); getResponseTypeName() => "BookingReservationResponse"; getTypeName() => "GetBookingReservation"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'BookingReservationResponse': TypeInfo(TypeOf.Class, create:() => BookingReservationResponse()), 'GetBookingReservation': TypeInfo(TypeOf.Class, create:() => GetBookingReservation()), });