""" Options: Date: 2024-11-21 11:31: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: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ 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 ICompany: company_id: Optional[str] = None class PaymentOrigin(str, Enum): HOME_PAGE = 'HomePage' EMBEDDED = 'Embedded' ADMIN = 'Admin' APPS = 'Apps' HOME_PAGE_NEW = 'HomePageNew' class Payson2CheckoutStatus(str, Enum): NONE = 'None' CREATED = 'Created' FORMS_FILLED = 'FormsFilled' READY_TO_PAY = 'ReadyToPay' PROCESSING_PAYMENT = 'ProcessingPayment' READY_TO_SHIP = 'ReadyToShip' SHIPPED = 'Shipped' PAID_TO_ACCOUNT = 'PaidToAccount' CANCELED = 'Canceled' CREDITED = 'Credited' EXPIRED = 'Expired' DENIED = 'Denied' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaysonCheckoutV2Response: # @ApiMember(Description="The checkout id") id: Optional[str] = None """ The checkout id """ # @ApiMember(Description="The code snippet to for checkout module") snippet: Optional[str] = None """ The code snippet to for checkout module """ # @ApiMember(Description="The checkout status") status: Optional[Payson2CheckoutStatus] = None """ The checkout status """ # @Route("/payment/payson/v1/checkout", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaysonV1CreateCheckout(IReturn[PaysonCheckoutV2Response], ICompany): # @ApiMember(Description="The company id.", IsRequired=true) company_id: Optional[str] = None """ The company id. """ # @ApiMember(Description="Internal reference id (Could be booking, could be Article..)") internal_reference_id: Optional[str] = None """ Internal reference id (Could be booking, could be Article..) """ # @ApiMember(Description="The booking id.", IsRequired=true) booking_id: int = 0 """ The booking id. """ # @ApiMember(Description="Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason.") checkout_url: Optional[str] = None """ Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason. """ # @ApiMember(Description="Optional to set your own confirmation url after payment completed.") confirmation_url: Optional[str] = None """ Optional to set your own confirmation url after payment completed. """ # @ApiMember(Description="The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3, 4 = HomePageNew", IsRequired=true) payment_origin: Optional[PaymentOrigin] = None """ The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3, 4 = HomePageNew """ # @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) language: Optional[str] = None """ 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="Articles (Could be Service, rebate code types, etc..", IsRequired=true) articles: Optional[List[ArticleToCreate]] = None """ Articles (Could be Service, rebate code types, etc.. """ # @ApiMember(Description="Determins if it's a test call") test_mode: Optional[str] = None """ Determins if it's a test call """