/* Options: Date: 2024-11-21 11:45:56 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PaysonV1CreateCheckout.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } enum PaymentOrigin { HomePage, Embedded, Admin, Apps, HomePageNew, } enum Payson2CheckoutStatus { None, Created, FormsFilled, ReadyToPay, ProcessingPayment, ReadyToShip, Shipped, PaidToAccount, Canceled, Credited, Expired, Denied, } class PaysonCheckoutV2Response implements IConvertible { /** * The checkout id */ // @ApiMember(Description="The checkout id") String? Id; /** * The code snippet to for checkout module */ // @ApiMember(Description="The code snippet to for checkout module") String? Snippet; /** * The checkout status */ // @ApiMember(Description="The checkout status") Payson2CheckoutStatus? Status; PaysonCheckoutV2Response({this.Id,this.Snippet,this.Status}); PaysonCheckoutV2Response.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Snippet = json['Snippet']; Status = JsonConverters.fromJson(json['Status'],'Payson2CheckoutStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Snippet': Snippet, 'Status': JsonConverters.toJson(Status,'Payson2CheckoutStatus',context!) }; getTypeName() => "PaysonCheckoutV2Response"; TypeContext? context = _ctx; } // @Route("/payment/payson/v1/checkout", "POST") class PaysonV1CreateCheckout implements IReturn, ICompany, IConvertible, IPost { /** * The company id. */ // @ApiMember(Description="The company id.", IsRequired=true) String? CompanyId; /** * Internal reference id (Could be booking, could be Article..) */ // @ApiMember(Description="Internal reference id (Could be booking, could be Article..)") String? InternalReferenceId; /** * The booking id. */ // @ApiMember(Description="The booking id.", IsRequired=true) int? BookingId; /** * Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason. */ // @ApiMember(Description="Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason.") Uri? CheckoutUrl; /** * Optional to set your own confirmation url after payment completed. */ // @ApiMember(Description="Optional to set your own confirmation url after payment completed.") Uri? ConfirmationUrl; /** * The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3, 4 = HomePageNew */ // @ApiMember(Description="The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3, 4 = HomePageNew", IsRequired=true) PaymentOrigin? PaymentOrigin; /** * If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used. */ // @ApiMember(Description="If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used.", IsRequired=true) String? Language; /** * Articles (Could be Service, rebate code types, etc.. */ // @ApiMember(Description="Articles (Could be Service, rebate code types, etc..", IsRequired=true) List? Articles; /** * Determins if it's a test call */ // @ApiMember(Description="Determins if it's a test call") String? TestMode; PaysonV1CreateCheckout({this.CompanyId,this.InternalReferenceId,this.BookingId,this.CheckoutUrl,this.ConfirmationUrl,this.PaymentOrigin,this.Language,this.Articles,this.TestMode}); PaysonV1CreateCheckout.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; InternalReferenceId = json['InternalReferenceId']; BookingId = json['BookingId']; CheckoutUrl = JsonConverters.fromJson(json['CheckoutUrl'],'Uri',context!); ConfirmationUrl = JsonConverters.fromJson(json['ConfirmationUrl'],'Uri',context!); PaymentOrigin = JsonConverters.fromJson(json['PaymentOrigin'],'PaymentOrigin',context!); Language = json['Language']; Articles = JsonConverters.fromJson(json['Articles'],'List',context!); TestMode = json['TestMode']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'InternalReferenceId': InternalReferenceId, 'BookingId': BookingId, 'CheckoutUrl': JsonConverters.toJson(CheckoutUrl,'Uri',context!), 'ConfirmationUrl': JsonConverters.toJson(ConfirmationUrl,'Uri',context!), 'PaymentOrigin': JsonConverters.toJson(PaymentOrigin,'PaymentOrigin',context!), 'Language': Language, 'Articles': JsonConverters.toJson(Articles,'List',context!), 'TestMode': TestMode }; createResponse() => PaysonCheckoutV2Response(); getResponseTypeName() => "PaysonCheckoutV2Response"; getTypeName() => "PaysonV1CreateCheckout"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'PaymentOrigin': TypeInfo(TypeOf.Enum, enumValues:PaymentOrigin.values), 'Payson2CheckoutStatus': TypeInfo(TypeOf.Enum, enumValues:Payson2CheckoutStatus.values), 'PaysonCheckoutV2Response': TypeInfo(TypeOf.Class, create:() => PaysonCheckoutV2Response()), 'PaysonV1CreateCheckout': TypeInfo(TypeOf.Class, create:() => PaysonV1CreateCheckout()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ArticleToCreate': TypeInfo(TypeOf.Class, create:() => ArticleToCreate()), });