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

     1  // Package openapi Code generated by swaggo/swag. DO NOT EDIT
     2  package openapi
     3  
     4  import "github.com/swaggo/swag"
     5  
     6  const docTemplate = `{
     7      "schemes": {{ marshal .Schemes }},
     8      "swagger": "2.0",
     9      "info": {
    10          "description": "{{escape .Description}}",
    11          "title": "{{.Title}}",
    12          "contact": {
    13              "name": "Flamingo",
    14              "url": "https://gitter.im/i-love-flamingo/community#",
    15              "email": "flamingo@aoe.com"
    16          },
    17          "license": {
    18              "name": "MIT"
    19          },
    20          "version": "{{.Version}}"
    21      },
    22      "host": "{{.Host}}",
    23      "basePath": "{{.BasePath}}",
    24      "paths": {
    25          "/api/v1/cart": {
    26              "get": {
    27                  "produces": [
    28                      "application/json"
    29                  ],
    30                  "tags": [
    31                      "Cart"
    32                  ],
    33                  "summary": "Get the current cart",
    34                  "responses": {
    35                      "200": {
    36                          "description": "OK",
    37                          "schema": {
    38                              "$ref": "#/definitions/controller.getCartResult"
    39                          }
    40                      },
    41                      "500": {
    42                          "description": "Internal Server Error",
    43                          "schema": {
    44                              "$ref": "#/definitions/controller.CartAPIResult"
    45                          }
    46                      }
    47                  }
    48              },
    49              "delete": {
    50                  "produces": [
    51                      "application/json"
    52                  ],
    53                  "tags": [
    54                      "Cart"
    55                  ],
    56                  "summary": "Remove all stored cart information e.g. items, deliveries, billing address and returns the empty cart.",
    57                  "responses": {
    58                      "200": {
    59                          "description": "OK",
    60                          "schema": {
    61                              "$ref": "#/definitions/controller.CartAPIResult"
    62                          }
    63                      },
    64                      "500": {
    65                          "description": "Internal Server Error",
    66                          "schema": {
    67                              "$ref": "#/definitions/controller.CartAPIResult"
    68                          }
    69                      }
    70                  }
    71              }
    72          },
    73          "/api/v1/cart/billing": {
    74              "put": {
    75                  "consumes": [
    76                      "application/x-www-form-urlencoded"
    77                  ],
    78                  "produces": [
    79                      "application/json"
    80                  ],
    81                  "tags": [
    82                      "Cart"
    83                  ],
    84                  "summary": "Adds billing infos to the current cart",
    85                  "parameters": [
    86                      {
    87                          "type": "string",
    88                          "description": "vat",
    89                          "name": "vat",
    90                          "in": "formData"
    91                      },
    92                      {
    93                          "type": "string",
    94                          "description": "firstname",
    95                          "name": "firstname",
    96                          "in": "formData",
    97                          "required": true
    98                      },
    99                      {
   100                          "type": "string",
   101                          "description": "lastname",
   102                          "name": "lastname",
   103                          "in": "formData",
   104                          "required": true
   105                      },
   106                      {
   107                          "type": "string",
   108                          "description": "middlename",
   109                          "name": "middlename",
   110                          "in": "formData"
   111                      },
   112                      {
   113                          "type": "string",
   114                          "description": "title",
   115                          "name": "title",
   116                          "in": "formData"
   117                      },
   118                      {
   119                          "type": "string",
   120                          "description": "salutation",
   121                          "name": "salutation",
   122                          "in": "formData"
   123                      },
   124                      {
   125                          "type": "string",
   126                          "description": "street",
   127                          "name": "street",
   128                          "in": "formData"
   129                      },
   130                      {
   131                          "type": "string",
   132                          "description": "streetNr",
   133                          "name": "streetNr",
   134                          "in": "formData"
   135                      },
   136                      {
   137                          "type": "string",
   138                          "description": "addressLine1",
   139                          "name": "addressLine1",
   140                          "in": "formData"
   141                      },
   142                      {
   143                          "type": "string",
   144                          "description": "addressLine2",
   145                          "name": "addressLine2",
   146                          "in": "formData"
   147                      },
   148                      {
   149                          "type": "string",
   150                          "description": "company",
   151                          "name": "company",
   152                          "in": "formData"
   153                      },
   154                      {
   155                          "type": "string",
   156                          "description": "postCode",
   157                          "name": "postCode",
   158                          "in": "formData"
   159                      },
   160                      {
   161                          "type": "string",
   162                          "description": "city",
   163                          "name": "city",
   164                          "in": "formData"
   165                      },
   166                      {
   167                          "type": "string",
   168                          "description": "state",
   169                          "name": "state",
   170                          "in": "formData"
   171                      },
   172                      {
   173                          "type": "string",
   174                          "description": "regionCode",
   175                          "name": "regionCode",
   176                          "in": "formData"
   177                      },
   178                      {
   179                          "type": "string",
   180                          "description": "country",
   181                          "name": "country",
   182                          "in": "formData"
   183                      },
   184                      {
   185                          "type": "string",
   186                          "description": "countryCode",
   187                          "name": "countryCode",
   188                          "in": "formData"
   189                      },
   190                      {
   191                          "type": "string",
   192                          "description": "phoneAreaCode",
   193                          "name": "phoneAreaCode",
   194                          "in": "formData"
   195                      },
   196                      {
   197                          "type": "string",
   198                          "description": "phoneCountryCode",
   199                          "name": "phoneCountryCode",
   200                          "in": "formData"
   201                      },
   202                      {
   203                          "type": "string",
   204                          "description": "phoneNumber",
   205                          "name": "phoneNumber",
   206                          "in": "formData"
   207                      },
   208                      {
   209                          "type": "string",
   210                          "description": "email",
   211                          "name": "email",
   212                          "in": "formData",
   213                          "required": true
   214                      }
   215                  ],
   216                  "responses": {
   217                      "200": {
   218                          "description": "OK",
   219                          "schema": {
   220                              "$ref": "#/definitions/controller.CartAPIResult"
   221                          }
   222                      },
   223                      "500": {
   224                          "description": "Internal Server Error",
   225                          "schema": {
   226                              "$ref": "#/definitions/controller.CartAPIResult"
   227                          }
   228                      }
   229                  }
   230              }
   231          },
   232          "/api/v1/cart/deliveries/items": {
   233              "delete": {
   234                  "produces": [
   235                      "application/json"
   236                  ],
   237                  "tags": [
   238                      "Cart"
   239                  ],
   240                  "summary": "Remove all cart items from all deliveries and return the cart, keeps the delivery info untouched.",
   241                  "responses": {
   242                      "200": {
   243                          "description": "OK",
   244                          "schema": {
   245                              "$ref": "#/definitions/controller.CartAPIResult"
   246                          }
   247                      },
   248                      "500": {
   249                          "description": "Internal Server Error",
   250                          "schema": {
   251                              "$ref": "#/definitions/controller.CartAPIResult"
   252                          }
   253                      }
   254                  }
   255              }
   256          },
   257          "/api/v1/cart/delivery/{deliveryCode}": {
   258              "put": {
   259                  "consumes": [
   260                      "application/x-www-form-urlencoded"
   261                  ],
   262                  "produces": [
   263                      "application/json"
   264                  ],
   265                  "tags": [
   266                      "Cart"
   267                  ],
   268                  "summary": "Adds delivery infos, such as shipping address to the delivery for the cart",
   269                  "parameters": [
   270                      {
   271                          "type": "string",
   272                          "description": "the identifier for the delivery in the cart",
   273                          "name": "deliveryCode",
   274                          "in": "path",
   275                          "required": true
   276                      },
   277                      {
   278                          "type": "string",
   279                          "description": "vat",
   280                          "name": "deliveryAddress.vat",
   281                          "in": "formData"
   282                      },
   283                      {
   284                          "type": "string",
   285                          "description": "firstname",
   286                          "name": "deliveryAddress.firstname",
   287                          "in": "formData",
   288                          "required": true
   289                      },
   290                      {
   291                          "type": "string",
   292                          "description": "lastname",
   293                          "name": "deliveryAddress.lastname",
   294                          "in": "formData",
   295                          "required": true
   296                      },
   297                      {
   298                          "type": "string",
   299                          "description": "middlename",
   300                          "name": "deliveryAddress.middlename",
   301                          "in": "formData"
   302                      },
   303                      {
   304                          "type": "string",
   305                          "description": "title",
   306                          "name": "deliveryAddress.title",
   307                          "in": "formData"
   308                      },
   309                      {
   310                          "type": "string",
   311                          "description": "salutation",
   312                          "name": "deliveryAddress.salutation",
   313                          "in": "formData"
   314                      },
   315                      {
   316                          "type": "string",
   317                          "description": "street",
   318                          "name": "deliveryAddress.street",
   319                          "in": "formData"
   320                      },
   321                      {
   322                          "type": "string",
   323                          "description": "streetNr",
   324                          "name": "deliveryAddress.streetNr",
   325                          "in": "formData"
   326                      },
   327                      {
   328                          "type": "string",
   329                          "description": "addressLine1",
   330                          "name": "deliveryAddress.addressLine1",
   331                          "in": "formData"
   332                      },
   333                      {
   334                          "type": "string",
   335                          "description": "addressLine2",
   336                          "name": "deliveryAddress.addressLine2",
   337                          "in": "formData"
   338                      },
   339                      {
   340                          "type": "string",
   341                          "description": "company",
   342                          "name": "deliveryAddress.company",
   343                          "in": "formData"
   344                      },
   345                      {
   346                          "type": "string",
   347                          "description": "postCode",
   348                          "name": "deliveryAddress.postCode",
   349                          "in": "formData"
   350                      },
   351                      {
   352                          "type": "string",
   353                          "description": "city",
   354                          "name": "deliveryAddress.city",
   355                          "in": "formData"
   356                      },
   357                      {
   358                          "type": "string",
   359                          "description": "state",
   360                          "name": "deliveryAddress.state",
   361                          "in": "formData"
   362                      },
   363                      {
   364                          "type": "string",
   365                          "description": "regionCode",
   366                          "name": "deliveryAddress.regionCode",
   367                          "in": "formData"
   368                      },
   369                      {
   370                          "type": "string",
   371                          "description": "country",
   372                          "name": "deliveryAddress.country",
   373                          "in": "formData"
   374                      },
   375                      {
   376                          "type": "string",
   377                          "description": "countryCode",
   378                          "name": "deliveryAddress.countryCode",
   379                          "in": "formData"
   380                      },
   381                      {
   382                          "type": "string",
   383                          "description": "phoneAreaCode",
   384                          "name": "deliveryAddress.phoneAreaCode",
   385                          "in": "formData"
   386                      },
   387                      {
   388                          "type": "string",
   389                          "description": "phoneCountryCode",
   390                          "name": "deliveryAddress.phoneCountryCode",
   391                          "in": "formData"
   392                      },
   393                      {
   394                          "type": "string",
   395                          "description": "phoneNumber",
   396                          "name": "deliveryAddress.phoneNumber",
   397                          "in": "formData"
   398                      },
   399                      {
   400                          "type": "string",
   401                          "description": "email",
   402                          "name": "deliveryAddress.email",
   403                          "in": "formData",
   404                          "required": true
   405                      },
   406                      {
   407                          "type": "boolean",
   408                          "description": "useBillingAddress",
   409                          "name": "useBillingAddress",
   410                          "in": "formData"
   411                      },
   412                      {
   413                          "type": "string",
   414                          "description": "shippingMethod",
   415                          "name": "shippingMethod",
   416                          "in": "formData"
   417                      },
   418                      {
   419                          "type": "string",
   420                          "description": "shippingCarrier",
   421                          "name": "shippingCarrier",
   422                          "in": "formData"
   423                      },
   424                      {
   425                          "type": "string",
   426                          "description": "locationCode",
   427                          "name": "locationCode",
   428                          "in": "formData"
   429                      },
   430                      {
   431                          "type": "string",
   432                          "format": "date-time",
   433                          "description": "desired date/time in RFC3339",
   434                          "name": "desiredTime",
   435                          "in": "formData"
   436                      }
   437                  ],
   438                  "responses": {
   439                      "200": {
   440                          "description": "OK",
   441                          "schema": {
   442                              "$ref": "#/definitions/controller.CartAPIResult"
   443                          }
   444                      },
   445                      "500": {
   446                          "description": "Internal Server Error",
   447                          "schema": {
   448                              "$ref": "#/definitions/controller.CartAPIResult"
   449                          }
   450                      }
   451                  }
   452              },
   453              "delete": {
   454                  "produces": [
   455                      "application/json"
   456                  ],
   457                  "tags": [
   458                      "Cart"
   459                  ],
   460                  "summary": "Cleans the given delivery from the cart",
   461                  "parameters": [
   462                      {
   463                          "type": "string",
   464                          "description": "the identifier for the delivery in the cart",
   465                          "name": "deliveryCode",
   466                          "in": "path",
   467                          "required": true
   468                      }
   469                  ],
   470                  "responses": {
   471                      "200": {
   472                          "description": "OK",
   473                          "schema": {
   474                              "$ref": "#/definitions/controller.CartAPIResult"
   475                          }
   476                      },
   477                      "500": {
   478                          "description": "Internal Server Error",
   479                          "schema": {
   480                              "$ref": "#/definitions/controller.CartAPIResult"
   481                          }
   482                      }
   483                  }
   484              }
   485          },
   486          "/api/v1/cart/delivery/{deliveryCode}/item": {
   487              "put": {
   488                  "produces": [
   489                      "application/json"
   490                  ],
   491                  "tags": [
   492                      "Cart"
   493                  ],
   494                  "summary": "Update item in the cart",
   495                  "parameters": [
   496                      {
   497                          "type": "string",
   498                          "description": "the identifier for the delivery in the cart",
   499                          "name": "deliveryCode",
   500                          "in": "path",
   501                          "required": true
   502                      },
   503                      {
   504                          "type": "string",
   505                          "description": "the item that should be updated",
   506                          "name": "itemID",
   507                          "in": "query",
   508                          "required": true
   509                      },
   510                      {
   511                          "type": "integer",
   512                          "description": "the new qty",
   513                          "name": "qty",
   514                          "in": "query",
   515                          "required": true
   516                      }
   517                  ],
   518                  "responses": {
   519                      "200": {
   520                          "description": "OK",
   521                          "schema": {
   522                              "$ref": "#/definitions/controller.CartAPIResult"
   523                          }
   524                      },
   525                      "500": {
   526                          "description": "Internal Server Error",
   527                          "schema": {
   528                              "$ref": "#/definitions/controller.CartAPIResult"
   529                          }
   530                      }
   531                  }
   532              },
   533              "post": {
   534                  "produces": [
   535                      "application/json"
   536                  ],
   537                  "tags": [
   538                      "Cart"
   539                  ],
   540                  "summary": "Add Item to cart",
   541                  "parameters": [
   542                      {
   543                          "type": "string",
   544                          "description": "the identifier for the delivery in the cart",
   545                          "name": "deliveryCode",
   546                          "in": "path",
   547                          "required": true
   548                      },
   549                      {
   550                          "type": "string",
   551                          "description": "the product identifier that should be added",
   552                          "name": "marketplaceCode",
   553                          "in": "query",
   554                          "required": true
   555                      },
   556                      {
   557                          "type": "string",
   558                          "description": "optional the product identifier of the variant (for configurable products) that should be added",
   559                          "name": "variantMarketplaceCode",
   560                          "in": "query"
   561                      },
   562                      {
   563                          "type": "integer",
   564                          "description": "optional the qty that should be added",
   565                          "name": "qty",
   566                          "in": "query"
   567                      }
   568                  ],
   569                  "responses": {
   570                      "200": {
   571                          "description": "OK",
   572                          "schema": {
   573                              "$ref": "#/definitions/controller.CartAPIResult"
   574                          }
   575                      },
   576                      "500": {
   577                          "description": "Internal Server Error",
   578                          "schema": {
   579                              "$ref": "#/definitions/controller.CartAPIResult"
   580                          }
   581                      }
   582                  }
   583              },
   584              "delete": {
   585                  "produces": [
   586                      "application/json"
   587                  ],
   588                  "tags": [
   589                      "Cart"
   590                  ],
   591                  "summary": "Delete item from cart",
   592                  "parameters": [
   593                      {
   594                          "type": "string",
   595                          "description": "the identifier for the delivery in the cart",
   596                          "name": "deliveryCode",
   597                          "in": "path",
   598                          "required": true
   599                      },
   600                      {
   601                          "type": "string",
   602                          "description": "the item that should be deleted",
   603                          "name": "itemID",
   604                          "in": "query",
   605                          "required": true
   606                      }
   607                  ],
   608                  "responses": {
   609                      "200": {
   610                          "description": "OK",
   611                          "schema": {
   612                              "$ref": "#/definitions/controller.CartAPIResult"
   613                          }
   614                      },
   615                      "500": {
   616                          "description": "Internal Server Error",
   617                          "schema": {
   618                              "$ref": "#/definitions/controller.CartAPIResult"
   619                          }
   620                      }
   621                  }
   622              }
   623          },
   624          "/api/v1/cart/gift-card": {
   625              "post": {
   626                  "produces": [
   627                      "application/json"
   628                  ],
   629                  "tags": [
   630                      "Cart"
   631                  ],
   632                  "summary": "Apply Gift Card",
   633                  "parameters": [
   634                      {
   635                          "type": "string",
   636                          "description": "the gift card code",
   637                          "name": "couponCode",
   638                          "in": "query",
   639                          "required": true
   640                      }
   641                  ],
   642                  "responses": {
   643                      "200": {
   644                          "description": "OK",
   645                          "schema": {
   646                              "$ref": "#/definitions/controller.CartAPIResult"
   647                          }
   648                      },
   649                      "500": {
   650                          "description": "Internal Server Error",
   651                          "schema": {
   652                              "$ref": "#/definitions/controller.CartAPIResult"
   653                          }
   654                      }
   655                  }
   656              },
   657              "delete": {
   658                  "produces": [
   659                      "application/json"
   660                  ],
   661                  "tags": [
   662                      "Cart"
   663                  ],
   664                  "summary": "Remove Gift Card",
   665                  "parameters": [
   666                      {
   667                          "type": "string",
   668                          "description": "the couponCode that should be deleted as gift card",
   669                          "name": "couponCode",
   670                          "in": "query",
   671                          "required": true
   672                      }
   673                  ],
   674                  "responses": {
   675                      "200": {
   676                          "description": "OK",
   677                          "schema": {
   678                              "$ref": "#/definitions/controller.CartAPIResult"
   679                          }
   680                      },
   681                      "500": {
   682                          "description": "Internal Server Error",
   683                          "schema": {
   684                              "$ref": "#/definitions/controller.CartAPIResult"
   685                          }
   686                      }
   687                  }
   688              }
   689          },
   690          "/api/v1/cart/payment-selection": {
   691              "put": {
   692                  "produces": [
   693                      "application/json"
   694                  ],
   695                  "tags": [
   696                      "Cart"
   697                  ],
   698                  "summary": "Update/set the PaymentSelection for the current cart",
   699                  "parameters": [
   700                      {
   701                          "type": "string",
   702                          "description": "name of the payment gateway - e.g. 'offline'",
   703                          "name": "gateway",
   704                          "in": "query",
   705                          "required": true
   706                      },
   707                      {
   708                          "type": "string",
   709                          "description": "name of the payment method - e.g. 'offlinepayment_cashondelivery'",
   710                          "name": "method",
   711                          "in": "query",
   712                          "required": true
   713                      }
   714                  ],
   715                  "responses": {
   716                      "200": {
   717                          "description": "OK",
   718                          "schema": {
   719                              "$ref": "#/definitions/controller.CartAPIResult"
   720                          }
   721                      },
   722                      "500": {
   723                          "description": "Internal Server Error",
   724                          "schema": {
   725                              "$ref": "#/definitions/controller.CartAPIResult"
   726                          }
   727                      }
   728                  }
   729              }
   730          },
   731          "/api/v1/cart/voucher": {
   732              "post": {
   733                  "produces": [
   734                      "application/json"
   735                  ],
   736                  "tags": [
   737                      "Cart"
   738                  ],
   739                  "summary": "Apply Voucher Code",
   740                  "parameters": [
   741                      {
   742                          "type": "string",
   743                          "description": "the couponCode that should be applied",
   744                          "name": "couponCode",
   745                          "in": "query",
   746                          "required": true
   747                      }
   748                  ],
   749                  "responses": {
   750                      "200": {
   751                          "description": "OK",
   752                          "schema": {
   753                              "$ref": "#/definitions/controller.CartAPIResult"
   754                          }
   755                      },
   756                      "500": {
   757                          "description": "Internal Server Error",
   758                          "schema": {
   759                              "$ref": "#/definitions/controller.CartAPIResult"
   760                          }
   761                      }
   762                  }
   763              },
   764              "delete": {
   765                  "produces": [
   766                      "application/json"
   767                  ],
   768                  "tags": [
   769                      "Cart"
   770                  ],
   771                  "summary": "Remove Voucher Code",
   772                  "parameters": [
   773                      {
   774                          "type": "string",
   775                          "description": "the couponCode that should be applied",
   776                          "name": "couponCode",
   777                          "in": "query",
   778                          "required": true
   779                      }
   780                  ],
   781                  "responses": {
   782                      "200": {
   783                          "description": "OK",
   784                          "schema": {
   785                              "$ref": "#/definitions/controller.CartAPIResult"
   786                          }
   787                      },
   788                      "500": {
   789                          "description": "Internal Server Error",
   790                          "schema": {
   791                              "$ref": "#/definitions/controller.CartAPIResult"
   792                          }
   793                      }
   794                  }
   795              }
   796          },
   797          "/api/v1/cart/voucher-gift-card": {
   798              "post": {
   799                  "description": "Use this if you have one user input and that input can be used to either enter a voucher or a gift card",
   800                  "produces": [
   801                      "application/json"
   802                  ],
   803                  "tags": [
   804                      "Cart"
   805                  ],
   806                  "summary": "Apply Gift Card or Voucher (auto detected)",
   807                  "parameters": [
   808                      {
   809                          "type": "string",
   810                          "description": "the couponCode that should be applied as gift card or voucher",
   811                          "name": "couponCode",
   812                          "in": "query",
   813                          "required": true
   814                      }
   815                  ],
   816                  "responses": {
   817                      "200": {
   818                          "description": "OK",
   819                          "schema": {
   820                              "$ref": "#/definitions/controller.CartAPIResult"
   821                          }
   822                      },
   823                      "500": {
   824                          "description": "Internal Server Error",
   825                          "schema": {
   826                              "$ref": "#/definitions/controller.CartAPIResult"
   827                          }
   828                      }
   829                  }
   830              }
   831          },
   832          "/api/v1/checkout/placeorder": {
   833              "get": {
   834                  "produces": [
   835                      "application/json"
   836                  ],
   837                  "tags": [
   838                      "Checkout"
   839                  ],
   840                  "summary": "Returns the last saved context",
   841                  "responses": {
   842                      "200": {
   843                          "description": "OK",
   844                          "schema": {
   845                              "$ref": "#/definitions/controller.placeOrderContext"
   846                          }
   847                      },
   848                      "500": {
   849                          "description": "Internal Server Error",
   850                          "schema": {
   851                              "$ref": "#/definitions/checkoutError"
   852                          }
   853                      }
   854                  }
   855              },
   856              "put": {
   857                  "produces": [
   858                      "application/json"
   859                  ],
   860                  "tags": [
   861                      "Checkout"
   862                  ],
   863                  "summary": "Starts the place order process, which is a background process handling payment and rollbacks if required.",
   864                  "parameters": [
   865                      {
   866                          "type": "string",
   867                          "description": "the returnURL that should be used after an external payment flow",
   868                          "name": "returnURL",
   869                          "in": "query",
   870                          "required": true
   871                      }
   872                  ],
   873                  "responses": {
   874                      "201": {
   875                          "description": "201 if new process was started",
   876                          "schema": {
   877                              "$ref": "#/definitions/controller.startPlaceOrderResult"
   878                          }
   879                      },
   880                      "400": {
   881                          "description": "Bad Request",
   882                          "schema": {
   883                              "$ref": "#/definitions/checkoutError"
   884                          }
   885                      },
   886                      "500": {
   887                          "description": "Internal Server Error",
   888                          "schema": {
   889                              "$ref": "#/definitions/checkoutError"
   890                          }
   891                      }
   892                  }
   893              },
   894              "delete": {
   895                  "produces": [
   896                      "application/json"
   897                  ],
   898                  "tags": [
   899                      "Checkout"
   900                  ],
   901                  "summary": "Clears the last placed order if in final state",
   902                  "responses": {
   903                      "200": {
   904                          "description": "OK",
   905                          "schema": {
   906                              "type": "boolean"
   907                          }
   908                      },
   909                      "500": {
   910                          "description": "Internal Server Error",
   911                          "schema": {
   912                              "$ref": "#/definitions/checkoutError"
   913                          }
   914                      }
   915                  }
   916              }
   917          },
   918          "/api/v1/checkout/placeorder/cancel": {
   919              "post": {
   920                  "produces": [
   921                      "application/json"
   922                  ],
   923                  "tags": [
   924                      "Checkout"
   925                  ],
   926                  "summary": "Cancels a running place order process",
   927                  "responses": {
   928                      "200": {
   929                          "description": "OK",
   930                          "schema": {
   931                              "type": "boolean"
   932                          }
   933                      },
   934                      "500": {
   935                          "description": "Internal Server Error",
   936                          "schema": {
   937                              "$ref": "#/definitions/checkoutError"
   938                          }
   939                      }
   940                  }
   941              }
   942          },
   943          "/api/v1/checkout/placeorder/refresh": {
   944              "post": {
   945                  "produces": [
   946                      "application/json"
   947                  ],
   948                  "tags": [
   949                      "Checkout"
   950                  ],
   951                  "summary": "Returns the current place order context and proceeds the process in a non blocking way",
   952                  "responses": {
   953                      "200": {
   954                          "description": "OK",
   955                          "schema": {
   956                              "$ref": "#/definitions/controller.placeOrderContext"
   957                          }
   958                      },
   959                      "500": {
   960                          "description": "Internal Server Error",
   961                          "schema": {
   962                              "$ref": "#/definitions/checkoutError"
   963                          }
   964                      }
   965                  }
   966              }
   967          },
   968          "/api/v1/checkout/placeorder/refresh-blocking": {
   969              "post": {
   970                  "description": "This is useful to get the most recent place order context, for example after returning from an external payment provider",
   971                  "produces": [
   972                      "application/json"
   973                  ],
   974                  "tags": [
   975                      "Checkout"
   976                  ],
   977                  "summary": "Proceeds the process and returns the place order context afterwards (blocking)",
   978                  "responses": {
   979                      "200": {
   980                          "description": "OK",
   981                          "schema": {
   982                              "$ref": "#/definitions/controller.placeOrderContext"
   983                          }
   984                      },
   985                      "500": {
   986                          "description": "Internal Server Error",
   987                          "schema": {
   988                              "$ref": "#/definitions/checkoutError"
   989                          }
   990                      }
   991                  }
   992              }
   993          },
   994          "/api/v1/payment/status": {
   995              "get": {
   996                  "produces": [
   997                      "application/json"
   998                  ],
   999                  "tags": [
  1000                      "Payment"
  1001                  ],
  1002                  "summary": "Get the payment status of current cart (or last placed cart)",
  1003                  "responses": {
  1004                      "200": {
  1005                          "description": "OK",
  1006                          "schema": {
  1007                              "allOf": [
  1008                                  {
  1009                                      "$ref": "#/definitions/domain.FlowStatus"
  1010                                  },
  1011                                  {
  1012                                      "type": "object",
  1013                                      "properties": {
  1014                                          "data": {
  1015                                              "$ref": "#/definitions/cart.Cart"
  1016                                          }
  1017                                      }
  1018                                  }
  1019                              ]
  1020                          }
  1021                      },
  1022                      "500": {
  1023                          "description": "Internal Server Error",
  1024                          "schema": {
  1025                              "$ref": "#/definitions/paymentResultError"
  1026                          }
  1027                      }
  1028                  }
  1029              }
  1030          },
  1031          "/api/v1/products/{marketplacecode}": {
  1032              "get": {
  1033                  "produces": [
  1034                      "application/json"
  1035                  ],
  1036                  "tags": [
  1037                      "Product"
  1038                  ],
  1039                  "summary": "Gets the requested product",
  1040                  "parameters": [
  1041                      {
  1042                          "type": "string",
  1043                          "description": "the marketplace code (idendifier) for the product",
  1044                          "name": "marketplacecode",
  1045                          "in": "path",
  1046                          "required": true
  1047                      }
  1048                  ],
  1049                  "responses": {
  1050                      "200": {
  1051                          "description": "OK",
  1052                          "schema": {
  1053                              "allOf": [
  1054                                  {
  1055                                      "$ref": "#/definitions/controller.APIResult"
  1056                                  },
  1057                                  {
  1058                                      "type": "object",
  1059                                      "properties": {
  1060                                          "product": {
  1061                                              "$ref": "#/definitions/domain.SimpleProduct"
  1062                                          }
  1063                                      }
  1064                                  }
  1065                              ]
  1066                          }
  1067                      },
  1068                      "404": {
  1069                          "description": "Not Found",
  1070                          "schema": {
  1071                              "$ref": "#/definitions/controller.APIResult"
  1072                          }
  1073                      },
  1074                      "500": {
  1075                          "description": "Internal Server Error",
  1076                          "schema": {
  1077                              "$ref": "#/definitions/controller.APIResult"
  1078                          }
  1079                      }
  1080                  }
  1081              }
  1082          }
  1083      },
  1084      "definitions": {
  1085          "ProductMedia": {
  1086              "type": "object",
  1087              "properties": {
  1088                  "MimeType": {
  1089                      "type": "string"
  1090                  },
  1091                  "Reference": {
  1092                      "type": "string"
  1093                  },
  1094                  "Title": {
  1095                      "type": "string"
  1096                  },
  1097                  "Type": {
  1098                      "type": "string"
  1099                  },
  1100                  "Usage": {
  1101                      "type": "string"
  1102                  }
  1103              }
  1104          },
  1105          "application.PlaceOrderPaymentInfo": {
  1106              "type": "object",
  1107              "properties": {
  1108                  "Amount": {
  1109                      "$ref": "#/definitions/domain.Price"
  1110                  },
  1111                  "CreditCardInfo": {
  1112                      "$ref": "#/definitions/placeorder.CreditCardInfo"
  1113                  },
  1114                  "Gateway": {
  1115                      "type": "string"
  1116                  },
  1117                  "Method": {
  1118                      "type": "string"
  1119                  },
  1120                  "PaymentProvider": {
  1121                      "type": "string"
  1122                  },
  1123                  "Title": {
  1124                      "type": "string"
  1125                  }
  1126              }
  1127          },
  1128          "cart.AdditionalData": {
  1129              "type": "object",
  1130              "properties": {
  1131                  "CustomAttributes": {
  1132                      "description": "CustomAttributes list of key values",
  1133                      "type": "object",
  1134                      "additionalProperties": {
  1135                          "type": "string"
  1136                      }
  1137                  },
  1138                  "ReservedOrderID": {
  1139                      "description": "ReservedOrderID is an ID already known by the Cart of the future order ID",
  1140                      "type": "string"
  1141                  }
  1142              }
  1143          },
  1144          "cart.Address": {
  1145              "type": "object",
  1146              "properties": {
  1147                  "AdditionalAddressLines": {
  1148                      "type": "array",
  1149                      "items": {
  1150                          "type": "string"
  1151                      }
  1152                  },
  1153                  "City": {
  1154                      "type": "string"
  1155                  },
  1156                  "Company": {
  1157                      "type": "string"
  1158                  },
  1159                  "Country": {
  1160                      "type": "string"
  1161                  },
  1162                  "CountryCode": {
  1163                      "type": "string"
  1164                  },
  1165                  "Email": {
  1166                      "type": "string"
  1167                  },
  1168                  "Firstname": {
  1169                      "type": "string"
  1170                  },
  1171                  "Lastname": {
  1172                      "type": "string"
  1173                  },
  1174                  "MiddleName": {
  1175                      "type": "string"
  1176                  },
  1177                  "PostCode": {
  1178                      "type": "string"
  1179                  },
  1180                  "RegionCode": {
  1181                      "type": "string"
  1182                  },
  1183                  "Salutation": {
  1184                      "type": "string"
  1185                  },
  1186                  "State": {
  1187                      "type": "string"
  1188                  },
  1189                  "Street": {
  1190                      "type": "string"
  1191                  },
  1192                  "StreetNr": {
  1193                      "type": "string"
  1194                  },
  1195                  "Telephone": {
  1196                      "description": "Deprecated: parts of number should be distinguished, please use TelephoneCountryCode, TelephoneAreaCode and TelephoneNumber",
  1197                      "type": "string"
  1198                  },
  1199                  "TelephoneAreaCode": {
  1200                      "type": "string"
  1201                  },
  1202                  "TelephoneCountryCode": {
  1203                      "type": "string"
  1204                  },
  1205                  "TelephoneNumber": {
  1206                      "type": "string"
  1207                  },
  1208                  "Title": {
  1209                      "type": "string"
  1210                  },
  1211                  "Vat": {
  1212                      "type": "string"
  1213                  }
  1214              }
  1215          },
  1216          "cart.AppliedDiscount": {
  1217              "type": "object",
  1218              "properties": {
  1219                  "Applied": {
  1220                      "description": "how much of the discount has been subtracted from cart price, IMPORTANT: always negative",
  1221                      "allOf": [
  1222                          {
  1223                              "$ref": "#/definitions/domain.Price"
  1224                          }
  1225                      ]
  1226                  },
  1227                  "CampaignCode": {
  1228                      "description": "unique code of the underlying campaign or rule e.g. \"summer-campaign-2018\"",
  1229                      "type": "string"
  1230                  },
  1231                  "CouponCode": {
  1232                      "description": "code of discount e.g. provided by user \"summer2018\"",
  1233                      "type": "string"
  1234                  },
  1235                  "IsItemRelated": {
  1236                      "description": "flag indicating if the discount is applied due to item in cart",
  1237                      "type": "boolean"
  1238                  },
  1239                  "Label": {
  1240                      "description": "readable name of discount \"Super Summer Sale 2018\"",
  1241                      "type": "string"
  1242                  },
  1243                  "SortOrder": {
  1244                      "description": "indicates in which order discount have been applied, low value has been applied before high value",
  1245                      "type": "integer"
  1246                  },
  1247                  "Type": {
  1248                      "description": "to distinguish between discounts",
  1249                      "type": "string"
  1250                  }
  1251              }
  1252          },
  1253          "cart.AppliedGiftCard": {
  1254              "type": "object",
  1255              "properties": {
  1256                  "Applied": {
  1257                      "description": "how much of the gift card has been subtracted from cart price",
  1258                      "allOf": [
  1259                          {
  1260                              "$ref": "#/definitions/domain.Price"
  1261                          }
  1262                      ]
  1263                  },
  1264                  "Code": {
  1265                      "type": "string"
  1266                  },
  1267                  "CustomAttributes": {
  1268                      "description": "additional custom attributes",
  1269                      "type": "object",
  1270                      "additionalProperties": true
  1271                  },
  1272                  "Remaining": {
  1273                      "description": "how much of the gift card is still available",
  1274                      "allOf": [
  1275                          {
  1276                              "$ref": "#/definitions/domain.Price"
  1277                          }
  1278                      ]
  1279                  }
  1280              }
  1281          },
  1282          "cart.Cart": {
  1283              "type": "object",
  1284              "properties": {
  1285                  "AdditionalData": {
  1286                      "description": "AdditionalData can be used for Custom attributes",
  1287                      "allOf": [
  1288                          {
  1289                              "$ref": "#/definitions/cart.AdditionalData"
  1290                          }
  1291                      ]
  1292                  },
  1293                  "AppliedCouponCodes": {
  1294                      "description": "AppliedCouponCodes hold the coupons or discount codes that are applied to the cart",
  1295                      "type": "array",
  1296                      "items": {
  1297                          "$ref": "#/definitions/cart.CouponCode"
  1298                      }
  1299                  },
  1300                  "AppliedGiftCards": {
  1301                      "description": "AppliedGiftCards is a list of applied gift cards",
  1302                      "type": "array",
  1303                      "items": {
  1304                          "$ref": "#/definitions/cart.AppliedGiftCard"
  1305                      }
  1306                  },
  1307                  "AuthenticatedUserID": {
  1308                      "description": "AuthenticatedUserID holds the potential customer ID",
  1309                      "type": "string"
  1310                  },
  1311                  "BelongsToAuthenticatedUser": {
  1312                      "description": "BelongsToAuthenticatedUser displays if the cart is guest cart (false) or from an authenticated user (true)",
  1313                      "type": "boolean"
  1314                  },
  1315                  "BillingAddress": {
  1316                      "description": "BillingAddress is the main billing address (relevant for all payments/invoices)",
  1317                      "allOf": [
  1318                          {
  1319                              "$ref": "#/definitions/cart.Address"
  1320                          }
  1321                      ]
  1322                  },
  1323                  "DefaultCurrency": {
  1324                      "type": "string"
  1325                  },
  1326                  "Deliveries": {
  1327                      "description": "Deliveries contains a list of desired Deliveries (or Shipments) involved in this cart",
  1328                      "type": "array",
  1329                      "items": {
  1330                          "$ref": "#/definitions/cart.Delivery"
  1331                      }
  1332                  },
  1333                  "EntityID": {
  1334                      "description": "EntityID is a second identifier that may be used by some backends",
  1335                      "type": "string"
  1336                  },
  1337                  "GrandTotal": {
  1338                      "description": "GrandTotal is the final amount that need to be paid by the customer (gross)",
  1339                      "allOf": [
  1340                          {
  1341                              "$ref": "#/definitions/domain.Price"
  1342                          }
  1343                      ]
  1344                  },
  1345                  "GrandTotalNet": {
  1346                      "description": "GrandTotalNet is the corresponding net value to GrandTotal",
  1347                      "allOf": [
  1348                          {
  1349                              "$ref": "#/definitions/domain.Price"
  1350                          }
  1351                      ]
  1352                  },
  1353                  "GrandTotalNetWithGiftCards": {
  1354                      "description": "GrandTotalNetWithGiftCards is the corresponding net value to GrandTotalWithGiftCards",
  1355                      "allOf": [
  1356                          {
  1357                              "$ref": "#/definitions/domain.Price"
  1358                          }
  1359                      ]
  1360                  },
  1361                  "GrandTotalWithGiftCards": {
  1362                      "description": "GrandTotalWithGiftCards is the final amount with the applied gift cards subtracted.",
  1363                      "allOf": [
  1364                          {
  1365                              "$ref": "#/definitions/domain.Price"
  1366                          }
  1367                      ]
  1368                  },
  1369                  "ID": {
  1370                      "description": "ID is the main identifier of the cart",
  1371                      "type": "string"
  1372                  },
  1373                  "ItemRelatedDiscountAmount": {
  1374                      "description": "ItemRelatedDiscountAmount is the sum of discounts that are related to the item (including shipping discounts)",
  1375                      "allOf": [
  1376                          {
  1377                              "$ref": "#/definitions/domain.Price"
  1378                          }
  1379                      ]
  1380                  },
  1381                  "NonItemRelatedDiscountAmount": {
  1382                      "description": "NonItemRelatedDiscountAmount is the sum of discounts that are not related to the item (including shipping discounts)",
  1383                      "allOf": [
  1384                          {
  1385                              "$ref": "#/definitions/domain.Price"
  1386                          }
  1387                      ]
  1388                  },
  1389                  "PaymentSelection": {
  1390                      "description": "PaymentSelection is used to store information on \"how\" the customer wants to pay"
  1391                  },
  1392                  "Purchaser": {
  1393                      "description": "Purchaser hold additional infos for the legal contact person in this order",
  1394                      "allOf": [
  1395                          {
  1396                              "$ref": "#/definitions/cart.Person"
  1397                          }
  1398                      ]
  1399                  },
  1400                  "ShippingGross": {
  1401                      "description": "ShippingGross is the sum of all shipping costs including tax",
  1402                      "allOf": [
  1403                          {
  1404                              "$ref": "#/definitions/domain.Price"
  1405                          }
  1406                      ]
  1407                  },
  1408                  "ShippingGrossWithDiscounts": {
  1409                      "description": "ShippingGrossWithDiscounts is the sum of all shipping costs with all shipping discounts including tax",
  1410                      "allOf": [
  1411                          {
  1412                              "$ref": "#/definitions/domain.Price"
  1413                          }
  1414                      ]
  1415                  },
  1416                  "ShippingNet": {
  1417                      "description": "ShippingNet is the sum of all shipping costs",
  1418                      "allOf": [
  1419                          {
  1420                              "$ref": "#/definitions/domain.Price"
  1421                          }
  1422                      ]
  1423                  },
  1424                  "ShippingNetWithDiscounts": {
  1425                      "description": "ShippingNetWithDiscounts is the sum of all shipping costs with all shipping discounts",
  1426                      "allOf": [
  1427                          {
  1428                              "$ref": "#/definitions/domain.Price"
  1429                          }
  1430                      ]
  1431                  },
  1432                  "SubTotalGross": {
  1433                      "description": "SubTotalGross is the sum of all delivery subtotals (without shipping/ discounts)",
  1434                      "allOf": [
  1435                          {
  1436                              "$ref": "#/definitions/domain.Price"
  1437                          }
  1438                      ]
  1439                  },
  1440                  "SubTotalGrossWithDiscounts": {
  1441                      "description": "SubTotalGrossWithDiscounts is the sum of row gross prices reduced by the applied discounts",
  1442                      "allOf": [
  1443                          {
  1444                              "$ref": "#/definitions/domain.Price"
  1445                          }
  1446                      ]
  1447                  },
  1448                  "SubTotalNet": {
  1449                      "description": "SubTotalNet is the sum of all delivery net subtotals (without shipping/ discounts)",
  1450                      "allOf": [
  1451                          {
  1452                              "$ref": "#/definitions/domain.Price"
  1453                          }
  1454                      ]
  1455                  },
  1456                  "SubTotalNetWithDiscounts": {
  1457                      "description": "SubTotalNetWithDiscounts is the sum of row net prices reduced by the net value of the applied discounts",
  1458                      "allOf": [
  1459                          {
  1460                              "$ref": "#/definitions/domain.Price"
  1461                          }
  1462                      ]
  1463                  },
  1464                  "TotalDiscountAmount": {
  1465                      "description": "TotalDiscountAmount is the sum of all discounts (incl. shipping)",
  1466                      "allOf": [
  1467                          {
  1468                              "$ref": "#/definitions/domain.Price"
  1469                          }
  1470                      ]
  1471                  },
  1472                  "TotalGiftCardAmount": {
  1473                      "description": "AppliedGiftCardsAmount is the part of GrandTotal which is paid by gift cards",
  1474                      "allOf": [
  1475                          {
  1476                              "$ref": "#/definitions/domain.Price"
  1477                          }
  1478                      ]
  1479                  },
  1480                  "Totalitems": {
  1481                      "description": "Additional non taxable totals",
  1482                      "type": "array",
  1483                      "items": {
  1484                          "$ref": "#/definitions/cart.Totalitem"
  1485                      }
  1486                  }
  1487              }
  1488          },
  1489          "cart.CouponCode": {
  1490              "type": "object",
  1491              "properties": {
  1492                  "Code": {
  1493                      "type": "string"
  1494                  },
  1495                  "CustomAttributes": {
  1496                      "description": "CustomAttributes can hold additional data for coupon code - keys and values are project specific",
  1497                      "type": "object",
  1498                      "additionalProperties": true
  1499                  }
  1500              }
  1501          },
  1502          "cart.Delivery": {
  1503              "type": "object",
  1504              "properties": {
  1505                  "Cartitems": {
  1506                      "description": "Cartitems is the list of items belonging to this delivery",
  1507                      "type": "array",
  1508                      "items": {
  1509                          "$ref": "#/definitions/cart.Item"
  1510                      }
  1511                  },
  1512                  "DeliveryInfo": {
  1513                      "description": "DeliveryInfo contains details for this delivery e.g. how and where the delivery should be delivered to",
  1514                      "allOf": [
  1515                          {
  1516                              "$ref": "#/definitions/cart.DeliveryInfo"
  1517                          }
  1518                      ]
  1519                  },
  1520                  "GrandTotal": {
  1521                      "description": "GrandTotal contains the final price to pay",
  1522                      "allOf": [
  1523                          {
  1524                              "$ref": "#/definitions/domain.Price"
  1525                          }
  1526                      ]
  1527                  },
  1528                  "ItemRelatedDiscountAmount": {
  1529                      "description": "ItemRelatedDiscountAmount contains the sum of discounts that are related to the item, e.g. promo due to product attribute",
  1530                      "allOf": [
  1531                          {
  1532                              "$ref": "#/definitions/domain.Price"
  1533                          }
  1534                      ]
  1535                  },
  1536                  "NonItemRelatedDiscountAmount": {
  1537                      "description": "NonItemRelatedDiscountAmount contains the sum of discounts that are not related to the item, e.g. a general promo",
  1538                      "allOf": [
  1539                          {
  1540                              "$ref": "#/definitions/domain.Price"
  1541                          }
  1542                      ]
  1543                  },
  1544                  "ShippingItem": {
  1545                      "description": "ShippingItem\trepresent the shipping cost that may be involved in this delivery",
  1546                      "allOf": [
  1547                          {
  1548                              "$ref": "#/definitions/cart.ShippingItem"
  1549                          }
  1550                      ]
  1551                  },
  1552                  "SubTotalDiscountAmount": {
  1553                      "description": "TotalDiscountAmount contains the sum of all discounts (excl. shipping)",
  1554                      "allOf": [
  1555                          {
  1556                              "$ref": "#/definitions/domain.Price"
  1557                          }
  1558                      ]
  1559                  },
  1560                  "SubTotalGross": {
  1561                      "description": "SubTotalGross contains the sum of row gross prices, without shipping/discounts",
  1562                      "allOf": [
  1563                          {
  1564                              "$ref": "#/definitions/domain.Price"
  1565                          }
  1566                      ]
  1567                  },
  1568                  "SubTotalGrossWithDiscounts": {
  1569                      "description": "SubTotalGrossWithDiscounts contains the sum of row gross prices reduced by the applied discounts",
  1570                      "allOf": [
  1571                          {
  1572                              "$ref": "#/definitions/domain.Price"
  1573                          }
  1574                      ]
  1575                  },
  1576                  "SubTotalNet": {
  1577                      "description": "SubTotalNet contains the sum of row net prices, without shipping/discounts",
  1578                      "allOf": [
  1579                          {
  1580                              "$ref": "#/definitions/domain.Price"
  1581                          }
  1582                      ]
  1583                  },
  1584                  "SubTotalNetWithDiscounts": {
  1585                      "description": "SubTotalNetWithDiscounts contains the sum of row net prices reduced by the net value of the applied discounts",
  1586                      "allOf": [
  1587                          {
  1588                              "$ref": "#/definitions/domain.Price"
  1589                          }
  1590                      ]
  1591                  },
  1592                  "TotalDiscountAmount": {
  1593                      "description": "TotalDiscountAmount contains the sum of all discounts (incl. shipping)",
  1594                      "allOf": [
  1595                          {
  1596                              "$ref": "#/definitions/domain.Price"
  1597                          }
  1598                      ]
  1599                  }
  1600              }
  1601          },
  1602          "cart.DeliveryInfo": {
  1603              "type": "object",
  1604              "properties": {
  1605                  "AdditionalData": {
  1606                      "description": "AdditionalData can be used to store project specific information on the delivery",
  1607                      "type": "object",
  1608                      "additionalProperties": {
  1609                          "type": "string"
  1610                      }
  1611                  },
  1612                  "Carrier": {
  1613                      "description": "Carrier optional name of the Carrier that should be responsible for executing the delivery",
  1614                      "type": "string"
  1615                  },
  1616                  "Code": {
  1617                      "description": "Code is a project specific identifier for the Delivery - you need it for the AddToCart Request for example\nthe code can follow the convention in the Readme: Type_Method_LocationType_LocationCode",
  1618                      "type": "string"
  1619                  },
  1620                  "DeliveryLocation": {
  1621                      "description": "DeliveryLocation is the target location for the delivery",
  1622                      "allOf": [
  1623                          {
  1624                              "$ref": "#/definitions/cart.DeliveryLocation"
  1625                          }
  1626                      ]
  1627                  },
  1628                  "DesiredTime": {
  1629                      "description": "DesiredTime is an optional desired time for the delivery",
  1630                      "type": "string"
  1631                  },
  1632                  "Method": {
  1633                      "description": "Method is the shipping method something that is project specific and that can mean different delivery qualities with different delivery costs",
  1634                      "type": "string"
  1635                  },
  1636                  "Workflow": {
  1637                      "description": "Workflow of the Delivery e.g. delivery or pickup, see DeliveryWorkflowPickup, DeliveryWorkflowDelivery or DeliveryWorkflowUnspecified",
  1638                      "type": "string"
  1639                  }
  1640              }
  1641          },
  1642          "cart.DeliveryLocation": {
  1643              "type": "object",
  1644              "properties": {
  1645                  "Address": {
  1646                      "description": "Address contains the address of the delivery location, maybe not relevant if the type is not address",
  1647                      "allOf": [
  1648                          {
  1649                              "$ref": "#/definitions/cart.Address"
  1650                          }
  1651                      ]
  1652                  },
  1653                  "Code": {
  1654                      "description": "Code is an optional identifier of this location/destination",
  1655                      "type": "string"
  1656                  },
  1657                  "Type": {
  1658                      "description": "Type is the type of the delivery - use some of the constant defined in the package like DeliverylocationTypeAddress",
  1659                      "type": "string"
  1660                  },
  1661                  "UseBillingAddress": {
  1662                      "description": "UseBillingAddress if the address should be taken from billing (only relevant for type address)",
  1663                      "type": "boolean"
  1664                  }
  1665              }
  1666          },
  1667          "cart.ExistingCustomerData": {
  1668              "type": "object",
  1669              "properties": {
  1670                  "ID": {
  1671                      "description": "ID of the customer",
  1672                      "type": "string"
  1673                  }
  1674              }
  1675          },
  1676          "cart.Item": {
  1677              "type": "object",
  1678              "properties": {
  1679                  "AdditionalData": {
  1680                      "type": "object",
  1681                      "additionalProperties": {
  1682                          "type": "string"
  1683                      }
  1684                  },
  1685                  "AppliedDiscounts": {
  1686                      "description": "AppliedDiscounts contains the details about the discounts applied to this item - they can be \"itemrelated\" or not\nitemrelated would be e.g. special price, buy 3 pay 2\nnon-itemrelated would be e.g. 10% on everything",
  1687                      "type": "array",
  1688                      "items": {
  1689                          "$ref": "#/definitions/cart.AppliedDiscount"
  1690                      }
  1691                  },
  1692                  "BundleConfig": {
  1693                      "$ref": "#/definitions/domain.BundleConfiguration"
  1694                  },
  1695                  "ExternalReference": {
  1696                      "description": "ExternalReference can be used by cart service implementations to separate the representation in an external\ncart service from the unique item ID",
  1697                      "type": "string"
  1698                  },
  1699                  "ID": {
  1700                      "description": "ID of the item - needs to be unique over the whole cart",
  1701                      "type": "string"
  1702                  },
  1703                  "ItemRelatedDiscountAmount": {
  1704                      "description": "ItemRelatedDiscountAmount is the sum of all itemrelated Discounts",
  1705                      "allOf": [
  1706                          {
  1707                              "$ref": "#/definitions/domain.Price"
  1708                          }
  1709                      ]
  1710                  },
  1711                  "MarketplaceCode": {
  1712                      "description": "MarketplaceCode is the identifier for the product",
  1713                      "type": "string"
  1714                  },
  1715                  "NonItemRelatedDiscountAmount": {
  1716                      "description": "NonItemRelatedDiscountAmount is the sum of non-itemrelated Discounts where IsItemRelated = false",
  1717                      "allOf": [
  1718                          {
  1719                              "$ref": "#/definitions/domain.Price"
  1720                          }
  1721                      ]
  1722                  },
  1723                  "ProductName": {
  1724                      "type": "string"
  1725                  },
  1726                  "Qty": {
  1727                      "type": "integer"
  1728                  },
  1729                  "RowPriceGross": {
  1730                      "description": "RowPriceGross is the price incl. taxes for the whole Qty of products",
  1731                      "allOf": [
  1732                          {
  1733                              "$ref": "#/definitions/domain.Price"
  1734                          }
  1735                      ]
  1736                  },
  1737                  "RowPriceGrossWithDiscount": {
  1738                      "description": "RowPriceGrossWithDiscount is the price incl. taxes with deducted discounts for the whole Qty of products\nThis is in most cases the final price for the customer to pay",
  1739                      "allOf": [
  1740                          {
  1741                              "$ref": "#/definitions/domain.Price"
  1742                          }
  1743                      ]
  1744                  },
  1745                  "RowPriceGrossWithItemRelatedDiscount": {
  1746                      "description": "RowPriceGrossWithItemRelatedDiscount is the price incl. taxes with deducted item related discounts for the whole Qty of products",
  1747                      "allOf": [
  1748                          {
  1749                              "$ref": "#/definitions/domain.Price"
  1750                          }
  1751                      ]
  1752                  },
  1753                  "RowPriceNet": {
  1754                      "description": "RowPriceNet is the price excl. taxes for the whole Qty of products",
  1755                      "allOf": [
  1756                          {
  1757                              "$ref": "#/definitions/domain.Price"
  1758                          }
  1759                      ]
  1760                  },
  1761                  "RowPriceNetWithDiscount": {
  1762                      "description": "RowPriceNetWithDiscount is the discounted net price for the whole Qty of products",
  1763                      "allOf": [
  1764                          {
  1765                              "$ref": "#/definitions/domain.Price"
  1766                          }
  1767                      ]
  1768                  },
  1769                  "RowPriceNetWithItemRelatedDiscount": {
  1770                      "description": "RowPriceNetWithItemRelatedDiscount is the price excl. taxes with deducted item related discounts for the whole Qty of products",
  1771                      "allOf": [
  1772                          {
  1773                              "$ref": "#/definitions/domain.Price"
  1774                          }
  1775                      ]
  1776                  },
  1777                  "RowTaxes": {
  1778                      "description": "RowTaxes is a list of all taxes applied for the given Qty of products",
  1779                      "type": "array",
  1780                      "items": {
  1781                          "$ref": "#/definitions/cart.Tax"
  1782                      }
  1783                  },
  1784                  "SinglePriceGross": {
  1785                      "description": "SinglePriceGross is the gross price (incl. taxes) for a single product",
  1786                      "allOf": [
  1787                          {
  1788                              "$ref": "#/definitions/domain.Price"
  1789                          }
  1790                      ]
  1791                  },
  1792                  "SinglePriceNet": {
  1793                      "description": "SinglePriceNet is the net price (excl. taxes) for a single product",
  1794                      "allOf": [
  1795                          {
  1796                              "$ref": "#/definitions/domain.Price"
  1797                          }
  1798                      ]
  1799                  },
  1800                  "SourceID": {
  1801                      "description": "Source Id of where the items should be initial picked - This is set by the SourcingLogic",
  1802                      "type": "string"
  1803                  },
  1804                  "TotalDiscountAmount": {
  1805                      "description": "TotalDiscountAmount is the sum of all applied discounts (aka the savings for the customer)",
  1806                      "allOf": [
  1807                          {
  1808                              "$ref": "#/definitions/domain.Price"
  1809                          }
  1810                      ]
  1811                  },
  1812                  "VariantMarketPlaceCode": {
  1813                      "description": "VariantMarketPlaceCode is used for Configurable products",
  1814                      "type": "string"
  1815                  }
  1816              }
  1817          },
  1818          "cart.Person": {
  1819              "type": "object",
  1820              "properties": {
  1821                  "Address": {
  1822                      "$ref": "#/definitions/cart.Address"
  1823                  },
  1824                  "ExistingCustomerData": {
  1825                      "description": "ExistingCustomerData if the current purchaser is an existing customer - this contains infos about existing customer",
  1826                      "allOf": [
  1827                          {
  1828                              "$ref": "#/definitions/cart.ExistingCustomerData"
  1829                          }
  1830                      ]
  1831                  },
  1832                  "PersonalDetails": {
  1833                      "$ref": "#/definitions/cart.PersonalDetails"
  1834                  }
  1835              }
  1836          },
  1837          "cart.PersonalDetails": {
  1838              "type": "object",
  1839              "properties": {
  1840                  "DateOfBirth": {
  1841                      "type": "string"
  1842                  },
  1843                  "Nationality": {
  1844                      "type": "string"
  1845                  },
  1846                  "PassportCountry": {
  1847                      "type": "string"
  1848                  },
  1849                  "PassportNumber": {
  1850                      "type": "string"
  1851                  }
  1852              }
  1853          },
  1854          "cart.ShippingItem": {
  1855              "type": "object",
  1856              "properties": {
  1857                  "AppliedDiscounts": {
  1858                      "type": "array",
  1859                      "items": {
  1860                          "$ref": "#/definitions/cart.AppliedDiscount"
  1861                      }
  1862                  },
  1863                  "PriceGross": {
  1864                      "$ref": "#/definitions/domain.Price"
  1865                  },
  1866                  "PriceGrossWithDiscounts": {
  1867                      "$ref": "#/definitions/domain.Price"
  1868                  },
  1869                  "PriceNet": {
  1870                      "$ref": "#/definitions/domain.Price"
  1871                  },
  1872                  "PriceNetWithDiscounts": {
  1873                      "$ref": "#/definitions/domain.Price"
  1874                  },
  1875                  "TaxAmount": {
  1876                      "$ref": "#/definitions/domain.Price"
  1877                  },
  1878                  "Title": {
  1879                      "type": "string"
  1880                  }
  1881              }
  1882          },
  1883          "cart.Tax": {
  1884              "type": "object",
  1885              "properties": {
  1886                  "Amount": {
  1887                      "$ref": "#/definitions/domain.Price"
  1888                  },
  1889                  "Rate": {
  1890                      "type": "string"
  1891                  },
  1892                  "Type": {
  1893                      "type": "string"
  1894                  }
  1895              }
  1896          },
  1897          "cart.Teaser": {
  1898              "type": "object",
  1899              "properties": {
  1900                  "DeliveryCodes": {
  1901                      "type": "array",
  1902                      "items": {
  1903                          "type": "string"
  1904                      }
  1905                  },
  1906                  "ItemCount": {
  1907                      "type": "integer"
  1908                  },
  1909                  "ProductCount": {
  1910                      "type": "integer"
  1911                  }
  1912              }
  1913          },
  1914          "cart.Totalitem": {
  1915              "type": "object",
  1916              "properties": {
  1917                  "Code": {
  1918                      "type": "string"
  1919                  },
  1920                  "Price": {
  1921                      "$ref": "#/definitions/domain.Price"
  1922                  },
  1923                  "Title": {
  1924                      "type": "string"
  1925                  },
  1926                  "Type": {
  1927                      "type": "string"
  1928                  }
  1929              }
  1930          },
  1931          "cartResultError": {
  1932              "type": "object",
  1933              "properties": {
  1934                  "Code": {
  1935                      "type": "string"
  1936                  },
  1937                  "Message": {
  1938                      "type": "string"
  1939                  }
  1940              }
  1941          },
  1942          "checkoutError": {
  1943              "type": "object",
  1944              "properties": {
  1945                  "Code": {
  1946                      "type": "string"
  1947                  },
  1948                  "Message": {
  1949                      "type": "string"
  1950                  }
  1951              }
  1952          },
  1953          "controller.APIResult": {
  1954              "type": "object",
  1955              "properties": {
  1956                  "Error": {
  1957                      "$ref": "#/definitions/productResultError"
  1958                  },
  1959                  "Product": {},
  1960                  "Success": {
  1961                      "type": "boolean"
  1962                  }
  1963              }
  1964          },
  1965          "controller.CartAPIResult": {
  1966              "type": "object",
  1967              "properties": {
  1968                  "CartTeaser": {
  1969                      "$ref": "#/definitions/cart.Teaser"
  1970                  },
  1971                  "CartValidationResult": {
  1972                      "$ref": "#/definitions/validation.Result"
  1973                  },
  1974                  "Data": {},
  1975                  "DataValidationInfo": {
  1976                      "type": "object"
  1977                  },
  1978                  "Error": {
  1979                      "description": "Contains details if success is false",
  1980                      "allOf": [
  1981                          {
  1982                              "$ref": "#/definitions/cartResultError"
  1983                          }
  1984                      ]
  1985                  },
  1986                  "Success": {
  1987                      "type": "boolean"
  1988                  }
  1989              }
  1990          },
  1991          "controller.getCartResult": {
  1992              "type": "object",
  1993              "properties": {
  1994                  "Cart": {
  1995                      "$ref": "#/definitions/cart.Cart"
  1996                  },
  1997                  "CartValidationResult": {
  1998                      "$ref": "#/definitions/validation.Result"
  1999                  }
  2000              }
  2001          },
  2002          "controller.placeOrderContext": {
  2003              "type": "object",
  2004              "properties": {
  2005                  "Cart": {
  2006                      "$ref": "#/definitions/cart.Cart"
  2007                  },
  2008                  "CartValidationResult": {
  2009                      "$ref": "#/definitions/validation.Result"
  2010                  },
  2011                  "FailedReason": {
  2012                      "type": "string"
  2013                  },
  2014                  "OrderInfos": {
  2015                      "$ref": "#/definitions/controller.placedOrderInfos"
  2016                  },
  2017                  "State": {
  2018                      "type": "string"
  2019                  },
  2020                  "StateData": {},
  2021                  "UUID": {
  2022                      "type": "string"
  2023                  }
  2024              }
  2025          },
  2026          "controller.placedOrderInfos": {
  2027              "type": "object",
  2028              "properties": {
  2029                  "Email": {
  2030                      "type": "string"
  2031                  },
  2032                  "PaymentInfos": {
  2033                      "type": "array",
  2034                      "items": {
  2035                          "$ref": "#/definitions/application.PlaceOrderPaymentInfo"
  2036                      }
  2037                  },
  2038                  "PlacedDecoratedCart": {
  2039                      "$ref": "#/definitions/decorator.DecoratedCart"
  2040                  },
  2041                  "PlacedOrderInfos": {
  2042                      "type": "array",
  2043                      "items": {
  2044                          "$ref": "#/definitions/placeorder.PlacedOrderInfo"
  2045                      }
  2046                  }
  2047              }
  2048          },
  2049          "controller.startPlaceOrderResult": {
  2050              "type": "object",
  2051              "properties": {
  2052                  "UUID": {
  2053                      "type": "string"
  2054                  }
  2055              }
  2056          },
  2057          "decorator.DecoratedCart": {
  2058              "type": "object",
  2059              "properties": {
  2060                  "Cart": {
  2061                      "$ref": "#/definitions/cart.Cart"
  2062                  },
  2063                  "DecoratedDeliveries": {
  2064                      "type": "array",
  2065                      "items": {
  2066                          "$ref": "#/definitions/decorator.DecoratedDelivery"
  2067                      }
  2068                  }
  2069              }
  2070          },
  2071          "decorator.DecoratedCartItem": {
  2072              "type": "object",
  2073              "properties": {
  2074                  "Item": {
  2075                      "$ref": "#/definitions/cart.Item"
  2076                  },
  2077                  "Product": {}
  2078              }
  2079          },
  2080          "decorator.DecoratedDelivery": {
  2081              "type": "object",
  2082              "properties": {
  2083                  "DecoratedItems": {
  2084                      "type": "array",
  2085                      "items": {
  2086                          "$ref": "#/definitions/decorator.DecoratedCartItem"
  2087                      }
  2088                  },
  2089                  "Delivery": {
  2090                      "$ref": "#/definitions/cart.Delivery"
  2091                  }
  2092              }
  2093          },
  2094          "domain.Attributes": {
  2095              "type": "object",
  2096              "additionalProperties": {}
  2097          },
  2098          "domain.Badge": {
  2099              "type": "object",
  2100              "properties": {
  2101                  "Code": {
  2102                      "type": "string"
  2103                  },
  2104                  "Label": {
  2105                      "type": "string"
  2106                  }
  2107              }
  2108          },
  2109          "domain.BundleConfiguration": {
  2110              "type": "object",
  2111              "additionalProperties": {
  2112                  "$ref": "#/definitions/domain.ChoiceConfiguration"
  2113              }
  2114          },
  2115          "domain.CategoryTeaser": {
  2116              "type": "object",
  2117              "properties": {
  2118                  "Code": {
  2119                      "description": "Code the identifier of the Category",
  2120                      "type": "string"
  2121                  },
  2122                  "Name": {
  2123                      "description": "Name is the speaking name of the category",
  2124                      "type": "string"
  2125                  },
  2126                  "Path": {
  2127                      "description": "The Path (root to leaf) for this Category - separated by \"/\"",
  2128                      "type": "string"
  2129                  }
  2130              }
  2131          },
  2132          "domain.ChoiceConfiguration": {
  2133              "type": "object",
  2134              "properties": {
  2135                  "MarketplaceCode": {
  2136                      "type": "string"
  2137                  },
  2138                  "Qty": {
  2139                      "type": "integer"
  2140                  },
  2141                  "VariantMarketplaceCode": {
  2142                      "type": "string"
  2143                  }
  2144              }
  2145          },
  2146          "domain.Error": {
  2147              "type": "object",
  2148              "properties": {
  2149                  "ErrorCode": {
  2150                      "type": "string"
  2151                  },
  2152                  "ErrorMessage": {
  2153                      "type": "string"
  2154                  }
  2155              }
  2156          },
  2157          "domain.FlowActionData": {
  2158              "type": "object",
  2159              "properties": {
  2160                  "DisplayData": {
  2161                      "description": "DisplayData holds data, normally HTML to be displayed to the user",
  2162                      "type": "string"
  2163                  },
  2164                  "FormParameter": {
  2165                      "type": "object",
  2166                      "additionalProperties": {
  2167                          "$ref": "#/definitions/domain.FormField"
  2168                      }
  2169                  },
  2170                  "URL": {
  2171                      "description": "URL is used to pass URL data to the user if the current state needs some",
  2172                      "type": "string"
  2173                  },
  2174                  "WalletDetails": {
  2175                      "$ref": "#/definitions/domain.WalletDetails"
  2176                  }
  2177              }
  2178          },
  2179          "domain.FlowStatus": {
  2180              "type": "object",
  2181              "properties": {
  2182                  "Action": {
  2183                      "description": "Action to perform to proceed in the payment flow. If status is \"payment_waiting_for_customer\" this field contains information about what to do - e.g. \"redirect\" or \"show_iframe\"",
  2184                      "type": "string"
  2185                  },
  2186                  "ActionData": {
  2187                      "$ref": "#/definitions/domain.FlowActionData"
  2188                  },
  2189                  "Data": {
  2190                      "description": "Data contains additional information related to the action / flow"
  2191                  },
  2192                  "Error": {
  2193                      "description": "Error contains additional information in case of an error (e.g. payment failed)",
  2194                      "allOf": [
  2195                          {
  2196                              "$ref": "#/definitions/domain.Error"
  2197                          }
  2198                      ]
  2199                  },
  2200                  "Status": {
  2201                      "description": "Status of the payment flow. E.g. \"payment_completed\", \"payment_waiting_for_customer\" or \"payment_failed\"",
  2202                      "type": "string"
  2203                  }
  2204              }
  2205          },
  2206          "domain.FormField": {
  2207              "type": "object",
  2208              "properties": {
  2209                  "Value": {
  2210                      "type": "array",
  2211                      "items": {
  2212                          "type": "string"
  2213                      }
  2214                  }
  2215              }
  2216          },
  2217          "domain.LoyaltyEarningInfo": {
  2218              "type": "object",
  2219              "properties": {
  2220                  "Default": {
  2221                      "$ref": "#/definitions/domain.Price"
  2222                  },
  2223                  "Type": {
  2224                      "type": "string"
  2225                  }
  2226              }
  2227          },
  2228          "domain.LoyaltyPriceInfo": {
  2229              "type": "object",
  2230              "properties": {
  2231                  "Context": {
  2232                      "$ref": "#/definitions/domain.PriceContext"
  2233                  },
  2234                  "Default": {
  2235                      "$ref": "#/definitions/domain.Price"
  2236                  },
  2237                  "DiscountText": {
  2238                      "type": "string"
  2239                  },
  2240                  "Discounted": {
  2241                      "$ref": "#/definitions/domain.Price"
  2242                  },
  2243                  "IsDiscounted": {
  2244                      "type": "boolean"
  2245                  },
  2246                  "MaxPointsToSpent": {
  2247                      "type": "string"
  2248                  },
  2249                  "MinPointsToSpent": {
  2250                      "type": "string"
  2251                  },
  2252                  "Type": {
  2253                      "description": "Type or Name of the Loyalty program",
  2254                      "type": "string"
  2255                  }
  2256              }
  2257          },
  2258          "domain.PaymentRequestAPI": {
  2259              "type": "object",
  2260              "properties": {
  2261                  "CompleteURL": {
  2262                      "type": "string"
  2263                  },
  2264                  "Details": {
  2265                      "type": "string"
  2266                  },
  2267                  "MerchantValidationURL": {
  2268                      "type": "string"
  2269                  },
  2270                  "Methods": {
  2271                      "type": "string"
  2272                  },
  2273                  "Options": {
  2274                      "type": "string"
  2275                  }
  2276              }
  2277          },
  2278          "domain.Price": {
  2279              "type": "object"
  2280          },
  2281          "domain.PriceContext": {
  2282              "type": "object",
  2283              "properties": {
  2284                  "ChannelCode": {
  2285                      "type": "string"
  2286                  },
  2287                  "CustomerGroup": {
  2288                      "type": "string"
  2289                  },
  2290                  "DeliveryCode": {
  2291                      "type": "string"
  2292                  },
  2293                  "Locale": {
  2294                      "type": "string"
  2295                  }
  2296              }
  2297          },
  2298          "domain.PriceInfo": {
  2299              "type": "object",
  2300              "properties": {
  2301                  "ActiveBase": {
  2302                      "type": "string"
  2303                  },
  2304                  "ActiveBaseAmount": {
  2305                      "type": "string"
  2306                  },
  2307                  "ActiveBaseUnit": {
  2308                      "type": "string"
  2309                  },
  2310                  "CampaignRules": {
  2311                      "type": "array",
  2312                      "items": {
  2313                          "type": "string"
  2314                      }
  2315                  },
  2316                  "Context": {
  2317                      "$ref": "#/definitions/domain.PriceContext"
  2318                  },
  2319                  "Default": {
  2320                      "$ref": "#/definitions/domain.Price"
  2321                  },
  2322                  "DenyMoreDiscounts": {
  2323                      "type": "boolean"
  2324                  },
  2325                  "DiscountText": {
  2326                      "type": "string"
  2327                  },
  2328                  "Discounted": {
  2329                      "$ref": "#/definitions/domain.Price"
  2330                  },
  2331                  "IsDiscounted": {
  2332                      "type": "boolean"
  2333                  },
  2334                  "TaxClass": {
  2335                      "type": "string"
  2336                  }
  2337              }
  2338          },
  2339          "domain.SimpleProduct": {
  2340              "type": "object",
  2341              "properties": {
  2342                  "ActiveLoyaltyPrice": {
  2343                      "$ref": "#/definitions/domain.LoyaltyPriceInfo"
  2344                  },
  2345                  "ActivePrice": {
  2346                      "$ref": "#/definitions/domain.PriceInfo"
  2347                  },
  2348                  "Attributes": {
  2349                      "$ref": "#/definitions/domain.Attributes"
  2350                  },
  2351                  "AvailablePrices": {
  2352                      "type": "array",
  2353                      "items": {
  2354                          "$ref": "#/definitions/domain.PriceInfo"
  2355                      }
  2356                  },
  2357                  "Badges": {
  2358                      "type": "array",
  2359                      "items": {
  2360                          "$ref": "#/definitions/domain.Badge"
  2361                      }
  2362                  },
  2363                  "Categories": {
  2364                      "type": "array",
  2365                      "items": {
  2366                          "$ref": "#/definitions/domain.CategoryTeaser"
  2367                      }
  2368                  },
  2369                  "CategoryToCodeMapping": {
  2370                      "type": "array",
  2371                      "items": {
  2372                          "type": "string"
  2373                      }
  2374                  },
  2375                  "CreatedAt": {
  2376                      "type": "string"
  2377                  },
  2378                  "Description": {
  2379                      "type": "string"
  2380                  },
  2381                  "Identifier": {
  2382                      "type": "string"
  2383                  },
  2384                  "IsNew": {
  2385                      "type": "boolean"
  2386                  },
  2387                  "IsSaleable": {
  2388                      "type": "boolean"
  2389                  },
  2390                  "Keywords": {
  2391                      "type": "array",
  2392                      "items": {
  2393                          "type": "string"
  2394                      }
  2395                  },
  2396                  "LoyaltyEarnings": {
  2397                      "description": "LoyaltyEarnings holds optional infos about potential loyalty earnings",
  2398                      "type": "array",
  2399                      "items": {
  2400                          "$ref": "#/definitions/domain.LoyaltyEarningInfo"
  2401                      }
  2402                  },
  2403                  "LoyaltyPrices": {
  2404                      "description": "LoyaltyPrices holds optional infos for products that can be paid in a loyalty program",
  2405                      "type": "array",
  2406                      "items": {
  2407                          "$ref": "#/definitions/domain.LoyaltyPriceInfo"
  2408                      }
  2409                  },
  2410                  "MainCategory": {
  2411                      "$ref": "#/definitions/domain.CategoryTeaser"
  2412                  },
  2413                  "MarketPlaceCode": {
  2414                      "type": "string"
  2415                  },
  2416                  "Media": {
  2417                      "type": "array",
  2418                      "items": {
  2419                          "$ref": "#/definitions/ProductMedia"
  2420                      }
  2421                  },
  2422                  "RetailerCode": {
  2423                      "type": "string"
  2424                  },
  2425                  "RetailerName": {
  2426                      "type": "string"
  2427                  },
  2428                  "RetailerSku": {
  2429                      "type": "string"
  2430                  },
  2431                  "SaleableFrom": {
  2432                      "type": "string"
  2433                  },
  2434                  "SaleableTo": {
  2435                      "type": "string"
  2436                  },
  2437                  "ShortDescription": {
  2438                      "type": "string"
  2439                  },
  2440                  "Stock": {
  2441                      "type": "array",
  2442                      "items": {
  2443                          "$ref": "#/definitions/domain.Stock"
  2444                      }
  2445                  },
  2446                  "StockLevel": {
  2447                      "description": "Deprecated: use Stock[x].Level instead",
  2448                      "type": "string"
  2449                  },
  2450                  "Teaser": {
  2451                      "$ref": "#/definitions/domain.TeaserData"
  2452                  },
  2453                  "Title": {
  2454                      "type": "string"
  2455                  },
  2456                  "UpdatedAt": {
  2457                      "type": "string"
  2458                  },
  2459                  "VisibleFrom": {
  2460                      "type": "string"
  2461                  },
  2462                  "VisibleTo": {
  2463                      "type": "string"
  2464                  }
  2465              }
  2466          },
  2467          "domain.Stock": {
  2468              "type": "object",
  2469              "properties": {
  2470                  "Amount": {
  2471                      "type": "integer"
  2472                  },
  2473                  "DeliveryCode": {
  2474                      "type": "string"
  2475                  },
  2476                  "InStock": {
  2477                      "type": "boolean"
  2478                  },
  2479                  "Level": {
  2480                      "type": "string"
  2481                  }
  2482              }
  2483          },
  2484          "domain.TeaserData": {
  2485              "type": "object",
  2486              "properties": {
  2487                  "Badges": {
  2488                      "description": "Badges optional slice of badges to teaser a product",
  2489                      "type": "array",
  2490                      "items": {
  2491                          "$ref": "#/definitions/domain.Badge"
  2492                      }
  2493                  },
  2494                  "MarketPlaceCode": {
  2495                      "description": "The sku that should be used to link from Teasers",
  2496                      "type": "string"
  2497                  },
  2498                  "Media": {
  2499                      "description": "Media",
  2500                      "type": "array",
  2501                      "items": {
  2502                          "$ref": "#/definitions/ProductMedia"
  2503                      }
  2504                  },
  2505                  "PreSelectedVariantSku": {
  2506                      "description": "PreSelectedVariantSku might be set for configurables to give a hint to link to a variant of a configurable (That might be the case if a user filters for an attribute and in the teaser the variant with that attribute is shown)",
  2507                      "type": "string"
  2508                  },
  2509                  "ShortDescription": {
  2510                      "type": "string"
  2511                  },
  2512                  "ShortTitle": {
  2513                      "type": "string"
  2514                  },
  2515                  "TeaserAvailablePrices": {
  2516                      "type": "array",
  2517                      "items": {
  2518                          "$ref": "#/definitions/domain.PriceInfo"
  2519                      }
  2520                  },
  2521                  "TeaserLoyaltyEarningInfo": {
  2522                      "description": "TeaserLoyaltyEarning is the teaser for the loyalty earning used in grid / list view",
  2523                      "allOf": [
  2524                          {
  2525                              "$ref": "#/definitions/domain.LoyaltyEarningInfo"
  2526                          }
  2527                      ]
  2528                  },
  2529                  "TeaserLoyaltyPriceInfo": {
  2530                      "description": "TeaserLoyaltyPriceInfo is the loyalty price that can be used for teaser (e.g. on listing views)",
  2531                      "allOf": [
  2532                          {
  2533                              "$ref": "#/definitions/domain.LoyaltyPriceInfo"
  2534                          }
  2535                      ]
  2536                  },
  2537                  "TeaserPrice": {
  2538                      "description": "TeaserPrice is the price that should be shown in teasers (listview)",
  2539                      "allOf": [
  2540                          {
  2541                              "$ref": "#/definitions/domain.PriceInfo"
  2542                          }
  2543                      ]
  2544                  },
  2545                  "TeaserPriceIsFromPrice": {
  2546                      "description": "TeaserPriceIsFromPrice is set to true in cases where a product might have different prices (e.g. configurable)",
  2547                      "type": "boolean"
  2548                  },
  2549                  "URLSlug": {
  2550                      "type": "string"
  2551                  }
  2552              }
  2553          },
  2554          "domain.WalletDetails": {
  2555              "type": "object",
  2556              "properties": {
  2557                  "PaymentRequestAPI": {
  2558                      "$ref": "#/definitions/domain.PaymentRequestAPI"
  2559                  },
  2560                  "UsedPaymentMethod": {
  2561                      "type": "string"
  2562                  }
  2563              }
  2564          },
  2565          "paymentResultError": {
  2566              "type": "object",
  2567              "properties": {
  2568                  "Code": {
  2569                      "type": "string"
  2570                  },
  2571                  "Message": {
  2572                      "type": "string"
  2573                  }
  2574              }
  2575          },
  2576          "placeorder.CreditCardInfo": {
  2577              "type": "object",
  2578              "properties": {
  2579                  "AnonymizedCardNumber": {
  2580                      "type": "string"
  2581                  },
  2582                  "CardHolder": {
  2583                      "type": "string"
  2584                  },
  2585                  "Expire": {
  2586                      "type": "string"
  2587                  },
  2588                  "Type": {
  2589                      "type": "string"
  2590                  }
  2591              }
  2592          },
  2593          "placeorder.PlacedOrderInfo": {
  2594              "type": "object",
  2595              "properties": {
  2596                  "DeliveryCode": {
  2597                      "type": "string"
  2598                  },
  2599                  "OrderNumber": {
  2600                      "type": "string"
  2601                  }
  2602              }
  2603          },
  2604          "productResultError": {
  2605              "type": "object",
  2606              "properties": {
  2607                  "Code": {
  2608                      "type": "string"
  2609                  },
  2610                  "Message": {
  2611                      "type": "string"
  2612                  }
  2613              }
  2614          },
  2615          "validation.ItemValidationError": {
  2616              "type": "object",
  2617              "properties": {
  2618                  "ErrorMessageKey": {
  2619                      "type": "string"
  2620                  },
  2621                  "ItemID": {
  2622                      "type": "string"
  2623                  }
  2624              }
  2625          },
  2626          "validation.Result": {
  2627              "type": "object",
  2628              "properties": {
  2629                  "CommonErrorMessageKey": {
  2630                      "type": "string"
  2631                  },
  2632                  "HasCommonError": {
  2633                      "type": "boolean"
  2634                  },
  2635                  "ItemResults": {
  2636                      "type": "array",
  2637                      "items": {
  2638                          "$ref": "#/definitions/validation.ItemValidationError"
  2639                      }
  2640                  }
  2641              }
  2642          }
  2643      },
  2644      "tags": [
  2645          {
  2646              "description": "All Cart related APIs endpoints, most suitable to be called from a browser, because they rely on the session and cookie headers.",
  2647              "name": "Cart"
  2648          },
  2649          {
  2650              "description": "All Payment related APIs endpoints, most suitable to be called from a browser, because they rely on the session and cookie headers.",
  2651              "name": "Payment"
  2652          },
  2653          {
  2654              "description": "All Product related APIs endpoints.",
  2655              "name": "Product"
  2656          },
  2657          {
  2658              "description": "All Checkout related APIs endpoints, most suitable to be called from a browser, because they rely on the session and cookie headers.",
  2659              "name": "Checkout"
  2660          }
  2661      ]
  2662  }`
  2663  
  2664  // SwaggerInfo holds exported Swagger Info so clients can modify it
  2665  var SwaggerInfo = &swag.Spec{
  2666  	Version:          "1.0",
  2667  	Host:             "",
  2668  	BasePath:         "",
  2669  	Schemes:          []string{},
  2670  	Title:            "Flamingo Commerce API Spec",
  2671  	Description:      "Swagger (OpenAPI) Spec of all Flamingo Commerce modules",
  2672  	InfoInstanceName: "swagger",
  2673  	SwaggerTemplate:  docTemplate,
  2674  	LeftDelim:        "{{",
  2675  	RightDelim:       "}}",
  2676  }
  2677  
  2678  func init() {
  2679  	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
  2680  }