flamingo.me/flamingo-commerce/v3@v3.11.0/docs/openapi/swagger.yaml (about)

     1  definitions:
     2    ProductMedia:
     3      properties:
     4        MimeType:
     5          type: string
     6        Reference:
     7          type: string
     8        Title:
     9          type: string
    10        Type:
    11          type: string
    12        Usage:
    13          type: string
    14      type: object
    15    application.PlaceOrderPaymentInfo:
    16      properties:
    17        Amount:
    18          $ref: '#/definitions/domain.Price'
    19        CreditCardInfo:
    20          $ref: '#/definitions/placeorder.CreditCardInfo'
    21        Gateway:
    22          type: string
    23        Method:
    24          type: string
    25        PaymentProvider:
    26          type: string
    27        Title:
    28          type: string
    29      type: object
    30    cart.AdditionalData:
    31      properties:
    32        CustomAttributes:
    33          additionalProperties:
    34            type: string
    35          description: CustomAttributes list of key values
    36          type: object
    37        ReservedOrderID:
    38          description: ReservedOrderID is an ID already known by the Cart of the future
    39            order ID
    40          type: string
    41      type: object
    42    cart.Address:
    43      properties:
    44        AdditionalAddressLines:
    45          items:
    46            type: string
    47          type: array
    48        City:
    49          type: string
    50        Company:
    51          type: string
    52        Country:
    53          type: string
    54        CountryCode:
    55          type: string
    56        Email:
    57          type: string
    58        Firstname:
    59          type: string
    60        Lastname:
    61          type: string
    62        MiddleName:
    63          type: string
    64        PostCode:
    65          type: string
    66        RegionCode:
    67          type: string
    68        Salutation:
    69          type: string
    70        State:
    71          type: string
    72        Street:
    73          type: string
    74        StreetNr:
    75          type: string
    76        Telephone:
    77          description: 'Deprecated: parts of number should be distinguished, please
    78            use TelephoneCountryCode, TelephoneAreaCode and TelephoneNumber'
    79          type: string
    80        TelephoneAreaCode:
    81          type: string
    82        TelephoneCountryCode:
    83          type: string
    84        TelephoneNumber:
    85          type: string
    86        Title:
    87          type: string
    88        Vat:
    89          type: string
    90      type: object
    91    cart.AppliedDiscount:
    92      properties:
    93        Applied:
    94          allOf:
    95          - $ref: '#/definitions/domain.Price'
    96          description: 'how much of the discount has been subtracted from cart price,
    97            IMPORTANT: always negative'
    98        CampaignCode:
    99          description: unique code of the underlying campaign or rule e.g. "summer-campaign-2018"
   100          type: string
   101        CouponCode:
   102          description: code of discount e.g. provided by user "summer2018"
   103          type: string
   104        IsItemRelated:
   105          description: flag indicating if the discount is applied due to item in cart
   106          type: boolean
   107        Label:
   108          description: readable name of discount "Super Summer Sale 2018"
   109          type: string
   110        SortOrder:
   111          description: indicates in which order discount have been applied, low value
   112            has been applied before high value
   113          type: integer
   114        Type:
   115          description: to distinguish between discounts
   116          type: string
   117      type: object
   118    cart.AppliedGiftCard:
   119      properties:
   120        Applied:
   121          allOf:
   122          - $ref: '#/definitions/domain.Price'
   123          description: how much of the gift card has been subtracted from cart price
   124        Code:
   125          type: string
   126        CustomAttributes:
   127          additionalProperties: true
   128          description: additional custom attributes
   129          type: object
   130        Remaining:
   131          allOf:
   132          - $ref: '#/definitions/domain.Price'
   133          description: how much of the gift card is still available
   134      type: object
   135    cart.Cart:
   136      properties:
   137        AdditionalData:
   138          allOf:
   139          - $ref: '#/definitions/cart.AdditionalData'
   140          description: AdditionalData can be used for Custom attributes
   141        AppliedCouponCodes:
   142          description: AppliedCouponCodes hold the coupons or discount codes that are
   143            applied to the cart
   144          items:
   145            $ref: '#/definitions/cart.CouponCode'
   146          type: array
   147        AppliedGiftCards:
   148          description: AppliedGiftCards is a list of applied gift cards
   149          items:
   150            $ref: '#/definitions/cart.AppliedGiftCard'
   151          type: array
   152        AuthenticatedUserID:
   153          description: AuthenticatedUserID holds the potential customer ID
   154          type: string
   155        BelongsToAuthenticatedUser:
   156          description: BelongsToAuthenticatedUser displays if the cart is guest cart
   157            (false) or from an authenticated user (true)
   158          type: boolean
   159        BillingAddress:
   160          allOf:
   161          - $ref: '#/definitions/cart.Address'
   162          description: BillingAddress is the main billing address (relevant for all
   163            payments/invoices)
   164        DefaultCurrency:
   165          type: string
   166        Deliveries:
   167          description: Deliveries contains a list of desired Deliveries (or Shipments)
   168            involved in this cart
   169          items:
   170            $ref: '#/definitions/cart.Delivery'
   171          type: array
   172        EntityID:
   173          description: EntityID is a second identifier that may be used by some backends
   174          type: string
   175        GrandTotal:
   176          allOf:
   177          - $ref: '#/definitions/domain.Price'
   178          description: GrandTotal is the final amount that need to be paid by the customer
   179            (gross)
   180        GrandTotalNet:
   181          allOf:
   182          - $ref: '#/definitions/domain.Price'
   183          description: GrandTotalNet is the corresponding net value to GrandTotal
   184        GrandTotalNetWithGiftCards:
   185          allOf:
   186          - $ref: '#/definitions/domain.Price'
   187          description: GrandTotalNetWithGiftCards is the corresponding net value to
   188            GrandTotalWithGiftCards
   189        GrandTotalWithGiftCards:
   190          allOf:
   191          - $ref: '#/definitions/domain.Price'
   192          description: GrandTotalWithGiftCards is the final amount with the applied
   193            gift cards subtracted.
   194        ID:
   195          description: ID is the main identifier of the cart
   196          type: string
   197        ItemRelatedDiscountAmount:
   198          allOf:
   199          - $ref: '#/definitions/domain.Price'
   200          description: ItemRelatedDiscountAmount is the sum of discounts that are related
   201            to the item (including shipping discounts)
   202        NonItemRelatedDiscountAmount:
   203          allOf:
   204          - $ref: '#/definitions/domain.Price'
   205          description: NonItemRelatedDiscountAmount is the sum of discounts that are
   206            not related to the item (including shipping discounts)
   207        PaymentSelection:
   208          description: PaymentSelection is used to store information on "how" the customer
   209            wants to pay
   210        Purchaser:
   211          allOf:
   212          - $ref: '#/definitions/cart.Person'
   213          description: Purchaser hold additional infos for the legal contact person
   214            in this order
   215        ShippingGross:
   216          allOf:
   217          - $ref: '#/definitions/domain.Price'
   218          description: ShippingGross is the sum of all shipping costs including tax
   219        ShippingGrossWithDiscounts:
   220          allOf:
   221          - $ref: '#/definitions/domain.Price'
   222          description: ShippingGrossWithDiscounts is the sum of all shipping costs with
   223            all shipping discounts including tax
   224        ShippingNet:
   225          allOf:
   226          - $ref: '#/definitions/domain.Price'
   227          description: ShippingNet is the sum of all shipping costs
   228        ShippingNetWithDiscounts:
   229          allOf:
   230          - $ref: '#/definitions/domain.Price'
   231          description: ShippingNetWithDiscounts is the sum of all shipping costs with
   232            all shipping discounts
   233        SubTotalGross:
   234          allOf:
   235          - $ref: '#/definitions/domain.Price'
   236          description: SubTotalGross is the sum of all delivery subtotals (without shipping/
   237            discounts)
   238        SubTotalGrossWithDiscounts:
   239          allOf:
   240          - $ref: '#/definitions/domain.Price'
   241          description: SubTotalGrossWithDiscounts is the sum of row gross prices reduced
   242            by the applied discounts
   243        SubTotalNet:
   244          allOf:
   245          - $ref: '#/definitions/domain.Price'
   246          description: SubTotalNet is the sum of all delivery net subtotals (without
   247            shipping/ discounts)
   248        SubTotalNetWithDiscounts:
   249          allOf:
   250          - $ref: '#/definitions/domain.Price'
   251          description: SubTotalNetWithDiscounts is the sum of row net prices reduced
   252            by the net value of the applied discounts
   253        TotalDiscountAmount:
   254          allOf:
   255          - $ref: '#/definitions/domain.Price'
   256          description: TotalDiscountAmount is the sum of all discounts (incl. shipping)
   257        TotalGiftCardAmount:
   258          allOf:
   259          - $ref: '#/definitions/domain.Price'
   260          description: AppliedGiftCardsAmount is the part of GrandTotal which is paid
   261            by gift cards
   262        Totalitems:
   263          description: Additional non taxable totals
   264          items:
   265            $ref: '#/definitions/cart.Totalitem'
   266          type: array
   267      type: object
   268    cart.CouponCode:
   269      properties:
   270        Code:
   271          type: string
   272        CustomAttributes:
   273          additionalProperties: true
   274          description: CustomAttributes can hold additional data for coupon code - keys
   275            and values are project specific
   276          type: object
   277      type: object
   278    cart.Delivery:
   279      properties:
   280        Cartitems:
   281          description: Cartitems is the list of items belonging to this delivery
   282          items:
   283            $ref: '#/definitions/cart.Item'
   284          type: array
   285        DeliveryInfo:
   286          allOf:
   287          - $ref: '#/definitions/cart.DeliveryInfo'
   288          description: DeliveryInfo contains details for this delivery e.g. how and
   289            where the delivery should be delivered to
   290        GrandTotal:
   291          allOf:
   292          - $ref: '#/definitions/domain.Price'
   293          description: GrandTotal contains the final price to pay
   294        ItemRelatedDiscountAmount:
   295          allOf:
   296          - $ref: '#/definitions/domain.Price'
   297          description: ItemRelatedDiscountAmount contains the sum of discounts that
   298            are related to the item, e.g. promo due to product attribute
   299        NonItemRelatedDiscountAmount:
   300          allOf:
   301          - $ref: '#/definitions/domain.Price'
   302          description: NonItemRelatedDiscountAmount contains the sum of discounts that
   303            are not related to the item, e.g. a general promo
   304        ShippingItem:
   305          allOf:
   306          - $ref: '#/definitions/cart.ShippingItem'
   307          description: "ShippingItem\trepresent the shipping cost that may be involved
   308            in this delivery"
   309        SubTotalDiscountAmount:
   310          allOf:
   311          - $ref: '#/definitions/domain.Price'
   312          description: TotalDiscountAmount contains the sum of all discounts (excl.
   313            shipping)
   314        SubTotalGross:
   315          allOf:
   316          - $ref: '#/definitions/domain.Price'
   317          description: SubTotalGross contains the sum of row gross prices, without shipping/discounts
   318        SubTotalGrossWithDiscounts:
   319          allOf:
   320          - $ref: '#/definitions/domain.Price'
   321          description: SubTotalGrossWithDiscounts contains the sum of row gross prices
   322            reduced by the applied discounts
   323        SubTotalNet:
   324          allOf:
   325          - $ref: '#/definitions/domain.Price'
   326          description: SubTotalNet contains the sum of row net prices, without shipping/discounts
   327        SubTotalNetWithDiscounts:
   328          allOf:
   329          - $ref: '#/definitions/domain.Price'
   330          description: SubTotalNetWithDiscounts contains the sum of row net prices reduced
   331            by the net value of the applied discounts
   332        TotalDiscountAmount:
   333          allOf:
   334          - $ref: '#/definitions/domain.Price'
   335          description: TotalDiscountAmount contains the sum of all discounts (incl.
   336            shipping)
   337      type: object
   338    cart.DeliveryInfo:
   339      properties:
   340        AdditionalData:
   341          additionalProperties:
   342            type: string
   343          description: AdditionalData can be used to store project specific information
   344            on the delivery
   345          type: object
   346        Carrier:
   347          description: Carrier optional name of the Carrier that should be responsible
   348            for executing the delivery
   349          type: string
   350        Code:
   351          description: |-
   352            Code is a project specific identifier for the Delivery - you need it for the AddToCart Request for example
   353            the code can follow the convention in the Readme: Type_Method_LocationType_LocationCode
   354          type: string
   355        DeliveryLocation:
   356          allOf:
   357          - $ref: '#/definitions/cart.DeliveryLocation'
   358          description: DeliveryLocation is the target location for the delivery
   359        DesiredTime:
   360          description: DesiredTime is an optional desired time for the delivery
   361          type: string
   362        Method:
   363          description: Method is the shipping method something that is project specific
   364            and that can mean different delivery qualities with different delivery costs
   365          type: string
   366        Workflow:
   367          description: Workflow of the Delivery e.g. delivery or pickup, see DeliveryWorkflowPickup,
   368            DeliveryWorkflowDelivery or DeliveryWorkflowUnspecified
   369          type: string
   370      type: object
   371    cart.DeliveryLocation:
   372      properties:
   373        Address:
   374          allOf:
   375          - $ref: '#/definitions/cart.Address'
   376          description: Address contains the address of the delivery location, maybe
   377            not relevant if the type is not address
   378        Code:
   379          description: Code is an optional identifier of this location/destination
   380          type: string
   381        Type:
   382          description: Type is the type of the delivery - use some of the constant defined
   383            in the package like DeliverylocationTypeAddress
   384          type: string
   385        UseBillingAddress:
   386          description: UseBillingAddress if the address should be taken from billing
   387            (only relevant for type address)
   388          type: boolean
   389      type: object
   390    cart.ExistingCustomerData:
   391      properties:
   392        ID:
   393          description: ID of the customer
   394          type: string
   395      type: object
   396    cart.Item:
   397      properties:
   398        AdditionalData:
   399          additionalProperties:
   400            type: string
   401          type: object
   402        AppliedDiscounts:
   403          description: |-
   404            AppliedDiscounts contains the details about the discounts applied to this item - they can be "itemrelated" or not
   405            itemrelated would be e.g. special price, buy 3 pay 2
   406            non-itemrelated would be e.g. 10% on everything
   407          items:
   408            $ref: '#/definitions/cart.AppliedDiscount'
   409          type: array
   410        BundleConfig:
   411          $ref: '#/definitions/domain.BundleConfiguration'
   412        ExternalReference:
   413          description: |-
   414            ExternalReference can be used by cart service implementations to separate the representation in an external
   415            cart service from the unique item ID
   416          type: string
   417        ID:
   418          description: ID of the item - needs to be unique over the whole cart
   419          type: string
   420        ItemRelatedDiscountAmount:
   421          allOf:
   422          - $ref: '#/definitions/domain.Price'
   423          description: ItemRelatedDiscountAmount is the sum of all itemrelated Discounts
   424        MarketplaceCode:
   425          description: MarketplaceCode is the identifier for the product
   426          type: string
   427        NonItemRelatedDiscountAmount:
   428          allOf:
   429          - $ref: '#/definitions/domain.Price'
   430          description: NonItemRelatedDiscountAmount is the sum of non-itemrelated Discounts
   431            where IsItemRelated = false
   432        ProductName:
   433          type: string
   434        Qty:
   435          type: integer
   436        RowPriceGross:
   437          allOf:
   438          - $ref: '#/definitions/domain.Price'
   439          description: RowPriceGross is the price incl. taxes for the whole Qty of products
   440        RowPriceGrossWithDiscount:
   441          allOf:
   442          - $ref: '#/definitions/domain.Price'
   443          description: |-
   444            RowPriceGrossWithDiscount is the price incl. taxes with deducted discounts for the whole Qty of products
   445            This is in most cases the final price for the customer to pay
   446        RowPriceGrossWithItemRelatedDiscount:
   447          allOf:
   448          - $ref: '#/definitions/domain.Price'
   449          description: RowPriceGrossWithItemRelatedDiscount is the price incl. taxes
   450            with deducted item related discounts for the whole Qty of products
   451        RowPriceNet:
   452          allOf:
   453          - $ref: '#/definitions/domain.Price'
   454          description: RowPriceNet is the price excl. taxes for the whole Qty of products
   455        RowPriceNetWithDiscount:
   456          allOf:
   457          - $ref: '#/definitions/domain.Price'
   458          description: RowPriceNetWithDiscount is the discounted net price for the whole
   459            Qty of products
   460        RowPriceNetWithItemRelatedDiscount:
   461          allOf:
   462          - $ref: '#/definitions/domain.Price'
   463          description: RowPriceNetWithItemRelatedDiscount is the price excl. taxes with
   464            deducted item related discounts for the whole Qty of products
   465        RowTaxes:
   466          description: RowTaxes is a list of all taxes applied for the given Qty of
   467            products
   468          items:
   469            $ref: '#/definitions/cart.Tax'
   470          type: array
   471        SinglePriceGross:
   472          allOf:
   473          - $ref: '#/definitions/domain.Price'
   474          description: SinglePriceGross is the gross price (incl. taxes) for a single
   475            product
   476        SinglePriceNet:
   477          allOf:
   478          - $ref: '#/definitions/domain.Price'
   479          description: SinglePriceNet is the net price (excl. taxes) for a single product
   480        SourceID:
   481          description: Source Id of where the items should be initial picked - This
   482            is set by the SourcingLogic
   483          type: string
   484        TotalDiscountAmount:
   485          allOf:
   486          - $ref: '#/definitions/domain.Price'
   487          description: TotalDiscountAmount is the sum of all applied discounts (aka
   488            the savings for the customer)
   489        VariantMarketPlaceCode:
   490          description: VariantMarketPlaceCode is used for Configurable products
   491          type: string
   492      type: object
   493    cart.Person:
   494      properties:
   495        Address:
   496          $ref: '#/definitions/cart.Address'
   497        ExistingCustomerData:
   498          allOf:
   499          - $ref: '#/definitions/cart.ExistingCustomerData'
   500          description: ExistingCustomerData if the current purchaser is an existing
   501            customer - this contains infos about existing customer
   502        PersonalDetails:
   503          $ref: '#/definitions/cart.PersonalDetails'
   504      type: object
   505    cart.PersonalDetails:
   506      properties:
   507        DateOfBirth:
   508          type: string
   509        Nationality:
   510          type: string
   511        PassportCountry:
   512          type: string
   513        PassportNumber:
   514          type: string
   515      type: object
   516    cart.ShippingItem:
   517      properties:
   518        AppliedDiscounts:
   519          items:
   520            $ref: '#/definitions/cart.AppliedDiscount'
   521          type: array
   522        PriceGross:
   523          $ref: '#/definitions/domain.Price'
   524        PriceGrossWithDiscounts:
   525          $ref: '#/definitions/domain.Price'
   526        PriceNet:
   527          $ref: '#/definitions/domain.Price'
   528        PriceNetWithDiscounts:
   529          $ref: '#/definitions/domain.Price'
   530        TaxAmount:
   531          $ref: '#/definitions/domain.Price'
   532        Title:
   533          type: string
   534      type: object
   535    cart.Tax:
   536      properties:
   537        Amount:
   538          $ref: '#/definitions/domain.Price'
   539        Rate:
   540          type: string
   541        Type:
   542          type: string
   543      type: object
   544    cart.Teaser:
   545      properties:
   546        DeliveryCodes:
   547          items:
   548            type: string
   549          type: array
   550        ItemCount:
   551          type: integer
   552        ProductCount:
   553          type: integer
   554      type: object
   555    cart.Totalitem:
   556      properties:
   557        Code:
   558          type: string
   559        Price:
   560          $ref: '#/definitions/domain.Price'
   561        Title:
   562          type: string
   563        Type:
   564          type: string
   565      type: object
   566    cartResultError:
   567      properties:
   568        Code:
   569          type: string
   570        Message:
   571          type: string
   572      type: object
   573    checkoutError:
   574      properties:
   575        Code:
   576          type: string
   577        Message:
   578          type: string
   579      type: object
   580    controller.APIResult:
   581      properties:
   582        Error:
   583          $ref: '#/definitions/productResultError'
   584        Product: {}
   585        Success:
   586          type: boolean
   587      type: object
   588    controller.CartAPIResult:
   589      properties:
   590        CartTeaser:
   591          $ref: '#/definitions/cart.Teaser'
   592        CartValidationResult:
   593          $ref: '#/definitions/validation.Result'
   594        Data: {}
   595        DataValidationInfo:
   596          type: object
   597        Error:
   598          allOf:
   599          - $ref: '#/definitions/cartResultError'
   600          description: Contains details if success is false
   601        Success:
   602          type: boolean
   603      type: object
   604    controller.getCartResult:
   605      properties:
   606        Cart:
   607          $ref: '#/definitions/cart.Cart'
   608        CartValidationResult:
   609          $ref: '#/definitions/validation.Result'
   610      type: object
   611    controller.placeOrderContext:
   612      properties:
   613        Cart:
   614          $ref: '#/definitions/cart.Cart'
   615        CartValidationResult:
   616          $ref: '#/definitions/validation.Result'
   617        FailedReason:
   618          type: string
   619        OrderInfos:
   620          $ref: '#/definitions/controller.placedOrderInfos'
   621        State:
   622          type: string
   623        StateData: {}
   624        UUID:
   625          type: string
   626      type: object
   627    controller.placedOrderInfos:
   628      properties:
   629        Email:
   630          type: string
   631        PaymentInfos:
   632          items:
   633            $ref: '#/definitions/application.PlaceOrderPaymentInfo'
   634          type: array
   635        PlacedDecoratedCart:
   636          $ref: '#/definitions/decorator.DecoratedCart'
   637        PlacedOrderInfos:
   638          items:
   639            $ref: '#/definitions/placeorder.PlacedOrderInfo'
   640          type: array
   641      type: object
   642    controller.startPlaceOrderResult:
   643      properties:
   644        UUID:
   645          type: string
   646      type: object
   647    decorator.DecoratedCart:
   648      properties:
   649        Cart:
   650          $ref: '#/definitions/cart.Cart'
   651        DecoratedDeliveries:
   652          items:
   653            $ref: '#/definitions/decorator.DecoratedDelivery'
   654          type: array
   655      type: object
   656    decorator.DecoratedCartItem:
   657      properties:
   658        Item:
   659          $ref: '#/definitions/cart.Item'
   660        Product: {}
   661      type: object
   662    decorator.DecoratedDelivery:
   663      properties:
   664        DecoratedItems:
   665          items:
   666            $ref: '#/definitions/decorator.DecoratedCartItem'
   667          type: array
   668        Delivery:
   669          $ref: '#/definitions/cart.Delivery'
   670      type: object
   671    domain.Attributes:
   672      additionalProperties: {}
   673      type: object
   674    domain.Badge:
   675      properties:
   676        Code:
   677          type: string
   678        Label:
   679          type: string
   680      type: object
   681    domain.BundleConfiguration:
   682      additionalProperties:
   683        $ref: '#/definitions/domain.ChoiceConfiguration'
   684      type: object
   685    domain.CategoryTeaser:
   686      properties:
   687        Code:
   688          description: Code the identifier of the Category
   689          type: string
   690        Name:
   691          description: Name is the speaking name of the category
   692          type: string
   693        Path:
   694          description: The Path (root to leaf) for this Category - separated by "/"
   695          type: string
   696      type: object
   697    domain.ChoiceConfiguration:
   698      properties:
   699        MarketplaceCode:
   700          type: string
   701        Qty:
   702          type: integer
   703        VariantMarketplaceCode:
   704          type: string
   705      type: object
   706    domain.Error:
   707      properties:
   708        ErrorCode:
   709          type: string
   710        ErrorMessage:
   711          type: string
   712      type: object
   713    domain.FlowActionData:
   714      properties:
   715        DisplayData:
   716          description: DisplayData holds data, normally HTML to be displayed to the
   717            user
   718          type: string
   719        FormParameter:
   720          additionalProperties:
   721            $ref: '#/definitions/domain.FormField'
   722          type: object
   723        URL:
   724          description: URL is used to pass URL data to the user if the current state
   725            needs some
   726          type: string
   727        WalletDetails:
   728          $ref: '#/definitions/domain.WalletDetails'
   729      type: object
   730    domain.FlowStatus:
   731      properties:
   732        Action:
   733          description: Action to perform to proceed in the payment flow. If status is
   734            "payment_waiting_for_customer" this field contains information about what
   735            to do - e.g. "redirect" or "show_iframe"
   736          type: string
   737        ActionData:
   738          $ref: '#/definitions/domain.FlowActionData'
   739        Data:
   740          description: Data contains additional information related to the action /
   741            flow
   742        Error:
   743          allOf:
   744          - $ref: '#/definitions/domain.Error'
   745          description: Error contains additional information in case of an error (e.g.
   746            payment failed)
   747        Status:
   748          description: Status of the payment flow. E.g. "payment_completed", "payment_waiting_for_customer"
   749            or "payment_failed"
   750          type: string
   751      type: object
   752    domain.FormField:
   753      properties:
   754        Value:
   755          items:
   756            type: string
   757          type: array
   758      type: object
   759    domain.LoyaltyEarningInfo:
   760      properties:
   761        Default:
   762          $ref: '#/definitions/domain.Price'
   763        Type:
   764          type: string
   765      type: object
   766    domain.LoyaltyPriceInfo:
   767      properties:
   768        Context:
   769          $ref: '#/definitions/domain.PriceContext'
   770        Default:
   771          $ref: '#/definitions/domain.Price'
   772        DiscountText:
   773          type: string
   774        Discounted:
   775          $ref: '#/definitions/domain.Price'
   776        IsDiscounted:
   777          type: boolean
   778        MaxPointsToSpent:
   779          type: string
   780        MinPointsToSpent:
   781          type: string
   782        Type:
   783          description: Type or Name of the Loyalty program
   784          type: string
   785      type: object
   786    domain.PaymentRequestAPI:
   787      properties:
   788        CompleteURL:
   789          type: string
   790        Details:
   791          type: string
   792        MerchantValidationURL:
   793          type: string
   794        Methods:
   795          type: string
   796        Options:
   797          type: string
   798      type: object
   799    domain.Price:
   800      type: object
   801    domain.PriceContext:
   802      properties:
   803        ChannelCode:
   804          type: string
   805        CustomerGroup:
   806          type: string
   807        DeliveryCode:
   808          type: string
   809        Locale:
   810          type: string
   811      type: object
   812    domain.PriceInfo:
   813      properties:
   814        ActiveBase:
   815          type: string
   816        ActiveBaseAmount:
   817          type: string
   818        ActiveBaseUnit:
   819          type: string
   820        CampaignRules:
   821          items:
   822            type: string
   823          type: array
   824        Context:
   825          $ref: '#/definitions/domain.PriceContext'
   826        Default:
   827          $ref: '#/definitions/domain.Price'
   828        DenyMoreDiscounts:
   829          type: boolean
   830        DiscountText:
   831          type: string
   832        Discounted:
   833          $ref: '#/definitions/domain.Price'
   834        IsDiscounted:
   835          type: boolean
   836        TaxClass:
   837          type: string
   838      type: object
   839    domain.SimpleProduct:
   840      properties:
   841        ActiveLoyaltyPrice:
   842          $ref: '#/definitions/domain.LoyaltyPriceInfo'
   843        ActivePrice:
   844          $ref: '#/definitions/domain.PriceInfo'
   845        Attributes:
   846          $ref: '#/definitions/domain.Attributes'
   847        AvailablePrices:
   848          items:
   849            $ref: '#/definitions/domain.PriceInfo'
   850          type: array
   851        Badges:
   852          items:
   853            $ref: '#/definitions/domain.Badge'
   854          type: array
   855        Categories:
   856          items:
   857            $ref: '#/definitions/domain.CategoryTeaser'
   858          type: array
   859        CategoryToCodeMapping:
   860          items:
   861            type: string
   862          type: array
   863        CreatedAt:
   864          type: string
   865        Description:
   866          type: string
   867        Identifier:
   868          type: string
   869        IsNew:
   870          type: boolean
   871        IsSaleable:
   872          type: boolean
   873        Keywords:
   874          items:
   875            type: string
   876          type: array
   877        LoyaltyEarnings:
   878          description: LoyaltyEarnings holds optional infos about potential loyalty
   879            earnings
   880          items:
   881            $ref: '#/definitions/domain.LoyaltyEarningInfo'
   882          type: array
   883        LoyaltyPrices:
   884          description: LoyaltyPrices holds optional infos for products that can be paid
   885            in a loyalty program
   886          items:
   887            $ref: '#/definitions/domain.LoyaltyPriceInfo'
   888          type: array
   889        MainCategory:
   890          $ref: '#/definitions/domain.CategoryTeaser'
   891        MarketPlaceCode:
   892          type: string
   893        Media:
   894          items:
   895            $ref: '#/definitions/ProductMedia'
   896          type: array
   897        RetailerCode:
   898          type: string
   899        RetailerName:
   900          type: string
   901        RetailerSku:
   902          type: string
   903        SaleableFrom:
   904          type: string
   905        SaleableTo:
   906          type: string
   907        ShortDescription:
   908          type: string
   909        Stock:
   910          items:
   911            $ref: '#/definitions/domain.Stock'
   912          type: array
   913        StockLevel:
   914          description: 'Deprecated: use Stock[x].Level instead'
   915          type: string
   916        Teaser:
   917          $ref: '#/definitions/domain.TeaserData'
   918        Title:
   919          type: string
   920        UpdatedAt:
   921          type: string
   922        VisibleFrom:
   923          type: string
   924        VisibleTo:
   925          type: string
   926      type: object
   927    domain.Stock:
   928      properties:
   929        Amount:
   930          type: integer
   931        DeliveryCode:
   932          type: string
   933        InStock:
   934          type: boolean
   935        Level:
   936          type: string
   937      type: object
   938    domain.TeaserData:
   939      properties:
   940        Badges:
   941          description: Badges optional slice of badges to teaser a product
   942          items:
   943            $ref: '#/definitions/domain.Badge'
   944          type: array
   945        MarketPlaceCode:
   946          description: The sku that should be used to link from Teasers
   947          type: string
   948        Media:
   949          description: Media
   950          items:
   951            $ref: '#/definitions/ProductMedia'
   952          type: array
   953        PreSelectedVariantSku:
   954          description: PreSelectedVariantSku might be set for configurables to give
   955            a hint to link to a variant of a configurable (That might be the case if
   956            a user filters for an attribute and in the teaser the variant with that
   957            attribute is shown)
   958          type: string
   959        ShortDescription:
   960          type: string
   961        ShortTitle:
   962          type: string
   963        TeaserAvailablePrices:
   964          items:
   965            $ref: '#/definitions/domain.PriceInfo'
   966          type: array
   967        TeaserLoyaltyEarningInfo:
   968          allOf:
   969          - $ref: '#/definitions/domain.LoyaltyEarningInfo'
   970          description: TeaserLoyaltyEarning is the teaser for the loyalty earning used
   971            in grid / list view
   972        TeaserLoyaltyPriceInfo:
   973          allOf:
   974          - $ref: '#/definitions/domain.LoyaltyPriceInfo'
   975          description: TeaserLoyaltyPriceInfo is the loyalty price that can be used
   976            for teaser (e.g. on listing views)
   977        TeaserPrice:
   978          allOf:
   979          - $ref: '#/definitions/domain.PriceInfo'
   980          description: TeaserPrice is the price that should be shown in teasers (listview)
   981        TeaserPriceIsFromPrice:
   982          description: TeaserPriceIsFromPrice is set to true in cases where a product
   983            might have different prices (e.g. configurable)
   984          type: boolean
   985        URLSlug:
   986          type: string
   987      type: object
   988    domain.WalletDetails:
   989      properties:
   990        PaymentRequestAPI:
   991          $ref: '#/definitions/domain.PaymentRequestAPI'
   992        UsedPaymentMethod:
   993          type: string
   994      type: object
   995    paymentResultError:
   996      properties:
   997        Code:
   998          type: string
   999        Message:
  1000          type: string
  1001      type: object
  1002    placeorder.CreditCardInfo:
  1003      properties:
  1004        AnonymizedCardNumber:
  1005          type: string
  1006        CardHolder:
  1007          type: string
  1008        Expire:
  1009          type: string
  1010        Type:
  1011          type: string
  1012      type: object
  1013    placeorder.PlacedOrderInfo:
  1014      properties:
  1015        DeliveryCode:
  1016          type: string
  1017        OrderNumber:
  1018          type: string
  1019      type: object
  1020    productResultError:
  1021      properties:
  1022        Code:
  1023          type: string
  1024        Message:
  1025          type: string
  1026      type: object
  1027    validation.ItemValidationError:
  1028      properties:
  1029        ErrorMessageKey:
  1030          type: string
  1031        ItemID:
  1032          type: string
  1033      type: object
  1034    validation.Result:
  1035      properties:
  1036        CommonErrorMessageKey:
  1037          type: string
  1038        HasCommonError:
  1039          type: boolean
  1040        ItemResults:
  1041          items:
  1042            $ref: '#/definitions/validation.ItemValidationError'
  1043          type: array
  1044      type: object
  1045  info:
  1046    contact:
  1047      email: flamingo@aoe.com
  1048      name: Flamingo
  1049      url: https://gitter.im/i-love-flamingo/community#
  1050    description: Swagger (OpenAPI) Spec of all Flamingo Commerce modules
  1051    license:
  1052      name: MIT
  1053    title: Flamingo Commerce API Spec
  1054    version: "1.0"
  1055  paths:
  1056    /api/v1/cart:
  1057      delete:
  1058        produces:
  1059        - application/json
  1060        responses:
  1061          "200":
  1062            description: OK
  1063            schema:
  1064              $ref: '#/definitions/controller.CartAPIResult'
  1065          "500":
  1066            description: Internal Server Error
  1067            schema:
  1068              $ref: '#/definitions/controller.CartAPIResult'
  1069        summary: Remove all stored cart information e.g. items, deliveries, billing
  1070          address and returns the empty cart.
  1071        tags:
  1072        - Cart
  1073      get:
  1074        produces:
  1075        - application/json
  1076        responses:
  1077          "200":
  1078            description: OK
  1079            schema:
  1080              $ref: '#/definitions/controller.getCartResult'
  1081          "500":
  1082            description: Internal Server Error
  1083            schema:
  1084              $ref: '#/definitions/controller.CartAPIResult'
  1085        summary: Get the current cart
  1086        tags:
  1087        - Cart
  1088    /api/v1/cart/billing:
  1089      put:
  1090        consumes:
  1091        - application/x-www-form-urlencoded
  1092        parameters:
  1093        - description: vat
  1094          in: formData
  1095          name: vat
  1096          type: string
  1097        - description: firstname
  1098          in: formData
  1099          name: firstname
  1100          required: true
  1101          type: string
  1102        - description: lastname
  1103          in: formData
  1104          name: lastname
  1105          required: true
  1106          type: string
  1107        - description: middlename
  1108          in: formData
  1109          name: middlename
  1110          type: string
  1111        - description: title
  1112          in: formData
  1113          name: title
  1114          type: string
  1115        - description: salutation
  1116          in: formData
  1117          name: salutation
  1118          type: string
  1119        - description: street
  1120          in: formData
  1121          name: street
  1122          type: string
  1123        - description: streetNr
  1124          in: formData
  1125          name: streetNr
  1126          type: string
  1127        - description: addressLine1
  1128          in: formData
  1129          name: addressLine1
  1130          type: string
  1131        - description: addressLine2
  1132          in: formData
  1133          name: addressLine2
  1134          type: string
  1135        - description: company
  1136          in: formData
  1137          name: company
  1138          type: string
  1139        - description: postCode
  1140          in: formData
  1141          name: postCode
  1142          type: string
  1143        - description: city
  1144          in: formData
  1145          name: city
  1146          type: string
  1147        - description: state
  1148          in: formData
  1149          name: state
  1150          type: string
  1151        - description: regionCode
  1152          in: formData
  1153          name: regionCode
  1154          type: string
  1155        - description: country
  1156          in: formData
  1157          name: country
  1158          type: string
  1159        - description: countryCode
  1160          in: formData
  1161          name: countryCode
  1162          type: string
  1163        - description: phoneAreaCode
  1164          in: formData
  1165          name: phoneAreaCode
  1166          type: string
  1167        - description: phoneCountryCode
  1168          in: formData
  1169          name: phoneCountryCode
  1170          type: string
  1171        - description: phoneNumber
  1172          in: formData
  1173          name: phoneNumber
  1174          type: string
  1175        - description: email
  1176          in: formData
  1177          name: email
  1178          required: true
  1179          type: string
  1180        produces:
  1181        - application/json
  1182        responses:
  1183          "200":
  1184            description: OK
  1185            schema:
  1186              $ref: '#/definitions/controller.CartAPIResult'
  1187          "500":
  1188            description: Internal Server Error
  1189            schema:
  1190              $ref: '#/definitions/controller.CartAPIResult'
  1191        summary: Adds billing infos to the current cart
  1192        tags:
  1193        - Cart
  1194    /api/v1/cart/deliveries/items:
  1195      delete:
  1196        produces:
  1197        - application/json
  1198        responses:
  1199          "200":
  1200            description: OK
  1201            schema:
  1202              $ref: '#/definitions/controller.CartAPIResult'
  1203          "500":
  1204            description: Internal Server Error
  1205            schema:
  1206              $ref: '#/definitions/controller.CartAPIResult'
  1207        summary: Remove all cart items from all deliveries and return the cart, keeps
  1208          the delivery info untouched.
  1209        tags:
  1210        - Cart
  1211    /api/v1/cart/delivery/{deliveryCode}:
  1212      delete:
  1213        parameters:
  1214        - description: the identifier for the delivery in the cart
  1215          in: path
  1216          name: deliveryCode
  1217          required: true
  1218          type: string
  1219        produces:
  1220        - application/json
  1221        responses:
  1222          "200":
  1223            description: OK
  1224            schema:
  1225              $ref: '#/definitions/controller.CartAPIResult'
  1226          "500":
  1227            description: Internal Server Error
  1228            schema:
  1229              $ref: '#/definitions/controller.CartAPIResult'
  1230        summary: Cleans the given delivery from the cart
  1231        tags:
  1232        - Cart
  1233      put:
  1234        consumes:
  1235        - application/x-www-form-urlencoded
  1236        parameters:
  1237        - description: the identifier for the delivery in the cart
  1238          in: path
  1239          name: deliveryCode
  1240          required: true
  1241          type: string
  1242        - description: vat
  1243          in: formData
  1244          name: deliveryAddress.vat
  1245          type: string
  1246        - description: firstname
  1247          in: formData
  1248          name: deliveryAddress.firstname
  1249          required: true
  1250          type: string
  1251        - description: lastname
  1252          in: formData
  1253          name: deliveryAddress.lastname
  1254          required: true
  1255          type: string
  1256        - description: middlename
  1257          in: formData
  1258          name: deliveryAddress.middlename
  1259          type: string
  1260        - description: title
  1261          in: formData
  1262          name: deliveryAddress.title
  1263          type: string
  1264        - description: salutation
  1265          in: formData
  1266          name: deliveryAddress.salutation
  1267          type: string
  1268        - description: street
  1269          in: formData
  1270          name: deliveryAddress.street
  1271          type: string
  1272        - description: streetNr
  1273          in: formData
  1274          name: deliveryAddress.streetNr
  1275          type: string
  1276        - description: addressLine1
  1277          in: formData
  1278          name: deliveryAddress.addressLine1
  1279          type: string
  1280        - description: addressLine2
  1281          in: formData
  1282          name: deliveryAddress.addressLine2
  1283          type: string
  1284        - description: company
  1285          in: formData
  1286          name: deliveryAddress.company
  1287          type: string
  1288        - description: postCode
  1289          in: formData
  1290          name: deliveryAddress.postCode
  1291          type: string
  1292        - description: city
  1293          in: formData
  1294          name: deliveryAddress.city
  1295          type: string
  1296        - description: state
  1297          in: formData
  1298          name: deliveryAddress.state
  1299          type: string
  1300        - description: regionCode
  1301          in: formData
  1302          name: deliveryAddress.regionCode
  1303          type: string
  1304        - description: country
  1305          in: formData
  1306          name: deliveryAddress.country
  1307          type: string
  1308        - description: countryCode
  1309          in: formData
  1310          name: deliveryAddress.countryCode
  1311          type: string
  1312        - description: phoneAreaCode
  1313          in: formData
  1314          name: deliveryAddress.phoneAreaCode
  1315          type: string
  1316        - description: phoneCountryCode
  1317          in: formData
  1318          name: deliveryAddress.phoneCountryCode
  1319          type: string
  1320        - description: phoneNumber
  1321          in: formData
  1322          name: deliveryAddress.phoneNumber
  1323          type: string
  1324        - description: email
  1325          in: formData
  1326          name: deliveryAddress.email
  1327          required: true
  1328          type: string
  1329        - description: useBillingAddress
  1330          in: formData
  1331          name: useBillingAddress
  1332          type: boolean
  1333        - description: shippingMethod
  1334          in: formData
  1335          name: shippingMethod
  1336          type: string
  1337        - description: shippingCarrier
  1338          in: formData
  1339          name: shippingCarrier
  1340          type: string
  1341        - description: locationCode
  1342          in: formData
  1343          name: locationCode
  1344          type: string
  1345        - description: desired date/time in RFC3339
  1346          format: date-time
  1347          in: formData
  1348          name: desiredTime
  1349          type: string
  1350        produces:
  1351        - application/json
  1352        responses:
  1353          "200":
  1354            description: OK
  1355            schema:
  1356              $ref: '#/definitions/controller.CartAPIResult'
  1357          "500":
  1358            description: Internal Server Error
  1359            schema:
  1360              $ref: '#/definitions/controller.CartAPIResult'
  1361        summary: Adds delivery infos, such as shipping address to the delivery for the
  1362          cart
  1363        tags:
  1364        - Cart
  1365    /api/v1/cart/delivery/{deliveryCode}/item:
  1366      delete:
  1367        parameters:
  1368        - description: the identifier for the delivery in the cart
  1369          in: path
  1370          name: deliveryCode
  1371          required: true
  1372          type: string
  1373        - description: the item that should be deleted
  1374          in: query
  1375          name: itemID
  1376          required: true
  1377          type: string
  1378        produces:
  1379        - application/json
  1380        responses:
  1381          "200":
  1382            description: OK
  1383            schema:
  1384              $ref: '#/definitions/controller.CartAPIResult'
  1385          "500":
  1386            description: Internal Server Error
  1387            schema:
  1388              $ref: '#/definitions/controller.CartAPIResult'
  1389        summary: Delete item from cart
  1390        tags:
  1391        - Cart
  1392      post:
  1393        parameters:
  1394        - description: the identifier for the delivery in the cart
  1395          in: path
  1396          name: deliveryCode
  1397          required: true
  1398          type: string
  1399        - description: the product identifier that should be added
  1400          in: query
  1401          name: marketplaceCode
  1402          required: true
  1403          type: string
  1404        - description: optional the product identifier of the variant (for configurable
  1405            products) that should be added
  1406          in: query
  1407          name: variantMarketplaceCode
  1408          type: string
  1409        - description: optional the qty that should be added
  1410          in: query
  1411          name: qty
  1412          type: integer
  1413        produces:
  1414        - application/json
  1415        responses:
  1416          "200":
  1417            description: OK
  1418            schema:
  1419              $ref: '#/definitions/controller.CartAPIResult'
  1420          "500":
  1421            description: Internal Server Error
  1422            schema:
  1423              $ref: '#/definitions/controller.CartAPIResult'
  1424        summary: Add Item to cart
  1425        tags:
  1426        - Cart
  1427      put:
  1428        parameters:
  1429        - description: the identifier for the delivery in the cart
  1430          in: path
  1431          name: deliveryCode
  1432          required: true
  1433          type: string
  1434        - description: the item that should be updated
  1435          in: query
  1436          name: itemID
  1437          required: true
  1438          type: string
  1439        - description: the new qty
  1440          in: query
  1441          name: qty
  1442          required: true
  1443          type: integer
  1444        produces:
  1445        - application/json
  1446        responses:
  1447          "200":
  1448            description: OK
  1449            schema:
  1450              $ref: '#/definitions/controller.CartAPIResult'
  1451          "500":
  1452            description: Internal Server Error
  1453            schema:
  1454              $ref: '#/definitions/controller.CartAPIResult'
  1455        summary: Update item in the cart
  1456        tags:
  1457        - Cart
  1458    /api/v1/cart/gift-card:
  1459      delete:
  1460        parameters:
  1461        - description: the couponCode that should be deleted as gift card
  1462          in: query
  1463          name: couponCode
  1464          required: true
  1465          type: string
  1466        produces:
  1467        - application/json
  1468        responses:
  1469          "200":
  1470            description: OK
  1471            schema:
  1472              $ref: '#/definitions/controller.CartAPIResult'
  1473          "500":
  1474            description: Internal Server Error
  1475            schema:
  1476              $ref: '#/definitions/controller.CartAPIResult'
  1477        summary: Remove Gift Card
  1478        tags:
  1479        - Cart
  1480      post:
  1481        parameters:
  1482        - description: the gift card code
  1483          in: query
  1484          name: couponCode
  1485          required: true
  1486          type: string
  1487        produces:
  1488        - application/json
  1489        responses:
  1490          "200":
  1491            description: OK
  1492            schema:
  1493              $ref: '#/definitions/controller.CartAPIResult'
  1494          "500":
  1495            description: Internal Server Error
  1496            schema:
  1497              $ref: '#/definitions/controller.CartAPIResult'
  1498        summary: Apply Gift Card
  1499        tags:
  1500        - Cart
  1501    /api/v1/cart/payment-selection:
  1502      put:
  1503        parameters:
  1504        - description: name of the payment gateway - e.g. 'offline'
  1505          in: query
  1506          name: gateway
  1507          required: true
  1508          type: string
  1509        - description: name of the payment method - e.g. 'offlinepayment_cashondelivery'
  1510          in: query
  1511          name: method
  1512          required: true
  1513          type: string
  1514        produces:
  1515        - application/json
  1516        responses:
  1517          "200":
  1518            description: OK
  1519            schema:
  1520              $ref: '#/definitions/controller.CartAPIResult'
  1521          "500":
  1522            description: Internal Server Error
  1523            schema:
  1524              $ref: '#/definitions/controller.CartAPIResult'
  1525        summary: Update/set the PaymentSelection for the current cart
  1526        tags:
  1527        - Cart
  1528    /api/v1/cart/voucher:
  1529      delete:
  1530        parameters:
  1531        - description: the couponCode that should be applied
  1532          in: query
  1533          name: couponCode
  1534          required: true
  1535          type: string
  1536        produces:
  1537        - application/json
  1538        responses:
  1539          "200":
  1540            description: OK
  1541            schema:
  1542              $ref: '#/definitions/controller.CartAPIResult'
  1543          "500":
  1544            description: Internal Server Error
  1545            schema:
  1546              $ref: '#/definitions/controller.CartAPIResult'
  1547        summary: Remove Voucher Code
  1548        tags:
  1549        - Cart
  1550      post:
  1551        parameters:
  1552        - description: the couponCode that should be applied
  1553          in: query
  1554          name: couponCode
  1555          required: true
  1556          type: string
  1557        produces:
  1558        - application/json
  1559        responses:
  1560          "200":
  1561            description: OK
  1562            schema:
  1563              $ref: '#/definitions/controller.CartAPIResult'
  1564          "500":
  1565            description: Internal Server Error
  1566            schema:
  1567              $ref: '#/definitions/controller.CartAPIResult'
  1568        summary: Apply Voucher Code
  1569        tags:
  1570        - Cart
  1571    /api/v1/cart/voucher-gift-card:
  1572      post:
  1573        description: Use this if you have one user input and that input can be used
  1574          to either enter a voucher or a gift card
  1575        parameters:
  1576        - description: the couponCode that should be applied as gift card or voucher
  1577          in: query
  1578          name: couponCode
  1579          required: true
  1580          type: string
  1581        produces:
  1582        - application/json
  1583        responses:
  1584          "200":
  1585            description: OK
  1586            schema:
  1587              $ref: '#/definitions/controller.CartAPIResult'
  1588          "500":
  1589            description: Internal Server Error
  1590            schema:
  1591              $ref: '#/definitions/controller.CartAPIResult'
  1592        summary: Apply Gift Card or Voucher (auto detected)
  1593        tags:
  1594        - Cart
  1595    /api/v1/checkout/placeorder:
  1596      delete:
  1597        produces:
  1598        - application/json
  1599        responses:
  1600          "200":
  1601            description: OK
  1602            schema:
  1603              type: boolean
  1604          "500":
  1605            description: Internal Server Error
  1606            schema:
  1607              $ref: '#/definitions/checkoutError'
  1608        summary: Clears the last placed order if in final state
  1609        tags:
  1610        - Checkout
  1611      get:
  1612        produces:
  1613        - application/json
  1614        responses:
  1615          "200":
  1616            description: OK
  1617            schema:
  1618              $ref: '#/definitions/controller.placeOrderContext'
  1619          "500":
  1620            description: Internal Server Error
  1621            schema:
  1622              $ref: '#/definitions/checkoutError'
  1623        summary: Returns the last saved context
  1624        tags:
  1625        - Checkout
  1626      put:
  1627        parameters:
  1628        - description: the returnURL that should be used after an external payment flow
  1629          in: query
  1630          name: returnURL
  1631          required: true
  1632          type: string
  1633        produces:
  1634        - application/json
  1635        responses:
  1636          "201":
  1637            description: 201 if new process was started
  1638            schema:
  1639              $ref: '#/definitions/controller.startPlaceOrderResult'
  1640          "400":
  1641            description: Bad Request
  1642            schema:
  1643              $ref: '#/definitions/checkoutError'
  1644          "500":
  1645            description: Internal Server Error
  1646            schema:
  1647              $ref: '#/definitions/checkoutError'
  1648        summary: Starts the place order process, which is a background process handling
  1649          payment and rollbacks if required.
  1650        tags:
  1651        - Checkout
  1652    /api/v1/checkout/placeorder/cancel:
  1653      post:
  1654        produces:
  1655        - application/json
  1656        responses:
  1657          "200":
  1658            description: OK
  1659            schema:
  1660              type: boolean
  1661          "500":
  1662            description: Internal Server Error
  1663            schema:
  1664              $ref: '#/definitions/checkoutError'
  1665        summary: Cancels a running place order process
  1666        tags:
  1667        - Checkout
  1668    /api/v1/checkout/placeorder/refresh:
  1669      post:
  1670        produces:
  1671        - application/json
  1672        responses:
  1673          "200":
  1674            description: OK
  1675            schema:
  1676              $ref: '#/definitions/controller.placeOrderContext'
  1677          "500":
  1678            description: Internal Server Error
  1679            schema:
  1680              $ref: '#/definitions/checkoutError'
  1681        summary: Returns the current place order context and proceeds the process in
  1682          a non blocking way
  1683        tags:
  1684        - Checkout
  1685    /api/v1/checkout/placeorder/refresh-blocking:
  1686      post:
  1687        description: This is useful to get the most recent place order context, for
  1688          example after returning from an external payment provider
  1689        produces:
  1690        - application/json
  1691        responses:
  1692          "200":
  1693            description: OK
  1694            schema:
  1695              $ref: '#/definitions/controller.placeOrderContext'
  1696          "500":
  1697            description: Internal Server Error
  1698            schema:
  1699              $ref: '#/definitions/checkoutError'
  1700        summary: Proceeds the process and returns the place order context afterwards
  1701          (blocking)
  1702        tags:
  1703        - Checkout
  1704    /api/v1/payment/status:
  1705      get:
  1706        produces:
  1707        - application/json
  1708        responses:
  1709          "200":
  1710            description: OK
  1711            schema:
  1712              allOf:
  1713              - $ref: '#/definitions/domain.FlowStatus'
  1714              - properties:
  1715                  data:
  1716                    $ref: '#/definitions/cart.Cart'
  1717                type: object
  1718          "500":
  1719            description: Internal Server Error
  1720            schema:
  1721              $ref: '#/definitions/paymentResultError'
  1722        summary: Get the payment status of current cart (or last placed cart)
  1723        tags:
  1724        - Payment
  1725    /api/v1/products/{marketplacecode}:
  1726      get:
  1727        parameters:
  1728        - description: the marketplace code (idendifier) for the product
  1729          in: path
  1730          name: marketplacecode
  1731          required: true
  1732          type: string
  1733        produces:
  1734        - application/json
  1735        responses:
  1736          "200":
  1737            description: OK
  1738            schema:
  1739              allOf:
  1740              - $ref: '#/definitions/controller.APIResult'
  1741              - properties:
  1742                  product:
  1743                    $ref: '#/definitions/domain.SimpleProduct'
  1744                type: object
  1745          "404":
  1746            description: Not Found
  1747            schema:
  1748              $ref: '#/definitions/controller.APIResult'
  1749          "500":
  1750            description: Internal Server Error
  1751            schema:
  1752              $ref: '#/definitions/controller.APIResult'
  1753        summary: Gets the requested product
  1754        tags:
  1755        - Product
  1756  swagger: "2.0"
  1757  tags:
  1758  - description: All Cart related APIs endpoints, most suitable to be called from a
  1759      browser, because they rely on the session and cookie headers.
  1760    name: Cart
  1761  - description: All Payment related APIs endpoints, most suitable to be called from
  1762      a browser, because they rely on the session and cookie headers.
  1763    name: Payment
  1764  - description: All Product related APIs endpoints.
  1765    name: Product
  1766  - description: All Checkout related APIs endpoints, most suitable to be called from
  1767      a browser, because they rely on the session and cookie headers.
  1768    name: Checkout