/* Options: Date: 2026-08-02 22:11:06 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: CommitBookingReservation.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class CommitBookingReservationResponse implements IConvertible { /** * The opaque session key that identifies the reservation. */ // @ApiMember(Description="The opaque session key that identifies the reservation.") String SessionKey = ""; /** * The BookingReservationStatus value after commit. */ // @ApiMember(Description="The BookingReservationStatus value after commit.") int StatusCode = 0; /** * The BookingReservationStatus name after commit. */ // @ApiMember(Description="The BookingReservationStatus name after commit.") String StatusName = ""; /** * True when the customer still needs to pay (reservation moved to AwaitingPayment). */ // @ApiMember(Description="True when the customer still needs to pay (reservation moved to AwaitingPayment).") bool PaymentRequired; /** * The created booking id, set when the reservation was converted without payment. */ // @ApiMember(Description="The created booking id, set when the reservation was converted without payment.") int? BookingId; /** * The computed final price of the reservation, if any. */ // @ApiMember(Description="The computed final price of the reservation, if any.") double? Price; /** * The reservation payable reference to use as the checkout InternalReferenceId when PaymentRequired is true. */ // @ApiMember(Description="The reservation payable reference to use as the checkout InternalReferenceId when PaymentRequired is true.") String InternalReferenceId = ""; ResponseStatus ResponseStatus; CommitBookingReservationResponse({this.SessionKey,this.StatusCode,this.StatusName,this.PaymentRequired,this.BookingId,this.Price,this.InternalReferenceId,this.ResponseStatus}); CommitBookingReservationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SessionKey = json['SessionKey']; StatusCode = json['StatusCode']; StatusName = json['StatusName']; PaymentRequired = json['PaymentRequired']; BookingId = json['BookingId']; Price = JsonConverters.toDouble(json['Price']); InternalReferenceId = json['InternalReferenceId']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'SessionKey': SessionKey, 'StatusCode': StatusCode, 'StatusName': StatusName, 'PaymentRequired': PaymentRequired, 'BookingId': BookingId, 'Price': Price, 'InternalReferenceId': InternalReferenceId, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "CommitBookingReservationResponse"; TypeContext? context = _ctx; } // @Route("/bookingreservations/{SessionKey}/commit", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="No reservation found for the given session key", StatusCode=404) // @ApiResponse(Description="The selected slot is no longer available", StatusCode=409) class CommitBookingReservation implements IReturn, ICompany, IConvertible, IPost { /** * 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; /** * Rebate codes to apply when computing the final price. */ // @ApiMember(Description="Rebate codes to apply when computing the final price.") List RebateCodeIds = []; CommitBookingReservation({this.SessionKey,this.CompanyId,this.RebateCodeIds}); CommitBookingReservation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SessionKey = json['SessionKey']; CompanyId = json['CompanyId']; RebateCodeIds = JsonConverters.fromJson(json['RebateCodeIds'],'List',context!); return this; } Map toJson() => { 'SessionKey': SessionKey, 'CompanyId': CompanyId, 'RebateCodeIds': JsonConverters.toJson(RebateCodeIds,'List',context!) }; createResponse() => CommitBookingReservationResponse(); getResponseTypeName() => "CommitBookingReservationResponse"; getTypeName() => "CommitBookingReservation"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'CommitBookingReservationResponse': TypeInfo(TypeOf.Class, create:() => CommitBookingReservationResponse()), 'CommitBookingReservation': TypeInfo(TypeOf.Class, create:() => CommitBookingReservation()), });