> For the complete documentation index, see [llms.txt](https://docs.flowretail.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowretail.com/docs/developers/api-documentation/models.md).

# Models

## The AccountUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountUpdateSchema":{"title":"AccountUpdateSchema","type":"object","properties":{"defaultTenantUid":{"$ref":"#/components/schemas/UID"}},"required":["defaultTenantUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingHeaderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingHeaderSchema":{"properties":{"fromDate":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"toDate":{"type":"string"}},"required":["storeUid","fromDate","toDate"],"title":"AccountingHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingPostSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingPostSchema":{"properties":{"account":{"type":"string"},"creditAmount":{"type":"integer"},"date":{"type":"string"},"debetAmount":{"type":"integer"},"text":{"type":"string"},"vatCode":{"type":"string"}},"required":["date","account","vatCode","text","debetAmount","creditAmount"],"title":"AccountingPostSchema","type":"object"}}}}
```

## The AccountingReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingReportResponseSchema":{"title":"AccountingReportResponseSchema","type":"object","properties":{"asset":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostSchema"}},"credit":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostSchema"}},"debet":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostSchema"}},"header":{"$ref":"#/components/schemas/AccountingHeaderSchema"},"ledger":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostSchema"}},"printDate":{"type":"string"},"tenantName":{"type":"string"},"organizationName":{"type":"string"},"storeNames":{"type":"array","items":{"type":"string"}},"totals":{"$ref":"#/components/schemas/AccountingTotalsSchema"}},"required":["asset","credit","debet","header","ledger","printDate","tenantName","organizationName","storeNames","totals"]},"AccountingPostSchema":{"properties":{"account":{"type":"string"},"creditAmount":{"type":"integer"},"date":{"type":"string"},"debetAmount":{"type":"integer"},"text":{"type":"string"},"vatCode":{"type":"string"}},"required":["date","account","vatCode","text","debetAmount","creditAmount"],"title":"AccountingPostSchema","type":"object"},"AccountingHeaderSchema":{"properties":{"fromDate":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"toDate":{"type":"string"}},"required":["storeUid","fromDate","toDate"],"title":"AccountingHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"AccountingTotalsSchema":{"properties":{"totalAsset":{"type":"integer"},"totalCredit":{"type":"integer"},"totalCreditAndAsset":{"type":"integer"},"totalDebet":{"type":"integer"},"totalLedger":{"type":"integer"}},"required":["totalDebet","totalAsset","totalCredit","totalLedger","totalCreditAndAsset"],"title":"AccountingTotalsSchema","type":"object"}}}}
```

## The AccountingTotalsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingTotalsSchema":{"properties":{"totalAsset":{"type":"integer"},"totalCredit":{"type":"integer"},"totalCreditAndAsset":{"type":"integer"},"totalDebet":{"type":"integer"},"totalLedger":{"type":"integer"}},"required":["totalDebet","totalAsset","totalCredit","totalLedger","totalCreditAndAsset"],"title":"AccountingTotalsSchema","type":"object"}}}}
```

## The AllowSaleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"}}}}
```

## The CustomerSearchScopeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerSearchScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CUSTOMER | Search for customers|\n| CONTACT | Search for customer contacts|","enum":["CUSTOMER","CONTACT"],"title":"CustomerSearchScope","type":"string"}}}}
```

## The AllowDeliveryENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"}}}}
```

## The RMAOrderStatusRequestENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderStatusRequestENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | RMA Order is created |\n| WAITING_FOR_APPROVAL | RMA Order request is sent to supplier and awaiting approval|\n| DECLINED_BY_SUPPLIER | RMA Order request have been declined by supplier|\n| SENT_TO_SUPPLIER | Items have been physically sent back to supplier|","enum":["NEW","WAITING_FOR_APPROVAL","DECLINED_BY_SUPPLIER","SENT_TO_SUPPLIER","COMPLETE"],"title":"RMAOrderStatusRequestENUM","type":"string"}}}}
```

## The RMAOrderStatusResponseENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderStatusResponseENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | RMA Order is created |\n| WAITING_FOR_APPROVAL | RMA Order request is sent to supplier and awaiting approval|\n| DECLINED_BY_SUPPLIER | RMA Order request have been declined by supplier|\n| SENT_TO_SUPPLIER | Items have been physically sent back to supplier|\n| COMPLETE | Item stock has been adjusted |","enum":["NEW","WAITING_FOR_APPROVAL","DECLINED_BY_SUPPLIER","SENT_TO_SUPPLIER","COMPLETE"],"title":"RMAOrderStatusResponseENUM","type":"string"}}}}
```

## The AllowedOrderActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AllowedOrderActionENUM":{"enum":["DELETE","OFFER","LOYALTY_POINTS"],"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELETE | Order can be deleted|\n| OFFER | Order can be changed to an offer|\n| LOYALTY_POINTS | Order has loyalty points|"}}}}
```

## The AllowedActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"}}}}
```

## The AllowedSettlementActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AllowedSettlementActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CANCEL | Settlement can be cancelled|","enum":["CANCEL"],"title":"AllowedSettlementActionENUM","type":"string"}}}}
```

## The EnvironmentENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"EnvironmentENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTION | System is in PRODUCTION mode|\n| STAGE | System is in STAGE mode|\n| DEVELOPER | System is in DEVELOPER mode|","enum":["PRODUCTION","STAGE","DEVELOPER"],"title":"EnvironmentENUM","type":"string"}}}}
```

## The AvailabilityTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailabilityTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE  - Check for receive serial number|\n| DELIVER  - Check for deliver serial number|\n","enum":["RECEIVE","DELIVER"],"title":"AvailabilityTypeENUM","type":"string"}}}}
```

## The AvailableReasonResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailableReasonResponseSchema":{"title":"AvailableReasonResponseSchema","type":"object","required":["code","description","requiresReference","reasonUid"],"properties":{"code":{"type":"string"},"description":{"type":"string"},"requiresReference":{"type":"boolean"},"reasonUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AvailableReasonsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailableReasonsSchema":{"title":"AvailableReasonsSchema","type":"object","properties":{"discount":{"type":"array","items":{"$ref":"#/components/schemas/AvailableReasonResponseSchema"}},"return":{"type":"array","items":{"$ref":"#/components/schemas/AvailableReasonResponseSchema"}}},"required":["discount","return"]},"AvailableReasonResponseSchema":{"title":"AvailableReasonResponseSchema","type":"object","required":["code","description","requiresReference","reasonUid"],"properties":{"code":{"type":"string"},"description":{"type":"string"},"requiresReference":{"type":"boolean"},"reasonUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The Base64EncodedFileContentSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"Base64EncodedFileContentSchema":{"title":"Base64EncodedFileContentSchema","type":"object","properties":{"content":{"type":"string","description":" base64 encoded"},"contentType":{"description":"mime type","type":"string"},"filename":{"type":"string"}},"required":["content","contentType","filename"]}}}}
```

## The BatchAdjustStockSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchAdjustStockSchema":{"title":"BatchAdjustStockSchema","type":"object","required":["productUid","reason"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"averageCost":{"description":"set new average cost","type":"integer"},"quantity":{"description":"set new stock quantity","type":"integer","minimum":0},"changeQuantity":{"type":"integer","description":"make stock adjustment"},"reason":{"type":"string"},"serialnumbers":{"description":"the number of serialnumbers must match the quantity/changeQuantity","type":"array","items":{"type":"string"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BrandResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BrandResponseSchema":{"title":"BrandResponseSchema","type":"object","properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"}},"required":["brandUid","createdAt","externalId","lastModifiedAt","name"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BrandUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BrandUpdateSchema":{"title":"BrandUpdateSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}},"required":["name"]}}}}
```

## The BrandCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BrandCreateSchema":{"title":"BrandCreateSchema","allOf":[{"$ref":"#/components/schemas/BrandUpdateSchema"},{"properties":{"brandUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object"},"BrandUpdateSchema":{"title":"BrandUpdateSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}},"required":["name"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BrandSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BrandSearchSchema":{"properties":{"exactMatch":{"type":"boolean"},"query":{"type":"string"}},"title":"BrandSearchSchema","type":"object"}}}}
```

## The BudgetDaySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetDaySchema":{"title":"BudgetDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT, in minor units (øre)."}},"required":["date","salesAmountExVat"]}}}}
```

## The BudgetMonthRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetMonthRequestSchema":{"title":"BudgetMonthRequestSchema","type":"object","properties":{"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT for the month, in minor units (øre)."},"revenueAmountExVat":{"type":"integer","description":"Optional budgeted profit (revenue) excluding VAT for the month, in minor units (øre)."},"days":{"type":"array","description":"Daily distribution. When present, the amounts must sum to salesAmountExVat and all dates must be within the month.","items":{"$ref":"#/components/schemas/BudgetDaySchema"}}},"required":["salesAmountExVat"]},"BudgetDaySchema":{"title":"BudgetDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT, in minor units (øre)."}},"required":["date","salesAmountExVat"]}}}}
```

## The BudgetMonthSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetMonthSchema":{"title":"BudgetMonthSchema","type":"object","properties":{"month":{"type":"integer","minimum":1,"maximum":12},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT for the month, in minor units (øre)."},"revenueAmountExVat":{"type":"integer","description":"Budgeted profit (revenue) excluding VAT for the month, in minor units (øre)."},"days":{"type":"array","items":{"$ref":"#/components/schemas/BudgetDaySchema"}}},"required":["month","salesAmountExVat","days"]},"BudgetDaySchema":{"title":"BudgetDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT, in minor units (øre)."}},"required":["date","salesAmountExVat"]}}}}
```

## The BudgetYearSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetYearSchema":{"title":"BudgetYearSchema","type":"object","properties":{"year":{"type":"integer"},"months":{"type":"array","items":{"$ref":"#/components/schemas/BudgetMonthSchema"}}},"required":["year","months"]},"BudgetMonthSchema":{"title":"BudgetMonthSchema","type":"object","properties":{"month":{"type":"integer","minimum":1,"maximum":12},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT for the month, in minor units (øre)."},"revenueAmountExVat":{"type":"integer","description":"Budgeted profit (revenue) excluding VAT for the month, in minor units (øre)."},"days":{"type":"array","items":{"$ref":"#/components/schemas/BudgetDaySchema"}}},"required":["month","salesAmountExVat","days"]},"BudgetDaySchema":{"title":"BudgetDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"salesAmountExVat":{"type":"integer","description":"Budgeted sales excluding VAT, in minor units (øre)."}},"required":["date","salesAmountExVat"]}}}}
```

## The BudgetReportRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetReportRequestSchema":{"title":"BudgetReportRequestSchema","type":"object","properties":{"storeUids":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/UID"}},"year":{"type":"integer"},"month":{"type":"integer","minimum":1,"maximum":12,"description":"When given, the response includes a day-by-day breakdown for this month."}},"required":["storeUids","year"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BudgetReportMonthSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetReportMonthSchema":{"title":"BudgetReportMonthSchema","type":"object","properties":{"month":{"type":"integer","minimum":1,"maximum":12},"budgetSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"budgetRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."},"actualSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."}},"required":["month","budgetSalesAmountExVat","actualSalesAmountExVat","actualRevenueAmountExVat"]}}}}
```

## The BudgetReportDaySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetReportDaySchema":{"title":"BudgetReportDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"budgetSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."}},"required":["date","budgetSalesAmountExVat","actualSalesAmountExVat","actualRevenueAmountExVat"]}}}}
```

## The BudgetReportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BudgetReportSchema":{"title":"BudgetReportSchema","type":"object","properties":{"year":{"type":"integer"},"months":{"type":"array","items":{"$ref":"#/components/schemas/BudgetReportMonthSchema"}},"days":{"type":"array","items":{"$ref":"#/components/schemas/BudgetReportDaySchema"}}},"required":["year","months"]},"BudgetReportMonthSchema":{"title":"BudgetReportMonthSchema","type":"object","properties":{"month":{"type":"integer","minimum":1,"maximum":12},"budgetSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"budgetRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."},"actualSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."}},"required":["month","budgetSalesAmountExVat","actualSalesAmountExVat","actualRevenueAmountExVat"]},"BudgetReportDaySchema":{"title":"BudgetReportDaySchema","type":"object","properties":{"date":{"type":"string","format":"date"},"budgetSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualSalesAmountExVat":{"type":"integer","description":"Sales excluding VAT, in minor units (øre)."},"actualRevenueAmountExVat":{"type":"integer","description":"Profit (revenue) excluding VAT, in minor units (øre)."}},"required":["date","budgetSalesAmountExVat","actualSalesAmountExVat","actualRevenueAmountExVat"]}}}}
```

## The CashdrawerStatusSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashdrawerStatusSchema":{"properties":{"status":{"enum":["OPEN","CLOSED"],"type":"string"}},"required":["status"],"title":"CashdrawerStatusSchema","type":"object"}}}}
```

## The CategoryResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CategoryResponseSchema":{"title":"CategoryResponseSchema","type":"object","properties":{"categories":{"type":"array","items":{"$ref":"#/components/schemas/ChildCategoryResponseSchema"}},"categoryUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"products":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductResponseSchema"}}},"required":["categories","categoryUid","createdAt","externalId","lastModifiedAt","name","parentUid","products"]},"ChildCategoryResponseSchema":{"title":"ChildCategoryResponseSchema","type":"object","properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"}},"required":["categoryUid","createdAt","externalId","lastModifiedAt","name"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"StoreProductResponseSchema":{"allOf":[{"type":"object","properties":{"storeProductDetails":{"$ref":"#/components/schemas/StoreProductDetailsSchema"}},"required":["costPrice","grossProfitAmount","grossProfitPercentage","price","quantityReserved","quantityStock","storeProductDetails"]},{"$ref":"#/components/schemas/ProductResponseSchema"}],"description":"StoreProductResponseSchema"},"StoreProductDetailsSchema":{"description":"StoreProductDetailsSchema","type":"object","title":"StoreProductDetailsSchema","required":["grossProfitAmount","grossProfitPercentage","costPrice","price","campaignPrice","campaignName","quantityReserved","quantityStock","quantityOrdered","warehouseStockDetails","soaAmounts"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"price":{"type":"integer"},"campaignPrice":{"type":"integer","description":"Lowest price found in an active campaign"},"campaignName":{"type":"string","description":"Name of campaign for campaignPrice"},"quantityReserved":{"type":"integer","description":"Total reserved quantity on salesorders"},"quantityStock":{"type":"integer","description":"Total quantity in stock"},"quantityOrdered":{"type":"integer","description":"Total Quantity in purchase orders that is not received yet."},"warehouseStockDetails":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductWarehouseStockDetailsSchema"}},"soaAmounts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductSOADetailsSchema"}}}},"StoreProductWarehouseStockDetailsSchema":{"title":"StoreProductWarehouseStockDetailsSchema","type":"object","required":["grossProfitAmount","grossProfitPercentage","costPrice","quantityReserved","quantityStock","locationLabel","storeUid","storeName","warehouseUid","warehouseName"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"locationLabel":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}}},"StoreProductSOADetailsSchema":{"title":"StoreProductSOADetailsSchema","type":"object","required":["soaUid","soaName","amount","fromDateTime","toDateTime","soaAmountUid"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"soaName":{"type":"string"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The ChildCategoryResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ChildCategoryResponseSchema":{"title":"ChildCategoryResponseSchema","type":"object","properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"}},"required":["categoryUid","createdAt","externalId","lastModifiedAt","name"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CountrySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CountrySchema":{"title":"CountrySchema","type":"object","required":["code","countryUid","createdAt","currency","lastModifiedAt","name","phonePrefix","languageCode"],"properties":{"code":{"type":"string"},"countryUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"currency":{"description":"ISO-4217 representation of currency code","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"phonePrefix":{"description":"Country phone prefix in format \"+nnn\"","type":"string"},"languageCode":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ConsentSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ConsentSchema":{"title":"ConsentSchema","type":"object","required":["consentUid","name","description","active","externalId","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"active":{"type":"boolean"},"externalId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ConsentCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ConsentCreateSchema":{"title":"ConsentCreateSchema","type":"object","required":["name","active"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"active":{"type":"boolean"},"externalId":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ConsentUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ConsentUpdateSchema":{"title":"ConsentUpdateSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"active":{"type":"boolean"},"externalId":{"type":"string"}}}}}}
```

## The CustomerExportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExportResponseSchema":{"title":"CustomerExportResponseSchema","type":"object","description":"Customer information with associated orders and services","required":["customer","orders","services"],"properties":{"customer":{"$ref":"#/components/schemas/CustomerResponseSchema"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderResponseSchema"}},"services":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOrderResponseSchema"}}}},"CustomerResponseSchema":{"title":"CustomerResponseSchema","type":"object","description":"CustomerResponseSchema","required":["address","city","companyName","countryCode","createdAt","customerUid","customerNumber","customerParentUid","customerType","email","externalId","firstname","lastModifiedAt","lastname","mobile","postalCode","pricelistUid","vatNumber","origin","addresses","contacts","extensions","consents","loyaltyId","displayName","credit","paymentTerms","internalNote","accountManager","ehf","customerGroupUids","defaultStore","relevance"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"customerNumber":{"type":"string","description":"Tenant-scoped running customer number, assigned on creation. Absent for customers created before customer numbers were enabled, or when the tenant has no customer number series."},"firstname":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"type":"string","deprecated":true,"description":"Deprecated. Use ledgerNumber in accountingConfigs instead"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"origin":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/CustomerAddressResponseSchema"}},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactResponseSchema"}},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerExtensionResponseSchema"}},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerConsentStatusSchema"}},"loyaltyId":{"type":"string"},"displayName":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditResponseSchema"},"paymentTerms":{"type":"integer"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerResponseSchema"},"ehfEnabled":{"type":"boolean","description":"Deprecated: Use ehf -> enabled instead","deprecated":true},"ehf":{"$ref":"#/components/schemas/CustomerEhfResponseSchema"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"defaultStore":{"$ref":"#/components/schemas/CustomerStoreResponseSchema"},"representedStore":{"description":"Inter-store trade: the store this customer represents (the buyer). Only set when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/CustomerStoreResponseSchema"}]},"relevance":{"type":"number"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"CustomerAddressResponseSchema":{"title":"CustomerAddressResponseSchema","type":"object","required":["address","city","companyName","firstname","lastname","countryCode","email","phone","postalCode","type","customerAddressUid","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"type":"string"},"displayName":{"type":"string"}}},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"},"CustomerContactResponseSchema":{"title":"CustomerContactResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","extensions","displayName","role"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerExtensionResponseSchema":{"title":"CustomerExtensionResponseSchema","description":"CustomerExtensionResponseSchema","type":"object","required":["extensionCode","organizationUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CustomerConsentStatusSchema":{"title":"CustomerConsentStatusSchema","type":"object","required":["consentUid","name","status","source","createdAt"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"status":{"type":"boolean"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"CustomerCreditResponseSchema":{"title":"CustomerCreditResponseSchema","required":["limit","balance"],"properties":{"limit":{"type":"integer"},"balance":{"type":"integer"}},"type":"object"},"AccountManagerResponseSchema":{"title":"AccountManagerResponseSchema","type":"object","required":["tenantUserUid","displayName","userCode"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"userCode":{"type":"string"}}},"CustomerEhfResponseSchema":{"title":"CustomerEhfResponseSchema","type":"object","required":["enabled","address"],"properties":{"enabled":{"type":"boolean","description":"EHF is enabled for this customer"},"address":{"type":"string","description":"EHF address"}}},"CustomerStoreResponseSchema":{"title":"CustomerStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}},"OrderResponseSchema":{"description":"Use invoiceAddress only if an order has a different invoice  than orderAddress.","title":"OrderResponseSchema","type":"object","required":["createdAt","customerAddress","customerUid","customerContact","deliveryState","externalOrderNumber","externalVoucherNumber","invoiceAddress","items","lastModifiedAt","note","internalNote","orderUid","orderNumber","orderDate","orderState","orderTotals","orderhandlingState","orderhandlings","settleState","settlementTotals","settlements","storeUid","storeName","systemOrigin","tenantUserDisplayName","tenantUserUid","tillUid","type","vatFree","vatPrint","voucherNumber","deliveryDate","discounts","compensationReasonUid","lastModifiedBy","allowedActions"],"properties":{"createdAt":{"format":"date-time","type":"string"},"customerAddress":{"$ref":"#/components/schemas/OrderAddressResponseSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerContact":{"$ref":"#/components/schemas/OrderCustomerContactResponseSchema"},"deliveryState":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"},"externalOrderNumber":{"type":"string","deprecated":true},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"invoiceAddress":{"$ref":"#/components/schemas/InvoiceAddressResponseSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}},"lastModifiedAt":{"format":"date-time","type":"string"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/InterStorePurchaseOrderResponseSchema"},"note":{"description":"Note visible on the receipt.","type":"string"},"internalNote":{"type":"string","description":"Internal note, not visible on the receipt."},"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderDate":{"type":"string","format":"date-time","description":"This field has value if type == `ORDER`","nullable":true},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"orderTotals":{"$ref":"#/components/schemas/OrderTotalsResponseSchema"},"orderhandlingState":{"$ref":"#/components/schemas/HandlingStateENUM"},"orderhandlings":{"type":"array","items":{"$ref":"#/components/schemas/OrderHandlingResponseSchema"}},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"settledAt":{"description":"When the settleState is set COMPLETE.","format":"date-time","type":"string","nullable":true},"settlementTotals":{"$ref":"#/components/schemas/OrderSettlementTotalsSchema"},"settlements":{"type":"array","items":{"$ref":"#/components/schemas/SettlementResponseSchema"}},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"systemOrigin":{"type":"string"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"type":{"$ref":"#/components/schemas/OrderTypeENUM"},"validUntil":{"format":"date-time","type":"string","nullable":true},"vatFree":{"type":"boolean"},"vatPrint":{"$ref":"#/components/schemas/VatPrintENUM"},"voucherNumber":{"description":"A reference to a fully settled order.","type":"string"},"deliveryDate":{"type":"string","format":"date"},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/OrderDiscountResponseSchema"}},"compensationReasonUid":{"$ref":"#/components/schemas/OptionalUID"},"lastModifiedBy":{"type":"string"},"allowedActions":{"type":"array","items":{"$ref":"#/components/schemas/AllowedOrderActionENUM"}}}},"OrderAddressResponseSchema":{"title":"OrderAddressResponseSchema","type":"object","required":["address","city","companyName","countryCode","email","firstname","lastname","mobile","postalCode","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"displayName":{"type":"string"}},"description":""},"OrderCustomerContactResponseSchema":{"type":"object","title":"OrderCustomerContactResponseSchema","required":["customerContactUid","firstname","lastname","email","mobile","displayName"],"properties":{"customerContactUid":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"displayName":{"type":"string"}}},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"InvoiceAddressResponseSchema":{"title":"InvoiceAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"InterStorePurchaseOrderResponseSchema":{"title":"InterStorePurchaseOrderResponseSchema","type":"object","description":"The buyer store's purchase order this sales order is coupled 1:1 to in inter-store\ntrade. Only present on the seller store's auto-created sales order.","required":["purchaseOrderUid","purchaseNumber","storeUid","storeName"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}}},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderTotalsResponseSchema":{"description":"","properties":{"costTotal":{"type":"integer"},"grandTotal":{"type":"integer"},"grossProfitAmount":{"description":"Sum of all totalGrossProfitAmount on each product item.","type":"integer"},"grossProfitPercentage":{"description":"","type":"integer"},"specifiedVat":{"items":{"$ref":"#/components/schemas/OrderTotalsVatSpecificationSchema"},"type":"array"},"subtotal":{"type":"integer"},"totalDiscount":{"type":"integer"},"totalVat":{"type":"integer"}},"required":["subtotal","totalDiscount","specifiedVat","totalVat","grandTotal","grossProfitAmount","grossProfitPercentage","costTotal"],"title":"OrderTotals","type":"object"},"OrderTotalsVatSpecificationSchema":{"description":"","properties":{"vatAmount":{"description":"Total amount with this vatRate.","type":"integer"},"vatDescription":{"description":"Description of vat rate.","type":"string"},"vatRate":{"description":"VatRate in percentage.","type":"integer"}},"required":["vatRate","vatAmount","vatDescription"],"title":"OrderTotalsVatSpecificationSchema","type":"object"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"OrderHandlingResponseSchema":{"properties":{"active":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"name":{"maxLength":20,"type":"string"},"orderHandlingUid":{"$ref":"#/components/schemas/UID"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"}},"required":["orderHandlingUid","handlingUid","active","description","name","state","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderHandlingResponseSchema","type":"object"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderSettlementTotalsSchema":{"title":"OrderSettlementTotalsSchema","type":"object","required":["change","remaining","remainingRounded","totals","remainingPrePayment","remainingAuthorizedAmount"],"properties":{"change":{"description":"Total change amount returned to customer.","type":"integer"},"remaining":{"type":"integer","description":"Remaining amount to be paid "},"remainingRounded":{"description":"Rounded value of remaining amount. For use with CASH","type":"integer"},"totals":{"type":"integer","description":"Sum of all approved settlements"},"remainingPrePayment":{"type":"integer"},"remainingAuthorizedAmount":{"type":"integer","description":"Authorized amount available for capture."}}},"SettlementResponseSchema":{"title":"SettlementResponseSchema","type":"object","required":["amount","createdAt","displayMessages","externalId","externalPaymentReference","idMethod","lastModifiedAt","parameters","settlementCode","settlementUid","settlementName","state","status","storeSettlementIssuer","tenantUserDisplayName","tenantUserUid","storePaymentMethodUid","currency","additionalDetails","creditCount","creditAmount","paymentCount","paymentAmount","storeUid","storeName","orderReceiptUid","transactions","receiptText","allowedActions"],"properties":{"amount":{"type":"integer"},"createdAt":{"format":"date-time","type":"string"},"displayMessages":{"type":"array","items":{"$ref":"#/components/schemas/SettlementDisplayMessageSchema"}},"externalId":{"type":"string"},"externalPaymentReference":{"type":"string","description":"The external payment reference for this settlement.\nFor invoices, this could contain the KID"},"idMethod":{"$ref":"#/components/schemas/SettlementIdMethodENUM"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterResponseSchema"}},"settledAt":{"format":"date-time","type":"string"},"settlementCode":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementName":{"type":"string"},"state":{"$ref":"#/components/schemas/SettlementStateENUM"},"status":{"$ref":"#/components/schemas/SettlementStatusENUM"},"storeSettlementIssuer":{"$ref":"#/components/schemas/storeSettlementIssuerSchema"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"currency":{"$ref":"#/components/schemas/SettlementCurrencySchema"},"additionalDetails":{"type":"array","items":{"$ref":"#/components/schemas/SettlementAdditionalDetailsSchema"}},"creditCount":{"type":"integer","description":"Number of credits on this settlement. Only applicable for invoice"},"creditAmount":{"type":"integer","description":"The total amount credited. Only applicable for invoice"},"paymentCount":{"type":"integer","description":"Number of payments on this settlement. Only applicable for invoice"},"paymentAmount":{"type":"integer","description":"The total amount of payments. Only applicable for invoice"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"tillName":{"type":"string","description":"Display name of the till where the payment was registered."},"tillNumber":{"type":"integer","description":"Till register number where the payment was registered."},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"storeName":{"type":"string","description":"Display name of the store where the payment was registered."},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"authorizedAmount":{"type":"integer","description":"The total authorized amount on this settlement, calculated from authorize transactions."},"capturedAmount":{"type":"integer","description":"The total captured amount on this settlement, calculated from capture transactions."},"refundedAmount":{"type":"integer","description":"The total refunded amount on this settlement, calculated from refund transactions."},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt for this payment method when configured on the tenant payment method. Empty when not set, when suppressed for this settlement type (e.g. store credit, gift cards), or when cleared."},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/SettlementTransactionSchema"}},"allowedActions":{"description":"What can be done with this settlement. Judged from the settlement alone, so a cancellation offered here can still be turned down by the rules on the order or the receipt.","type":"array","items":{"$ref":"#/components/schemas/AllowedSettlementActionENUM"}}}},"SettlementDisplayMessageSchema":{"description":"Settlement display messages","properties":{"key":{"type":"string"},"message":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}},"required":["key","message","timestamp"],"title":"SettlementDisplayMessageSchema","type":"object"},"SettlementIdMethodENUM":{"enum":["NO_CVM_RULE_PERFORMED","SIGNATURE","PIN_ONLINE","PIN_OFFLINE","PIN_ONLINE_AND_SIGNATURE","PIN_OFFLINE_AND_SIGNATURE","NO_CVM","FAILED","ON_DEVICE","REFUND"],"title":"SettlementIdMethodENUM","type":"string"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"SettlementParameterResponseSchema":{"description":"settlement parameters response","title":"SettlementParameterResponseSchema","type":"object","required":["key","value","name","type"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"SettlementStateENUM":{"enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","TERMINATED"],"title":"SettlementCodeENUM","type":"string"},"SettlementStatusENUM":{"enum":["NEW","PROCESSING","AUTHORIZED","CAPTURED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","FAILED","CANCELLED_BY_MERCHANT","CANCELLED_BY_USER","CANCELLED_FORCE","DELETED","DENIED","REJECTED"],"title":"SettlementCodeENUM","type":"string"},"storeSettlementIssuerSchema":{"title":"storeSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["storeSettlementIssuerUid","name","code"],"properties":{"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"SettlementCurrencySchema":{"title":"SettlementCurrencySchema","type":"object","required":["amount","code","exchangeRate"],"properties":{"amount":{"type":"integer"},"code":{"type":"string"},"exchangeRate":{"type":"integer"}}},"SettlementAdditionalDetailsSchema":{"title":"SettlementAdditionalDetailsSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"SettlementTransactionSchema":{"title":"SettlementTransactionSchema","type":"object","required":["transactionType","transactionAmount","orderReceiptUid"],"properties":{"transactionType":{"type":"string"},"pspTransactionId":{"type":"string"},"transactionAmount":{"type":"integer"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"}}},"AllowedSettlementActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CANCEL | Settlement can be cancelled|","enum":["CANCEL"],"title":"AllowedSettlementActionENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"},"OrderDiscountResponseSchema":{"title":"OrderDiscountResponseSchema","type":"object","required":["orderDiscountUid","discountCode","type","amount","name","origin","validTo","maxUsage","productSkus","orderItemUids","externalTransactionId","scope","discountReasonCode","discountReference","createdAt","createdBy","lastModifiedAt","lastModifiedBy","campaignUid"],"properties":{"orderDiscountUid":{"$ref":"#/components/schemas/UID"},"discountCode":{"type":"string"},"type":{"$ref":"#/components/schemas/DiscountTypeENUM"},"amount":{"type":"integer"},"name":{"type":"string"},"origin":{"$ref":"#/components/schemas/DiscountOriginENUM"},"validTo":{"type":"string","format":"date-time"},"maxUsage":{"type":"integer"},"productSkus":{"type":"array","items":{"type":"string"}},"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"externalTransactionId":{"type":"string"},"scope":{"$ref":"#/components/schemas/DiscountScopeENUM"},"discountReasonCode":{"type":"string"},"discountReference":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"campaignUid":{"$ref":"#/components/schemas/OptionalUID"}}},"DiscountTypeENUM":{"title":"DiscountTypeENUM","type":"string","enum":["PERCENTAGE","AMOUNT"]},"DiscountOriginENUM":{"title":"DiscountOriginENUM","type":"string","enum":["LOYALTY","MANUAL","PRICEREDUCTION","CAMPAIGN"]},"DiscountScopeENUM":{"title":"DiscountScopeENUM","type":"string","enum":["WHOLE_ORDER","SPECIFIC_LINE","PRODUCT_LIST","SPECIFIC_LINE_LIST"]},"AllowedOrderActionENUM":{"enum":["DELETE","OFFER","LOYALTY_POINTS"],"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELETE | Order can be deleted|\n| OFFER | Order can be changed to an offer|\n| LOYALTY_POINTS | Order has loyalty points|"},"ServiceOrderResponseSchema":{"title":"ServiceOrderResponseSchema","type":"object","required":["serviceOrderUid","tenantUid","storeUid","orderProductLineUid","orderUid","customerUid","customerName","createdFromStoreUid","assignedUserUid","assignedUserDisplayName","serviceTypeUid","serviceTypeName","serviceStatusUid","serviceStatusName","serviceState","title","serviceNumber","externalServiceNumber","description","locationLabel","priority","requiresPriceEstimate","estimatedPrice","maxPrice","readyAtEstimate","readyAtNeeded","publicPageHash","warranty","createdAt","createdBy","lastModifiedAt","lastModifiedBy","totals","items","assets","rmaOrderItemUid","rmaOrderUid"],"properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/OptionalUID"},"orderUid":{"$ref":"#/components/schemas/OptionalUID"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerName":{"type":"string"},"createdFromStoreUid":{"$ref":"#/components/schemas/UID"},"assignedUserUid":{"$ref":"#/components/schemas/OptionalUID"},"assignedUserDisplayName":{"type":"string"},"serviceTypeUid":{"$ref":"#/components/schemas/UID"},"serviceTypeName":{"type":"string"},"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"serviceStatusName":{"type":"string"},"serviceState":{"$ref":"#/components/schemas/ServiceStateENUM"},"title":{"type":"string"},"serviceNumber":{"type":"string"},"externalServiceNumber":{"type":"string"},"description":{"type":"string"},"locationLabel":{"type":"string"},"priority":{"$ref":"#/components/schemas/PriorityENUM"},"requiresPriceEstimate":{"type":"boolean"},"estimatedPrice":{"type":"integer"},"maxPrice":{"type":"integer"},"readyAtEstimate":{"type":"string","format":"date-time"},"readyAtNeeded":{"type":"string","format":"date-time"},"publicPageHash":{"type":"string"},"warranty":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"totals":{"$ref":"#/components/schemas/ServiceOrderTotalsSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOrderItemResponseSchema"}},"assets":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOrderAssetResponse"}},"rmaOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderUid":{"$ref":"#/components/schemas/OptionalUID"}}},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]},"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"},"ServiceOrderTotalsSchema":{"title":"ServiceOrderTotalsSchema","type":"object","required":["grandTotal","partsTotal","workTotal"],"properties":{"grandTotal":{"type":"integer"},"partsTotal":{"type":"integer"},"workTotal":{"type":"integer"}}},"ServiceOrderItemResponseSchema":{"title":"ServiceOrderItemResponseSchema","type":"object","required":["serviceOrderItemUid","serviceOrderUid","warehouseUid","tenantUserUid","productUid","salesOrderUid","quantity","name","sku","price","costPrice","originalPrice","totalPrice","totalCostPrice","serialNumber","note","tenantUserDisplayName","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"salesOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"quantity":{"type":"integer"},"name":{"type":"string"},"sku":{"type":"string"},"price":{"type":"integer"},"costPrice":{"type":"integer"},"originalPrice":{"type":"integer"},"totalPrice":{"type":"integer"},"totalCostPrice":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"},"tenantUserDisplayName":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"ServiceOrderAssetResponse":{"title":"ServiceOrderAssetResponse","type":"object","required":["assetUid","name","description","isPublic","publicUrl","mimeType"],"properties":{"assetUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"isPublic":{"type":"boolean","description":"For private assets use download endpoint to get signed access."},"publicUrl":{"type":"string"},"mimeType":{"type":"string"}}}}}}
```

## The CustomerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerResponseSchema":{"title":"CustomerResponseSchema","type":"object","description":"CustomerResponseSchema","required":["address","city","companyName","countryCode","createdAt","customerUid","customerNumber","customerParentUid","customerType","email","externalId","firstname","lastModifiedAt","lastname","mobile","postalCode","pricelistUid","vatNumber","origin","addresses","contacts","extensions","consents","loyaltyId","displayName","credit","paymentTerms","internalNote","accountManager","ehf","customerGroupUids","defaultStore","relevance"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"customerNumber":{"type":"string","description":"Tenant-scoped running customer number, assigned on creation. Absent for customers created before customer numbers were enabled, or when the tenant has no customer number series."},"firstname":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"type":"string","deprecated":true,"description":"Deprecated. Use ledgerNumber in accountingConfigs instead"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"origin":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/CustomerAddressResponseSchema"}},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactResponseSchema"}},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerExtensionResponseSchema"}},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerConsentStatusSchema"}},"loyaltyId":{"type":"string"},"displayName":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditResponseSchema"},"paymentTerms":{"type":"integer"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerResponseSchema"},"ehfEnabled":{"type":"boolean","description":"Deprecated: Use ehf -> enabled instead","deprecated":true},"ehf":{"$ref":"#/components/schemas/CustomerEhfResponseSchema"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"defaultStore":{"$ref":"#/components/schemas/CustomerStoreResponseSchema"},"representedStore":{"description":"Inter-store trade: the store this customer represents (the buyer). Only set when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/CustomerStoreResponseSchema"}]},"relevance":{"type":"number"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"CustomerAddressResponseSchema":{"title":"CustomerAddressResponseSchema","type":"object","required":["address","city","companyName","firstname","lastname","countryCode","email","phone","postalCode","type","customerAddressUid","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"type":"string"},"displayName":{"type":"string"}}},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"},"CustomerContactResponseSchema":{"title":"CustomerContactResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","extensions","displayName","role"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerExtensionResponseSchema":{"title":"CustomerExtensionResponseSchema","description":"CustomerExtensionResponseSchema","type":"object","required":["extensionCode","organizationUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CustomerConsentStatusSchema":{"title":"CustomerConsentStatusSchema","type":"object","required":["consentUid","name","status","source","createdAt"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"status":{"type":"boolean"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"CustomerCreditResponseSchema":{"title":"CustomerCreditResponseSchema","required":["limit","balance"],"properties":{"limit":{"type":"integer"},"balance":{"type":"integer"}},"type":"object"},"AccountManagerResponseSchema":{"title":"AccountManagerResponseSchema","type":"object","required":["tenantUserUid","displayName","userCode"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"userCode":{"type":"string"}}},"CustomerEhfResponseSchema":{"title":"CustomerEhfResponseSchema","type":"object","required":["enabled","address"],"properties":{"enabled":{"type":"boolean","description":"EHF is enabled for this customer"},"address":{"type":"string","description":"EHF address"}}},"CustomerStoreResponseSchema":{"title":"CustomerStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The CustomerExternalResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExternalResponseSchema":{"title":"CustomerExternalResponseSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"origin":{"type":"string"}},"required":["address","city","companyName","countryCode","createdAt","customerUid","customerType","email","externalId","firstname","lastModifiedAt","lastname","ledgerNumber","mobile","postalCode","pricelistUid","vatNumber","origin"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"}}}}
```

## The CustomerCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerCreateSchema":{"title":"CustomerCreateSchema","allOf":[{"$ref":"#/components/schemas/CustomerUpdateSchema"},{"type":"object","required":["customerType"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerCreateConsentSchema"}}}}]},"CustomerUpdateSchema":{"title":"CustomerUpdateSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"origin":{"type":"string"},"loyaltyId":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditSchema"},"paymentTerms":{"type":"integer","description":"Number of days to calculate due date on invoice"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerRequestSchema"},"ehfEnabled":{"type":"boolean","deprecated":true,"description":"This field is deprecated. Use ehf -> enabled instead"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"ehf":{"$ref":"#/components/schemas/CustomerEhfSchema"},"defaultStoreUid":{"$ref":"#/components/schemas/UID"},"representedStoreUid":{"description":"Inter-store trade: the store this customer represents (the buyer). Only settable when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/OptionalUID"}]},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"}}},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerCreditSchema":{"title":"CustomerCreditSchema","type":"object","properties":{"limit":{"type":"integer","description":"Limit 0 = No limit set for customer"}}},"AccountManagerRequestSchema":{"title":"AccountManagerRequestSchema","type":"object","required":["tenantUserUid"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerEhfSchema":{"title":"CustomerEhfSchema","type":"object","properties":{"enabled":{"type":"boolean","description":"Enable EHF for this customer"},"address":{"type":"string","description":"The EHF address"}}},"CustomerCreateConsentSchema":{"title":"CustomerCreateConsentSchema","allOf":[{"$ref":"#/components/schemas/CustomerConsentChangeSchema"},{"type":"object","required":["consentUid"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"}}}]},"CustomerConsentChangeSchema":{"title":"CustomerConsentChangeSchema","type":"object","required":["source","status"],"properties":{"source":{"type":"string"},"status":{"type":"boolean","description":"Is the consent active or withdrawn"}}}}}}
```

## The CustomerUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerUpdateSchema":{"title":"CustomerUpdateSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"origin":{"type":"string"},"loyaltyId":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditSchema"},"paymentTerms":{"type":"integer","description":"Number of days to calculate due date on invoice"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerRequestSchema"},"ehfEnabled":{"type":"boolean","deprecated":true,"description":"This field is deprecated. Use ehf -> enabled instead"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"ehf":{"$ref":"#/components/schemas/CustomerEhfSchema"},"defaultStoreUid":{"$ref":"#/components/schemas/UID"},"representedStoreUid":{"description":"Inter-store trade: the store this customer represents (the buyer). Only settable when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/OptionalUID"}]},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"}}},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerCreditSchema":{"title":"CustomerCreditSchema","type":"object","properties":{"limit":{"type":"integer","description":"Limit 0 = No limit set for customer"}}},"AccountManagerRequestSchema":{"title":"AccountManagerRequestSchema","type":"object","required":["tenantUserUid"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerEhfSchema":{"title":"CustomerEhfSchema","type":"object","properties":{"enabled":{"type":"boolean","description":"Enable EHF for this customer"},"address":{"type":"string","description":"The EHF address"}}}}}}
```

## The CustomerMergeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerMergeSchema":{"title":"CustomerMergeSchema","type":"object","required":["mergeFromCustomerUid"],"properties":{"mergeFromCustomerUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerSearchSchema":{"title":"CustomerSearchSchema","type":"object","properties":{"exactMatch":{"type":"boolean"},"query":{"type":"string"},"mobile":{"type":"string"},"email":{"type":"string"},"scope":{"type":"array","items":{"$ref":"#/components/schemas/CustomerSearchScopeENUM"}},"customerTypes":{"type":"array","items":{"$ref":"#/components/schemas/CustomerTypeENUM"}},"vatNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"customerParentUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"customerGroupUids":{"type":"array","description":"Match customers who are members of any of these customer groups.","items":{"$ref":"#/components/schemas/UID"}},"consents":{"type":"array","description":"Filter by consent status. Each entry matches customers whose newest consent event for consentUid has the given granted value; entries AND-compose. A consent type not listed is not filtered on.","items":{"$ref":"#/components/schemas/CustomerConsentFilterSchema"}},"purchaseHistory":{"$ref":"#/components/schemas/CustomerPurchaseHistorySchema"},"hasMobile":{"type":"boolean","description":"Filter on whether the customer has a mobile number at all, as opposed to matching a specific one. true matches customers whose own mobile is set and non-empty; false matches those without one. Mobile numbers on contact rows are not considered. Omitted does not filter."},"hasEmail":{"type":"boolean","description":"Filter on whether the customer has an email address at all, as opposed to matching a specific one. true matches customers whose own email is set and non-empty; false matches those without one. Email addresses on contact rows are not considered. Omitted does not filter."}}},"CustomerSearchScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CUSTOMER | Search for customers|\n| CONTACT | Search for customer contacts|","enum":["CUSTOMER","CONTACT"],"title":"CustomerSearchScope","type":"string"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerConsentFilterSchema":{"title":"CustomerConsentFilterSchema","description":"A consent-status condition for customer search. Matches the customer's newest consent event for the given consent type.","type":"object","required":["consentUid","granted"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"granted":{"type":"boolean","description":"true matches customers whose newest event for this consent is granted; false matches those where it is not granted."}}},"CustomerPurchaseHistorySchema":{"title":"CustomerPurchaseHistorySchema","description":"Purchase-history audience condition. Product dimensions (products / product groups / categories) AND-compose, with any-of matching within each, and product matches are scoped to the activity window. Omit the whole object for no purchase-history filtering.","type":"object","properties":{"productUids":{"type":"array","description":"Match customers who have bought any of these products.","items":{"$ref":"#/components/schemas/UID"}},"productGroupUids":{"type":"array","description":"Match customers who have bought within any of these product groups (including descendants).","items":{"$ref":"#/components/schemas/UID"}},"categoryUids":{"type":"array","description":"Match customers who have bought within any of these categories (including descendants).","items":{"$ref":"#/components/schemas/UID"}},"activity":{"$ref":"#/components/schemas/CustomerPurchaseActivitySchema"}}},"CustomerPurchaseActivitySchema":{"title":"CustomerPurchaseActivitySchema","description":"Temporal purchase-history condition. When mode is TIME_RANGE, dateBasis and at least one of from / to are required and from must be <= to; from / to / dateBasis are ignored for NEVER and ANY_TIME.","type":"object","required":["mode"],"properties":{"mode":{"$ref":"#/components/schemas/CustomerPurchaseActivityModeENUM"},"dateBasis":{"description":"Which order date the range is compared against. Applies to TIME_RANGE only.","$ref":"#/components/schemas/CustomerPurchaseDateBasisENUM"},"from":{"type":"string","format":"date-time","description":"Inclusive lower bound for TIME_RANGE."},"to":{"type":"string","format":"date-time","description":"Inclusive upper bound for TIME_RANGE."},"storeUids":{"type":"array","description":"Scope the purchase history to orders placed in any of these stores. Empty or omitted means all stores.","items":{"$ref":"#/components/schemas/UID"}}}},"CustomerPurchaseActivityModeENUM":{"title":"CustomerPurchaseActivityModeENUM","description":"Discriminates the purchase-history condition.\nNEVER: customers with no matching orders. ANY_TIME: customers with at least one matching order (date-independent). TIME_RANGE: customers with a matching order inside the given date window.","enum":["NEVER","ANY_TIME","TIME_RANGE"],"type":"string"},"CustomerPurchaseDateBasisENUM":{"title":"CustomerPurchaseDateBasisENUM","description":"Which order date a purchase-activity TIME_RANGE is measured against.\nSETTLEMENT_DATE: when payment completed; excludes unpaid orders. ORDER_DATE: when the order was placed; null for OFFER/PAYMENT types and pre-field history.","enum":["ORDER_DATE","SETTLEMENT_DATE"],"type":"string"}}}}
```

## The CustomerConsentFilterSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerConsentFilterSchema":{"title":"CustomerConsentFilterSchema","description":"A consent-status condition for customer search. Matches the customer's newest consent event for the given consent type.","type":"object","required":["consentUid","granted"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"granted":{"type":"boolean","description":"true matches customers whose newest event for this consent is granted; false matches those where it is not granted."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerPurchaseActivityModeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerPurchaseActivityModeENUM":{"title":"CustomerPurchaseActivityModeENUM","description":"Discriminates the purchase-history condition.\nNEVER: customers with no matching orders. ANY_TIME: customers with at least one matching order (date-independent). TIME_RANGE: customers with a matching order inside the given date window.","enum":["NEVER","ANY_TIME","TIME_RANGE"],"type":"string"}}}}
```

## The CustomerPurchaseDateBasisENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerPurchaseDateBasisENUM":{"title":"CustomerPurchaseDateBasisENUM","description":"Which order date a purchase-activity TIME_RANGE is measured against.\nSETTLEMENT_DATE: when payment completed; excludes unpaid orders. ORDER_DATE: when the order was placed; null for OFFER/PAYMENT types and pre-field history.","enum":["ORDER_DATE","SETTLEMENT_DATE"],"type":"string"}}}}
```

## The CustomerPurchaseActivitySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerPurchaseActivitySchema":{"title":"CustomerPurchaseActivitySchema","description":"Temporal purchase-history condition. When mode is TIME_RANGE, dateBasis and at least one of from / to are required and from must be <= to; from / to / dateBasis are ignored for NEVER and ANY_TIME.","type":"object","required":["mode"],"properties":{"mode":{"$ref":"#/components/schemas/CustomerPurchaseActivityModeENUM"},"dateBasis":{"description":"Which order date the range is compared against. Applies to TIME_RANGE only.","$ref":"#/components/schemas/CustomerPurchaseDateBasisENUM"},"from":{"type":"string","format":"date-time","description":"Inclusive lower bound for TIME_RANGE."},"to":{"type":"string","format":"date-time","description":"Inclusive upper bound for TIME_RANGE."},"storeUids":{"type":"array","description":"Scope the purchase history to orders placed in any of these stores. Empty or omitted means all stores.","items":{"$ref":"#/components/schemas/UID"}}}},"CustomerPurchaseActivityModeENUM":{"title":"CustomerPurchaseActivityModeENUM","description":"Discriminates the purchase-history condition.\nNEVER: customers with no matching orders. ANY_TIME: customers with at least one matching order (date-independent). TIME_RANGE: customers with a matching order inside the given date window.","enum":["NEVER","ANY_TIME","TIME_RANGE"],"type":"string"},"CustomerPurchaseDateBasisENUM":{"title":"CustomerPurchaseDateBasisENUM","description":"Which order date a purchase-activity TIME_RANGE is measured against.\nSETTLEMENT_DATE: when payment completed; excludes unpaid orders. ORDER_DATE: when the order was placed; null for OFFER/PAYMENT types and pre-field history.","enum":["ORDER_DATE","SETTLEMENT_DATE"],"type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerPurchaseHistorySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerPurchaseHistorySchema":{"title":"CustomerPurchaseHistorySchema","description":"Purchase-history audience condition. Product dimensions (products / product groups / categories) AND-compose, with any-of matching within each, and product matches are scoped to the activity window. Omit the whole object for no purchase-history filtering.","type":"object","properties":{"productUids":{"type":"array","description":"Match customers who have bought any of these products.","items":{"$ref":"#/components/schemas/UID"}},"productGroupUids":{"type":"array","description":"Match customers who have bought within any of these product groups (including descendants).","items":{"$ref":"#/components/schemas/UID"}},"categoryUids":{"type":"array","description":"Match customers who have bought within any of these categories (including descendants).","items":{"$ref":"#/components/schemas/UID"}},"activity":{"$ref":"#/components/schemas/CustomerPurchaseActivitySchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerPurchaseActivitySchema":{"title":"CustomerPurchaseActivitySchema","description":"Temporal purchase-history condition. When mode is TIME_RANGE, dateBasis and at least one of from / to are required and from must be <= to; from / to / dateBasis are ignored for NEVER and ANY_TIME.","type":"object","required":["mode"],"properties":{"mode":{"$ref":"#/components/schemas/CustomerPurchaseActivityModeENUM"},"dateBasis":{"description":"Which order date the range is compared against. Applies to TIME_RANGE only.","$ref":"#/components/schemas/CustomerPurchaseDateBasisENUM"},"from":{"type":"string","format":"date-time","description":"Inclusive lower bound for TIME_RANGE."},"to":{"type":"string","format":"date-time","description":"Inclusive upper bound for TIME_RANGE."},"storeUids":{"type":"array","description":"Scope the purchase history to orders placed in any of these stores. Empty or omitted means all stores.","items":{"$ref":"#/components/schemas/UID"}}}},"CustomerPurchaseActivityModeENUM":{"title":"CustomerPurchaseActivityModeENUM","description":"Discriminates the purchase-history condition.\nNEVER: customers with no matching orders. ANY_TIME: customers with at least one matching order (date-independent). TIME_RANGE: customers with a matching order inside the given date window.","enum":["NEVER","ANY_TIME","TIME_RANGE"],"type":"string"},"CustomerPurchaseDateBasisENUM":{"title":"CustomerPurchaseDateBasisENUM","description":"Which order date a purchase-activity TIME_RANGE is measured against.\nSETTLEMENT_DATE: when payment completed; excludes unpaid orders. ORDER_DATE: when the order was placed; null for OFFER/PAYMENT types and pre-field history.","enum":["ORDER_DATE","SETTLEMENT_DATE"],"type":"string"}}}}
```

## The CustomerExternalSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExternalSearchSchema":{"title":"CustomerExternalSearchSchema","type":"object","properties":{"query":{"type":"string"}}}}}}
```

## The CompanyRegistryLookupSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompanyRegistryLookupSchema":{"title":"CompanyRegistryLookupSchema","type":"object","required":["identifier"],"properties":{"identifier":{"type":"string","minLength":1,"description":"Organization number, VAT number, or similar company identifier"},"countryCode":{"type":"string","description":"ISO 3166-1 alpha-2 country code. Falls back to tenant country if omitted."}}}}}}
```

## The CustomerTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"}}}}
```

## The DeviceResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceResponseSchema":{"title":"DeviceResponseSchema","type":"object","required":["createdAt","createdBy","deviceUid","identifier","lastModifiedAt","lastModifiedBy","lastActivityAt","lastTenantUserUid","name","systemInformation","status","store","deviceLinkCode","lastOrderUid","till","appCode","appVersion","settings","printers"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"deviceUid":{"$ref":"#/components/schemas/UID"},"identifier":{"type":"string","description":"A unique client identifier. This will be set when the client is linked."},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"lastActivityAt":{"type":"string","description":"The timestamp indicating the most recent date and time when the device registered any activity. ","format":"date-time","nullable":true},"lastTenantUserUid":{"type":"string","description":"The tenantUserUid who interacted with this device most recently"},"name":{"type":"string"},"systemInformation":{"type":"string","description":"Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers"},"status":{"$ref":"#/components/schemas/DeviceStatusENUM"},"store":{"$ref":"#/components/schemas/DeviceStoreResponseSchema"},"deviceLinkCode":{"type":"string","description":"The code that should be used to link the device to an app"},"lastOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"till":{"$ref":"#/components/schemas/DeviceTillResponseSchema"},"appCode":{"$ref":"#/components/schemas/DeviceAppCodeENUM"},"appVersion":{"type":"string"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"printers":{"type":"array","items":{"$ref":"#/components/schemas/BasicPrinterResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeviceStatusENUM":{"enum":["ACTIVE","BLOCKED","READY_TO_LINK"],"title":"DeviceAuthorizationStatusENUM","type":"string","description":"| Enum | Description|\n|-----|-----|\n|READY_TO_LINK | The device is ready to a physical device through the link endpoint |\n|ACTIVE| The device is linked and active |\n|BLOCKED| The device is linked, but blocked for usage |"},"DeviceStoreResponseSchema":{"title":"DeviceStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid","organizationUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeviceTillResponseSchema":{"title":"DeviceTillResponseSchema","type":"object","nullable":true,"required":["tillUid","name","tillNumber"],"properties":{"tillUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"tillNumber":{"type":"integer"}}},"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"BasicPrinterResponseSchema":{"title":"BasicPrinterResponseSchema","type":"object","required":["printerUid","name","type","availablePrintActions"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"availablePrintActions":{"type":"array","description":"Which print job types this printer supports. See [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]}}}}
```

## The DeviceUserResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceUserResponseSchema":{"title":"DeviceUserResponseSchema","type":"object","required":["accountType","displayName","firstname","lastAccessed","lastname","tenantUserUid","userCode","languageCode"],"properties":{"accountType":{"$ref":"#/components/schemas/TenantAccountTypeENUM"},"displayName":{"type":"string"},"firstname":{"type":"string"},"lastAccessed":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"userCode":{"type":"string"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"}}},"TenantAccountTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Access to backoffice and onboarding of new devices|\n| REGULAR | Can only login to already onboarded devices|\n| SUPPORT | Support account|\n| INTEGRATION | Computer integration account|","enum":["FULL","REGULAR","SUPPORT","INTEGRATION"],"title":"TenantAccountTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"}}}}
```

## The DeviceAuthorizationStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceAuthorizationStatusENUM":{"enum":["slow_down","authorization_pending","access_denied","expired_token"],"title":"DeviceAuthorizationStatusENUM","type":"string"}}}}
```

## The DeviceInfoResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceInfoResponseSchema":{"description":" Info for a device","title":"DeviceInfoResponseSchema","type":"object","required":["availablePaymentMethods","zeroAmountPaymentMethod","availableReasons","deviceIdentifier","deviceUid","storeInfo","tenantInfo","tillInfo","currencyDenominations","name","settings","printers"],"properties":{"availablePaymentMethods":{"type":"array","items":{"$ref":"#/components/schemas/DevicePaymentMethodResponseSchema"}},"zeroAmountPaymentMethod":{"$ref":"#/components/schemas/DevicePaymentMethodResponseSchema"},"availableReasons":{"$ref":"#/components/schemas/AvailableReasonsSchema"},"deviceIdentifier":{"type":"string"},"deviceUid":{"$ref":"#/components/schemas/UID"},"storeInfo":{"$ref":"#/components/schemas/StoreResponseSchema"},"tenantInfo":{"$ref":"#/components/schemas/TenantResponseSchema"},"tillInfo":{"$ref":"#/components/schemas/TillResponseSchema"},"currencyDenominations":{"type":"array","items":{"$ref":"#/components/schemas/DeviceCurrencyDenominationSchema"}},"name":{"type":"string"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"printers":{"type":"array","items":{"$ref":"#/components/schemas/BasicPrinterResponseSchema"}}}},"DevicePaymentMethodResponseSchema":{"title":"DevicePaymentMethodResponseSchema","type":"object","required":["allowRefund","allowSale","allowCashback","allowPrepayment","name","parameters","paymentCode","storePaymentMethodUid","requirements","settlementCode","visibility","position","description","amountInput","useRounding","receiptText"],"properties":{"allowRefund":{"type":"boolean"},"allowSale":{"type":"boolean"},"allowCashback":{"type":"boolean"},"allowAmount":{"type":"boolean","deprecated":true},"allowPrepayment":{"type":"boolean"},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePaymentMethodParametersResponseSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"settlementCode":{"type":"string"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"position":{"type":"integer"},"description":{"type":"string","description":"from TenantPaymentMethod"},"receiptText":{"type":"string","maxLength":500,"description":"from TenantPaymentMethod; text printed on the receipt when this payment method is used"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"}}},"AvailablePaymentMethodParametersResponseSchema":{"title":"AvailablePaymentMethodParametersResponseSchema","description":"AvailablePaymentMethodParametersResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","keyType","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]},"AvailableReasonsSchema":{"title":"AvailableReasonsSchema","type":"object","properties":{"discount":{"type":"array","items":{"$ref":"#/components/schemas/AvailableReasonResponseSchema"}},"return":{"type":"array","items":{"$ref":"#/components/schemas/AvailableReasonResponseSchema"}}},"required":["discount","return"]},"AvailableReasonResponseSchema":{"title":"AvailableReasonResponseSchema","type":"object","required":["code","description","requiresReference","reasonUid"],"properties":{"code":{"type":"string"},"description":{"type":"string"},"requiresReference":{"type":"boolean"},"reasonUid":{"$ref":"#/components/schemas/UID"}}},"StoreResponseSchema":{"title":"StoreResponseSchema","type":"object","required":["address","city","countryCode","createdAt","defaultWarehouseUid","defaultReturnWarehouseUid","defaultDeliveryWarehouseUid","email","externalId","isActive","lastModifiedAt","latitude","longitude","name","postalCode","phone","purchaseNumberSeriesUid","internalPurchaseNumberSeriesUid","rmaOrderNumberSeriesUid","customerLedgerNumberSeriesUid","quicksaleCategoryUid","receiptMessage","emailReceiptMessage","exchangenoteMessage","exchangenoteValidDays","salesPriceUid","purchasePriceListUid","appSettings","storeUid","vatNumber","voucherNumberSeriesUid","serviceNumberSeriesUid","hasWorkShop","organizationUid","availableExtensions","openingHours","bankInfo","websiteUrl","invoiceFooterText","labelComparisonPricelistUid","addresses","enableStoreCashReconciliation","cashReconciliationCutOffTime","logoAssetUid"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"defaultWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultReturnWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultDeliveryWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"lastModifiedAt":{"format":"date-time","type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"postalCode":{"type":"string"},"phone":{"type":"string"},"purchaseNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"customerLedgerNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"quicksaleCategoryUid":{"$ref":"#/components/schemas/OptionalUID"},"receiptMessage":{"type":"string"},"emailReceiptMessage":{"type":"string"},"exchangenoteMessage":{"type":"string"},"exchangenoteValidDays":{"type":"integer","description":"Number of days an exchangenote is valid."},"salesPriceUid":{"$ref":"#/components/schemas/OptionalUID"},"purchasePriceListUid":{"$ref":"#/components/schemas/OptionalUID"},"settings":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/StoreSettingSchema"}},"appSettings":{"$ref":"#/components/schemas/StoreAppSettingResponseSchema"},"storeUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"voucherNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"serviceNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"hasWorkShop":{"type":"boolean"},"organizationUid":{"$ref":"#/components/schemas/UID"},"availableExtensions":{"type":"array","items":{"$ref":"#/components/schemas/AvailableExtensionSchema"}},"openingHours":{"$ref":"#/components/schemas/OpeningHoursResponseSchema"},"bankInfo":{"$ref":"#/components/schemas/BankInfoResponseSchema"},"websiteUrl":{"type":"string"},"invoiceFooterText":{"type":"string"},"labelComparisonPricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/StoreAddressResponseSchema"}},"enableStoreCashReconciliation":{"type":"boolean"},"cashReconciliationCutOffTime":{"type":"string","format":"time","description":"Daily cut-off time (e.g. 4 AM). After this time, tills cannot open until the previous settlement is complete."},"logoAssetUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"StoreSettingSchema":{"description":"","properties":{"key":{"$ref":"#/components/schemas/StoreSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"StoreSettingSchema","type":"object"},"StoreSettingKeyENUM":{"enum":["VIPPS_MSN","ADYEN_API_KEY"],"title":"StoreSettingKey","type":"string"},"StoreAppSettingResponseSchema":{"title":"StoreAppSettingResponseSchema","type":"object","required":["hidePurchase","hideReceivement","enableUnlinkedPayments","requireGtinScanBeforeDeliverOut"],"properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"},"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"AvailableExtensionSchema":{"title":"AvailableExtensionSchema","type":"object","required":["extensionCode","name"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"}}},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"OpeningHoursResponseSchema":{"title":"OpeningHoursResponseSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}},"required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday","note"]},"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"StoreAddressResponseSchema":{"title":"StoreAddressResponseSchema","allOf":[{"type":"object","required":["storeAddressUid","companyName","vatNumber","address","postalCode","city","countryCode","email","phone","type","default"],"properties":{"storeAddressUid":{"$ref":"#/components/schemas/UID"},"companyName":{"type":"string"},"vatNumber":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"type":{"$ref":"#/components/schemas/StoreAddressTypeENUM"},"default":{"type":"boolean"}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"StoreAddressTypeENUM":{"title":"StoreAddressTypeENUM","enum":["PURCHASE_INVOICE_ADDRESS","DELIVERY_ADDRESS"],"type":"string"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}},"TenantResponseSchema":{"title":"TenantResponseSchema","type":"object","required":["countryCode","createdAt","lastModifiedAt","name","pricelistUid","tenantUid","vatNumber","settings","appSettings","extensions","assets","timezone","languageCode","currency"],"properties":{"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"settings":{"$ref":"#/components/schemas/TenantSettingsResponseSchema"},"appSettings":{"$ref":"#/components/schemas/TenantAppSettingsResponseSchema"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/TenantExtensionSchema"}},"assets":{"$ref":"#/components/schemas/TenantAssetSchema"},"timezone":{"$ref":"#/components/schemas/TimezoneTYPE"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"currency":{"$ref":"#/components/schemas/TenantCurrencySchema"}}},"TenantSettingsResponseSchema":{"title":"TenantSettings","type":"object","required":["allowExternalCashDrawer","autoLogout","autoPrintReceipt","numericSkuCounter","printCardPaymentDetails","sendInvoicesExternally","duplicateCheckCustomerPhoneNumber","duplicateCheckCustomerVatNumber","useOriginalSellerOnCreditLine","printReceiptNumber","requiredCustomerFields","requiredCompanyFields","requiredCompanyDepartmentFields","requiredContactFields","enforceStrongPin","customerContactsRequiresEmail","customerContactsEmailDuplicateCheck"],"properties":{"allowExternalCashDrawer":{"type":"boolean","default":false},"autoLogout":{"type":"integer","description":"time in seconds, 0 means not enabled"},"autoPrintReceipt":{"type":"boolean"},"numericSkuCounter":{"type":"integer"},"printCardPaymentDetails":{"type":"boolean","description":"toogle on/off payment terminal details on receipt","default":false},"sendInvoicesExternally":{"type":"boolean"},"duplicateCheckCustomerPhoneNumber":{"type":"boolean","description":"For PERSON customers: Check for unique phone number and email if true"},"duplicateCheckCustomerVatNumber":{"type":"boolean","description":"For COMPANY customers: Check for unique vat number if true"},"useOriginalSellerOnCreditLine":{"type":"boolean","description":"toogle on/off if the original seller should be used in a existing referenced order"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"},"printReceiptNumber":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer","description":"Default lifespan in days for parked orders before expiration","deprecated":true},"autoSendWelcomeSms":{"type":"boolean","deprecated":true},"autoSendWelcomeMail":{"type":"boolean","deprecated":true},"requirePinCodeForSale":{"type":"boolean","description":"description: Turn on/off PIN requirement for sale","deprecated":true},"requirePinCodeForCredit":{"type":"boolean","description":"description: Turn on/off PIN requirement for credit","deprecated":true},"requiredCustomerFields":{"type":"array","items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"}},"requiredCompanyFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredCompanyDepartmentFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredContactFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"enforceStrongPin":{"type":"boolean","description":"For user's app PIN/password creation"},"customerContactsRequiresEmail":{"type":"boolean","description":"Indicate if the customer contacts requires email."},"customerContactsEmailDuplicateCheck":{"type":"boolean","description":"This will enable duplicate check on email\nfor contacts, so it is not possible to have two\ncontacts with the same email."}}},"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]},"NullableCustomerRequiredFieldArray":{"title":"NullableCustomerRequiredFieldArray","type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"},"description":"Type-specific required-field override. Null means inherit requiredCustomerFields.\nAn empty array means no required fields for this type (explicit override).\n"},"TenantAppSettingsResponseSchema":{"title":"TenantAppSettingsResponseSchema","type":"object","required":["showOutOfStockWarning","defaultParkedOrderLifespanDays","requirePinCodeForSale","requirePinCodeForCredit","autoSendWelcomeSms","autoSendWelcomeMail","defaultCustomerGroupUid"],"properties":{"showOutOfStockWarning":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer"},"requirePinCodeForSale":{"type":"boolean"},"requirePinCodeForCredit":{"type":"boolean"},"autoSendWelcomeSms":{"type":"boolean"},"autoSendWelcomeMail":{"type":"boolean"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"}}},"TenantExtensionSchema":{"title":"TenantExtensionSchema","type":"object","required":["extensionCode","name","active","tenantExtensionUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"}}},"TenantAssetSchema":{"title":"TenantAssetSchema","type":"object","required":["logo","splash"],"properties":{"logo":{"$ref":"#/components/schemas/AssetUrlSchema"},"splash":{"$ref":"#/components/schemas/AssetUrlSchema"}}},"AssetUrlSchema":{"title":"AssetUrlSchema","type":"object","required":["url","assetUid"],"properties":{"url":{"type":"string"},"assetUid":{"$ref":"#/components/schemas/UID"}}},"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"},"TenantCurrencySchema":{"title":"TenantCurrencySchema","type":"object","required":["code","name","symbol","symbolPosition","decimalSeparator","thousandSeparator","cashRounding"],"properties":{"code":{"type":"string","description":"ISO 4217"},"name":{"type":"string"},"symbol":{"type":"string","description":"symbol or short name, e.g. `$`, `kr` etc. "},"symbolPosition":{"type":"string","description":"prefix or suffix to the amount"},"decimalSeparator":{"type":"string"},"thousandSeparator":{"type":"string"},"cashRounding":{"type":"integer","description":"the smallest amount accepted as cash"}}},"TillResponseSchema":{"title":"TillResponseSchema","type":"object","required":["cashDrawer","createdAt","lastModifiedAt","lastOrderUid","lastOrderNumber","name","paymentTerminal","settings","status","tillUid","tillNumber","device"],"properties":{"cashDrawer":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastOrderUid":{"$ref":"#/components/schemas/UID"},"lastOrderNumber":{"type":"string"},"name":{"type":"string"},"paymentTerminal":{"$ref":"#/components/schemas/TillPaymentTerminalENUM"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/TillSettingSchema"}},"status":{"$ref":"#/components/schemas/TillOpenStatusENUM","description":"Current open/closed state of the till. OPEN means a cash-register session is active; CLOSED means none is. For full session details (counted amounts, cash revenue, open/close users) use the till status endpoint."},"tillUid":{"$ref":"#/components/schemas/UID"},"tillNumber":{"type":"integer"},"device":{"$ref":"#/components/schemas/TillDeviceResponseSchema"}}},"TillPaymentTerminalENUM":{"enum":["NONE","ADYEN","PAYEX","STRIPE","NETS","VERIFONE","SOFTPAY","DINTERO"],"title":"TillPaymentTerminalENUM","type":"string"},"TillSettingSchema":{"description":"Till specific settings","properties":{"key":{"$ref":"#/components/schemas/TillSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"TillSettingSchema","type":"object"},"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"},"TillOpenStatusENUM":{"type":"string","title":"TillOpenStatus","description":"Whether the till currently has an open cash-register session. Distinct from TillStatusENUM (the tri-state cash-report status): this collapses CLOSED_NOT_COUNTED into CLOSED.","enum":["OPEN","CLOSED"]},"TillDeviceResponseSchema":{"title":"TillDeviceResponseSchema","type":"object","nullable":true,"required":["deviceUid","identifier","name"],"properties":{"deviceUid":{"$ref":"#/components/schemas/UID"},"identifier":{"type":"string"},"name":{"type":"string"}}},"DeviceCurrencyDenominationSchema":{"title":"DeviceCurrencyDenominationSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"}},"required":["currencyCode","denomination","material"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"BasicPrinterResponseSchema":{"title":"BasicPrinterResponseSchema","type":"object","required":["printerUid","name","type","availablePrintActions"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"availablePrintActions":{"type":"array","description":"Which print job types this printer supports. See [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]}}}}
```

## The DeviceCurrencyDenominationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceCurrencyDenominationSchema":{"title":"DeviceCurrencyDenominationSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"}},"required":["currencyCode","denomination","material"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The CashDetailSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The CurrencyDenominationMaterialENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The DevicePaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DevicePaymentMethodResponseSchema":{"title":"DevicePaymentMethodResponseSchema","type":"object","required":["allowRefund","allowSale","allowCashback","allowPrepayment","name","parameters","paymentCode","storePaymentMethodUid","requirements","settlementCode","visibility","position","description","amountInput","useRounding","receiptText"],"properties":{"allowRefund":{"type":"boolean"},"allowSale":{"type":"boolean"},"allowCashback":{"type":"boolean"},"allowAmount":{"type":"boolean","deprecated":true},"allowPrepayment":{"type":"boolean"},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePaymentMethodParametersResponseSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"settlementCode":{"type":"string"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"position":{"type":"integer"},"description":{"type":"string","description":"from TenantPaymentMethod"},"receiptText":{"type":"string","maxLength":500,"description":"from TenantPaymentMethod; text printed on the receipt when this payment method is used"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"}}},"AvailablePaymentMethodParametersResponseSchema":{"title":"AvailablePaymentMethodParametersResponseSchema","description":"AvailablePaymentMethodParametersResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","keyType","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The OrderPaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderPaymentMethodResponseSchema":{"title":"OrderPaymentMethodResponseSchema","type":"object","required":["allowCashback","allowPrepayment","name","description","parameters","paymentCode","storePaymentMethodUid","requirements","settlementCode","visibility","position","minimumPaymentAmount","amountInput","useRounding","receiptText"],"properties":{"allowCashback":{"type":"boolean"},"allowAmount":{"type":"boolean","deprecated":true},"allowPrepayment":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"receiptText":{"type":"string","maxLength":500,"description":"from TenantPaymentMethod; text printed on the receipt when this payment method is used"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePaymentMethodParametersResponseSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"requireExclusiveUse":{"type":"boolean","deprecated":true},"settlementCode":{"type":"string"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"position":{"type":"integer"},"minimumPaymentAmount":{"type":"integer"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"}}},"AvailablePaymentMethodParametersResponseSchema":{"title":"AvailablePaymentMethodParametersResponseSchema","description":"AvailablePaymentMethodParametersResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","keyType","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The AvailableOrderPaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailableOrderPaymentMethodResponseSchema":{"title":"AvailableOrderPaymentMethodResponseSchema","type":"object","description":"A payment method that may be offered for the requested order lines.\n\n`presentation` carries everything needed to render the row and enable or disable it, with the\nresolved visibility and amount bounds. The flat `visibility`, `position`, `amountInput` and\n`minimumPaymentAmount` fields are DEPRECATED August 2026 in favour of their counterparts inside\n`presentation`, and are removed no earlier than November 2026. They are still populated, with\ntheir stored and unresolved values, until then.","required":["allowCashback","allowPrepayment","name","description","parameters","paymentCode","storePaymentMethodUid","requirements","settlementCode","visibility","position","minimumPaymentAmount","amountInput","useRounding","receiptText","presentation"],"properties":{"allowCashback":{"type":"boolean"},"allowPrepayment":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"receiptText":{"type":"string","maxLength":500,"description":"from TenantPaymentMethod; text printed on the receipt when this payment method is used"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePaymentMethodParametersResponseSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"settlementCode":{"type":"string"},"presentation":{"$ref":"#/components/schemas/PaymentMethodPresentationResponseSchema"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM","deprecated":true,"description":"DEPRECATED August 2026. Use presentation.visibility instead, which is the resolved value. Removed no earlier than November 2026."},"position":{"type":"integer","deprecated":true,"description":"DEPRECATED August 2026. Use presentation.position instead. Removed no earlier than November 2026."},"minimumPaymentAmount":{"type":"integer","deprecated":true,"description":"DEPRECATED August 2026. Use presentation.minimumPaymentAmount instead, which is the resolved\nvalue. This field keeps the stored value, so it differs from the resolved one when amountInput\nis FORCE_REMAINING. Removed no earlier than November 2026."},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM","deprecated":true,"description":"DEPRECATED August 2026. Use presentation.amountInput instead. Removed no earlier than November 2026."},"useRounding":{"type":"boolean"}}},"AvailablePaymentMethodParametersResponseSchema":{"title":"AvailablePaymentMethodParametersResponseSchema","description":"AvailablePaymentMethodParametersResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","keyType","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"PaymentMethodPresentationResponseSchema":{"title":"PaymentMethodPresentationResponseSchema","type":"object","description":"Everything the client needs to render the payment method row and enable or disable it. Always\npopulated, on sales as well as refunds.\n\n`selectable: true` means core knows of nothing that blocks this method — not that every\nprecondition is satisfied. Order-derived blocks live here; input-derived preconditions\n(missing customer, e-mail, mobile) live in `requirements` and remain the client's to enforce.\n\n`visibility` and `minimumPaymentAmount` are the **resolved** values: visibility after\nHIDDEN_WHEN_NOT_REQUIRED has been flipped to LISTED for a required method, and the minimum\nafter FORCE_REMAINING has locked it to the outstanding amount. The deprecated flat fields on\nthe parent schema keep their stored, unresolved values.","required":["selectable","severity","reasonCode","message","visibility","position","amountInput","minimumPaymentAmount","maximumPaymentAmount"],"properties":{"selectable":{"type":"boolean","description":"When false the client must present the method as unavailable and show `message`."},"severity":{"$ref":"#/components/schemas/PaymentMethodPresentationSeverityENUM"},"reasonCode":{"$ref":"#/components/schemas/PaymentMethodPresentationReasonENUM"},"message":{"type":"string","description":"Translated explanation for the operator. Empty when there is nothing to say."},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"position":{"type":"integer","description":"Sort order for the payment method row."},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"minimumPaymentAmount":{"type":"integer","description":"Lowest amount this method may settle, in minor units."},"maximumPaymentAmount":{"type":"integer","nullable":true,"description":"Highest amount this method may settle, in minor units, always positive. `null` means there is\nno upper bound — the method allows cashback, or the payment service provider decides\n(unreferenced refund). `0` means nothing can be settled, for example on an order that is\nalready paid in full. `null` and `0` are different answers and must not be collapsed."}}},"PaymentMethodPresentationSeverityENUM":{"title":"PaymentMethodPresentationSeverityENUM","type":"string","enum":["NONE","INFO","BLOCKED"],"description":"How the client should style `presentation.message`.\n\n| Enum | Description |\n|-----|-----|\n| NONE | Nothing to say. `message` is empty |\n| INFO | Informational note. The method is still selectable |\n| BLOCKED | The method cannot be used. `selectable` is false |"},"PaymentMethodPresentationReasonENUM":{"title":"PaymentMethodPresentationReasonENUM","type":"string","enum":["ELIGIBLE","REFUND_NO_CARD_NEEDED","REFUND_CARD_REQUIRED","REFUND_NO_ORIGINAL_PAYMENT","REFUND_MULTIPLE_CAPTURES","REFUND_REQUIRE_SAME_METHOD","REFUND_METHOD_NOT_AVAILABLE","REFUND_NOT_SUPPORTED"],"description":"Why the payment method is presented the way it is. Extensible — new reasons may be added, so\nclients must treat an unknown value as informational when `selectable` is true and as blocking\notherwise, and fall back to showing `message`.\n\n| Enum | Severity | Description |\n|-----|-----|-----|\n| ELIGIBLE | NONE | Nothing to say |\n| REFUND_NO_CARD_NEEDED | INFO | The refund goes back to the original payment on its own. The customer does not have to do anything |\n| REFUND_CARD_REQUIRED | INFO | The refund cannot be tied to the original payment, so the customer must present the card on the terminal |\n| REFUND_NO_ORIGINAL_PAYMENT | BLOCKED | The original sale was not paid with this method |\n| REFUND_MULTIPLE_CAPTURES | BLOCKED | The sale has several payments with this method, so no single original transaction can be targeted |\n| REFUND_REQUIRE_SAME_METHOD | BLOCKED | At least one line must be refunded with a different, specific method |\n| REFUND_METHOD_NOT_AVAILABLE | BLOCKED | The required method is not set up in this store |\n| REFUND_NOT_SUPPORTED | BLOCKED | The method cannot be used for a refund at all, whatever the sale was paid with |\n\nThe two names say what the operator has to do, not which provider mechanism is used. A refund\nthat goes back on its own is what the card networks call a referenced refund; one that needs the\ncard read on the terminal is what they call unreferenced — the opposite sense of the word from\nthe one a reader expects, which is why the names avoid it.\n\n`REFUND_CARD_REQUIRED` is also the answer when the original receipt was settled with more than\none payment method, and there it is deliberately pessimistic: whether the refund can go back on\nits own depends on the amount, and the amount is not known when the list is built. A refund\nwithin the card's share of that receipt does go straight back to it, so the customer is asked for\nthe card without strictly needing to. Nothing is blocked either way — `selectable` stays true and\nthe refund succeeds."},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The DeviceStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceStatusENUM":{"enum":["ACTIVE","BLOCKED","READY_TO_LINK"],"title":"DeviceAuthorizationStatusENUM","type":"string","description":"| Enum | Description|\n|-----|-----|\n|READY_TO_LINK | The device is ready to a physical device through the link endpoint |\n|ACTIVE| The device is linked and active |\n|BLOCKED| The device is linked, but blocked for usage |"}}}}
```

## The EmailTYPE object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The FlowboxAttachSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"FlowboxAttachSchema":{"properties":{"activationCode":{"type":"string"}},"title":"FlowboxAttachSchema","type":"object"}}}}
```

## The FlowboxPeripheralErrorENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"FlowboxPeripheralErrorENUM":{"enum":["PAPERJAM","BONG_OUT_OF_PAPER","A4_OUT_OF_PAPER","NO_REPLY_FROM_DEVICE"],"title":"FlowboxPeripheralErrorENUM","type":"string"}}}}
```

## The GiftcardDetailsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GiftcardDetailsResponseSchema":{"title":"GiftcardDetailsResponseSchema","type":"object","required":["balance","cardId","cardNumber","validTo","brandId","brandName","issuerName","note","status","cvcRequired","legacyCardNumber"],"properties":{"active":{"type":"boolean","deprecated":true},"balance":{"type":"integer"},"cardId":{"type":"integer"},"cardNumber":{"type":"string"},"validTo":{"type":"string","format":"date-time","nullable":true},"brandId":{"type":"integer"},"brandName":{"type":"string"},"issuerName":{"type":"string"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/GiftcardStatusENUM"},"cvcRequired":{"type":"boolean"},"legacyCardNumber":{"type":"string"}}},"GiftcardStatusENUM":{"title":"GiftcardStatusENUM","type":"string","enum":["ACTIVE","INACTIVE","CLEARED"],"description":"`CLEARED` means the card balance is emptied, the card is deactivated and can not be used anymore."}}}}
```

## The HandlingActionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingActionCreateRequestSchema":{"properties":{"handlingActionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"allowComment":{"type":"boolean"},"name":{"type":"string","maxLength":20},"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["active","allowComment","name"],"title":"HandlingActionCreateRequestSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The HandlingActionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingActionUpdateRequestSchema":{"title":"HandlingActionUpdateRequestSchema","type":"object","properties":{"active":{"type":"boolean"},"allowComment":{"type":"boolean"},"name":{"type":"string","maxLength":20},"storeUid":{"$ref":"#/components/schemas/OptionalUID"}},"required":["active","allowComment","name"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The HandlingActionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingActionResponseSchema":{"allOf":[{"$ref":"#/components/schemas/HandlingActionUpdateRequestSchema"},{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"}},"required":["createdAt","createdBy","handlingActionUid","lastModifiedAt","lastModifiedBy","storeUid"]}],"title":"HandlingActionResponseSchema"},"HandlingActionUpdateRequestSchema":{"title":"HandlingActionUpdateRequestSchema","type":"object","properties":{"active":{"type":"boolean"},"allowComment":{"type":"boolean"},"name":{"type":"string","maxLength":20},"storeUid":{"$ref":"#/components/schemas/OptionalUID"}},"required":["active","allowComment","name"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The HandlingCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingCreateRequestSchema":{"allOf":[{"properties":{"handlingUid":{"$ref":"#/components/schemas/UID"}},"type":"object"},{"$ref":"#/components/schemas/HandlingUpdateRequestSchema"}],"title":"HandlingCreateRequestSchema"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"HandlingUpdateRequestSchema":{"description":"Request for creating or updating an orderhandling","title":"HandlingUpdateRequestSchema","type":"object","required":["active","description","name"],"properties":{"active":{"type":"boolean"},"description":{"type":"string"},"name":{"maxLength":20,"type":"string"},"requireSerialnumberForComplete":{"type":"boolean"},"templateUidForComplete":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The HandlingUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingUpdateRequestSchema":{"description":"Request for creating or updating an orderhandling","title":"HandlingUpdateRequestSchema","type":"object","required":["active","description","name"],"properties":{"active":{"type":"boolean"},"description":{"type":"string"},"name":{"maxLength":20,"type":"string"},"requireSerialnumberForComplete":{"type":"boolean"},"templateUidForComplete":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The HandlingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingResponseSchema":{"title":"HandlingResponseSchema","type":"object","required":["active","createdAt","createdBy","description","handlingUid","lastModifiedAt","lastModifiedBy","name","requireSerialnumberForComplete","templateUidForComplete"],"properties":{"active":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"name":{"maxLength":20,"type":"string"},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/HandlingTriggerResponseSchema"}},"requireSerialnumberForComplete":{"type":"boolean","description":"All products that require serialnumber must have a serial number set before this handling can be set to `COMPLETE`"},"templateUidForComplete":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"HandlingTriggerResponseSchema":{"title":"HandlingTriggerResponseSchema","type":"object","required":["active","trigger","state","value","handlingTriggerUid"],"properties":{"active":{"type":"boolean"},"trigger":{"$ref":"#/components/schemas/HandlingTriggerENUM"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"},"value":{"type":"string"},"handlingTriggerUid":{"$ref":"#/components/schemas/UID"}}},"HandlingTriggerENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| AUTO_PRINT_PICKUP_LABELS| Auto-print pickup labels when order is parked or confirmed|\n| SET_EXPIRY_DATE| Set expiry date on order|","enum":["AUTO_PRINT_PICKUP_LABELS","SET_EXPIRY_DATE"],"title":"HandlingTriggerENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The HandlingStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"}}}}
```

## The DeliveryStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"}}}}
```

## The HandlingTriggerENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingTriggerENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| AUTO_PRINT_PICKUP_LABELS| Auto-print pickup labels when order is parked or confirmed|\n| SET_EXPIRY_DATE| Set expiry date on order|","enum":["AUTO_PRINT_PICKUP_LABELS","SET_EXPIRY_DATE"],"title":"HandlingTriggerENUM","type":"string"}}}}
```

## The HandlingTriggerUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingTriggerUpdateRequestSchema":{"title":"HandlingTriggerUpdateRequestSchema","type":"object","required":["active","trigger","state"],"properties":{"active":{"type":"boolean"},"trigger":{"$ref":"#/components/schemas/HandlingTriggerENUM"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"},"value":{"type":"string"},"handlingTriggerUid":{"$ref":"#/components/schemas/UID"}}},"HandlingTriggerENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| AUTO_PRINT_PICKUP_LABELS| Auto-print pickup labels when order is parked or confirmed|\n| SET_EXPIRY_DATE| Set expiry date on order|","enum":["AUTO_PRINT_PICKUP_LABELS","SET_EXPIRY_DATE"],"title":"HandlingTriggerENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The HandlingTriggerCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingTriggerCreateRequestSchema":{"title":"HandlingTriggerCreateRequestSchema","type":"object","required":["active","trigger","state"],"properties":{"active":{"type":"boolean"},"trigger":{"$ref":"#/components/schemas/HandlingTriggerENUM"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"},"value":{"type":"string"},"handlingTriggerUid":{"$ref":"#/components/schemas/UID"}}},"HandlingTriggerENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| AUTO_PRINT_PICKUP_LABELS| Auto-print pickup labels when order is parked or confirmed|\n| SET_EXPIRY_DATE| Set expiry date on order|","enum":["AUTO_PRINT_PICKUP_LABELS","SET_EXPIRY_DATE"],"title":"HandlingTriggerENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The HandlingTriggerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HandlingTriggerResponseSchema":{"title":"HandlingTriggerResponseSchema","type":"object","required":["active","trigger","state","value","handlingTriggerUid"],"properties":{"active":{"type":"boolean"},"trigger":{"$ref":"#/components/schemas/HandlingTriggerENUM"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"},"value":{"type":"string"},"handlingTriggerUid":{"$ref":"#/components/schemas/UID"}}},"HandlingTriggerENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| AUTO_PRINT_PICKUP_LABELS| Auto-print pickup labels when order is parked or confirmed|\n| SET_EXPIRY_DATE| Set expiry date on order|","enum":["AUTO_PRINT_PICKUP_LABELS","SET_EXPIRY_DATE"],"title":"HandlingTriggerENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The LedgerTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"}}}}
```

## The UpdateWarehouseProductDetailRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"UpdateWarehouseProductDetailRequestSchema":{"title":"UpdateWarehouseProductDetailRequestSchema","type":"object","properties":{"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"}}}}}}
```

## The NullableStockResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NullableStockResponseSchema":{"title":"NullableStockResponseSchema","type":"object","nullable":true,"properties":{"averageCost":{"type":"integer"},"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productSku":{"type":"string"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}},"required":["averageCost","locationLabel","maxStockLevel","minStockLevel","productUid","productSku","quantityReserved","quantityStock","warehouseUid","warehouseName","storeUid","storeName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The NumberSeriesResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NumberSeriesResponseSchema":{"properties":{"currentValue":{"type":"integer"},"end":{"type":"integer"},"name":{"type":"string"},"numberSeriesUid":{"$ref":"#/components/schemas/UID"},"start":{"type":"integer"},"type":{"$ref":"#/components/schemas/NumberSeriesTypeENUM"}},"required":["numberSeriesUid","name","type","currentValue","end","start"],"title":"NumberSeriesResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"NumberSeriesTypeENUM":{"enum":["PURCHASE","VOUCHER","SERVICE","INTERNAL_PURCHASE","RMA_ORDER","CUSTOMER_LEDGER","CUSTOMER_NUMBER"],"title":"NumberSeriesTypeENUM","type":"string"}}}}
```

## The NumberSeriesCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NumberSeriesCreateSchema":{"title":"NumberSeriesCreateSchema","type":"object","properties":{"end":{"type":"integer"},"name":{"type":"string"},"start":{"type":"integer"},"type":{"$ref":"#/components/schemas/NumberSeriesTypeENUM"},"numberSeriesUid":{"$ref":"#/components/schemas/UID"}},"required":["end","name","start","type"]},"NumberSeriesTypeENUM":{"enum":["PURCHASE","VOUCHER","SERVICE","INTERNAL_PURCHASE","RMA_ORDER","CUSTOMER_LEDGER","CUSTOMER_NUMBER"],"title":"NumberSeriesTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The NumberSeriesTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NumberSeriesTypeENUM":{"enum":["PURCHASE","VOUCHER","SERVICE","INTERNAL_PURCHASE","RMA_ORDER","CUSTOMER_LEDGER","CUSTOMER_NUMBER"],"title":"NumberSeriesTypeENUM","type":"string"}}}}
```

## The NumberSeriesUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NumberSeriesUpdateSchema":{"properties":{"end":{"type":"integer"},"name":{"type":"string"},"start":{"type":"integer"}},"required":["name"],"title":"NumberSeriesUpdateSchema","type":"object"}}}}
```

## The ExternalIdVisibilityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"}}}}
```

## The ExternalIdSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"}}}}
```

## The OrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderResponseSchema":{"description":"Use invoiceAddress only if an order has a different invoice  than orderAddress.","title":"OrderResponseSchema","type":"object","required":["createdAt","customerAddress","customerUid","customerContact","deliveryState","externalOrderNumber","externalVoucherNumber","invoiceAddress","items","lastModifiedAt","note","internalNote","orderUid","orderNumber","orderDate","orderState","orderTotals","orderhandlingState","orderhandlings","settleState","settlementTotals","settlements","storeUid","storeName","systemOrigin","tenantUserDisplayName","tenantUserUid","tillUid","type","vatFree","vatPrint","voucherNumber","deliveryDate","discounts","compensationReasonUid","lastModifiedBy","allowedActions"],"properties":{"createdAt":{"format":"date-time","type":"string"},"customerAddress":{"$ref":"#/components/schemas/OrderAddressResponseSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerContact":{"$ref":"#/components/schemas/OrderCustomerContactResponseSchema"},"deliveryState":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"},"externalOrderNumber":{"type":"string","deprecated":true},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"invoiceAddress":{"$ref":"#/components/schemas/InvoiceAddressResponseSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}},"lastModifiedAt":{"format":"date-time","type":"string"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/InterStorePurchaseOrderResponseSchema"},"note":{"description":"Note visible on the receipt.","type":"string"},"internalNote":{"type":"string","description":"Internal note, not visible on the receipt."},"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderDate":{"type":"string","format":"date-time","description":"This field has value if type == `ORDER`","nullable":true},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"orderTotals":{"$ref":"#/components/schemas/OrderTotalsResponseSchema"},"orderhandlingState":{"$ref":"#/components/schemas/HandlingStateENUM"},"orderhandlings":{"type":"array","items":{"$ref":"#/components/schemas/OrderHandlingResponseSchema"}},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"settledAt":{"description":"When the settleState is set COMPLETE.","format":"date-time","type":"string","nullable":true},"settlementTotals":{"$ref":"#/components/schemas/OrderSettlementTotalsSchema"},"settlements":{"type":"array","items":{"$ref":"#/components/schemas/SettlementResponseSchema"}},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"systemOrigin":{"type":"string"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"type":{"$ref":"#/components/schemas/OrderTypeENUM"},"validUntil":{"format":"date-time","type":"string","nullable":true},"vatFree":{"type":"boolean"},"vatPrint":{"$ref":"#/components/schemas/VatPrintENUM"},"voucherNumber":{"description":"A reference to a fully settled order.","type":"string"},"deliveryDate":{"type":"string","format":"date"},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/OrderDiscountResponseSchema"}},"compensationReasonUid":{"$ref":"#/components/schemas/OptionalUID"},"lastModifiedBy":{"type":"string"},"allowedActions":{"type":"array","items":{"$ref":"#/components/schemas/AllowedOrderActionENUM"}}}},"OrderAddressResponseSchema":{"title":"OrderAddressResponseSchema","type":"object","required":["address","city","companyName","countryCode","email","firstname","lastname","mobile","postalCode","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"displayName":{"type":"string"}},"description":""},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderCustomerContactResponseSchema":{"type":"object","title":"OrderCustomerContactResponseSchema","required":["customerContactUid","firstname","lastname","email","mobile","displayName"],"properties":{"customerContactUid":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"displayName":{"type":"string"}}},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"InvoiceAddressResponseSchema":{"title":"InvoiceAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"InterStorePurchaseOrderResponseSchema":{"title":"InterStorePurchaseOrderResponseSchema","type":"object","description":"The buyer store's purchase order this sales order is coupled 1:1 to in inter-store\ntrade. Only present on the seller store's auto-created sales order.","required":["purchaseOrderUid","purchaseNumber","storeUid","storeName"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}}},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderTotalsResponseSchema":{"description":"","properties":{"costTotal":{"type":"integer"},"grandTotal":{"type":"integer"},"grossProfitAmount":{"description":"Sum of all totalGrossProfitAmount on each product item.","type":"integer"},"grossProfitPercentage":{"description":"","type":"integer"},"specifiedVat":{"items":{"$ref":"#/components/schemas/OrderTotalsVatSpecificationSchema"},"type":"array"},"subtotal":{"type":"integer"},"totalDiscount":{"type":"integer"},"totalVat":{"type":"integer"}},"required":["subtotal","totalDiscount","specifiedVat","totalVat","grandTotal","grossProfitAmount","grossProfitPercentage","costTotal"],"title":"OrderTotals","type":"object"},"OrderTotalsVatSpecificationSchema":{"description":"","properties":{"vatAmount":{"description":"Total amount with this vatRate.","type":"integer"},"vatDescription":{"description":"Description of vat rate.","type":"string"},"vatRate":{"description":"VatRate in percentage.","type":"integer"}},"required":["vatRate","vatAmount","vatDescription"],"title":"OrderTotalsVatSpecificationSchema","type":"object"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"OrderHandlingResponseSchema":{"properties":{"active":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"name":{"maxLength":20,"type":"string"},"orderHandlingUid":{"$ref":"#/components/schemas/UID"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"}},"required":["orderHandlingUid","handlingUid","active","description","name","state","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderHandlingResponseSchema","type":"object"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderSettlementTotalsSchema":{"title":"OrderSettlementTotalsSchema","type":"object","required":["change","remaining","remainingRounded","totals","remainingPrePayment","remainingAuthorizedAmount"],"properties":{"change":{"description":"Total change amount returned to customer.","type":"integer"},"remaining":{"type":"integer","description":"Remaining amount to be paid "},"remainingRounded":{"description":"Rounded value of remaining amount. For use with CASH","type":"integer"},"totals":{"type":"integer","description":"Sum of all approved settlements"},"remainingPrePayment":{"type":"integer"},"remainingAuthorizedAmount":{"type":"integer","description":"Authorized amount available for capture."}}},"SettlementResponseSchema":{"title":"SettlementResponseSchema","type":"object","required":["amount","createdAt","displayMessages","externalId","externalPaymentReference","idMethod","lastModifiedAt","parameters","settlementCode","settlementUid","settlementName","state","status","storeSettlementIssuer","tenantUserDisplayName","tenantUserUid","storePaymentMethodUid","currency","additionalDetails","creditCount","creditAmount","paymentCount","paymentAmount","storeUid","storeName","orderReceiptUid","transactions","receiptText","allowedActions"],"properties":{"amount":{"type":"integer"},"createdAt":{"format":"date-time","type":"string"},"displayMessages":{"type":"array","items":{"$ref":"#/components/schemas/SettlementDisplayMessageSchema"}},"externalId":{"type":"string"},"externalPaymentReference":{"type":"string","description":"The external payment reference for this settlement.\nFor invoices, this could contain the KID"},"idMethod":{"$ref":"#/components/schemas/SettlementIdMethodENUM"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterResponseSchema"}},"settledAt":{"format":"date-time","type":"string"},"settlementCode":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementName":{"type":"string"},"state":{"$ref":"#/components/schemas/SettlementStateENUM"},"status":{"$ref":"#/components/schemas/SettlementStatusENUM"},"storeSettlementIssuer":{"$ref":"#/components/schemas/storeSettlementIssuerSchema"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"currency":{"$ref":"#/components/schemas/SettlementCurrencySchema"},"additionalDetails":{"type":"array","items":{"$ref":"#/components/schemas/SettlementAdditionalDetailsSchema"}},"creditCount":{"type":"integer","description":"Number of credits on this settlement. Only applicable for invoice"},"creditAmount":{"type":"integer","description":"The total amount credited. Only applicable for invoice"},"paymentCount":{"type":"integer","description":"Number of payments on this settlement. Only applicable for invoice"},"paymentAmount":{"type":"integer","description":"The total amount of payments. Only applicable for invoice"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"tillName":{"type":"string","description":"Display name of the till where the payment was registered."},"tillNumber":{"type":"integer","description":"Till register number where the payment was registered."},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"storeName":{"type":"string","description":"Display name of the store where the payment was registered."},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"authorizedAmount":{"type":"integer","description":"The total authorized amount on this settlement, calculated from authorize transactions."},"capturedAmount":{"type":"integer","description":"The total captured amount on this settlement, calculated from capture transactions."},"refundedAmount":{"type":"integer","description":"The total refunded amount on this settlement, calculated from refund transactions."},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt for this payment method when configured on the tenant payment method. Empty when not set, when suppressed for this settlement type (e.g. store credit, gift cards), or when cleared."},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/SettlementTransactionSchema"}},"allowedActions":{"description":"What can be done with this settlement. Judged from the settlement alone, so a cancellation offered here can still be turned down by the rules on the order or the receipt.","type":"array","items":{"$ref":"#/components/schemas/AllowedSettlementActionENUM"}}}},"SettlementDisplayMessageSchema":{"description":"Settlement display messages","properties":{"key":{"type":"string"},"message":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}},"required":["key","message","timestamp"],"title":"SettlementDisplayMessageSchema","type":"object"},"SettlementIdMethodENUM":{"enum":["NO_CVM_RULE_PERFORMED","SIGNATURE","PIN_ONLINE","PIN_OFFLINE","PIN_ONLINE_AND_SIGNATURE","PIN_OFFLINE_AND_SIGNATURE","NO_CVM","FAILED","ON_DEVICE","REFUND"],"title":"SettlementIdMethodENUM","type":"string"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"SettlementParameterResponseSchema":{"description":"settlement parameters response","title":"SettlementParameterResponseSchema","type":"object","required":["key","value","name","type"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"SettlementStateENUM":{"enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","TERMINATED"],"title":"SettlementCodeENUM","type":"string"},"SettlementStatusENUM":{"enum":["NEW","PROCESSING","AUTHORIZED","CAPTURED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","FAILED","CANCELLED_BY_MERCHANT","CANCELLED_BY_USER","CANCELLED_FORCE","DELETED","DENIED","REJECTED"],"title":"SettlementCodeENUM","type":"string"},"storeSettlementIssuerSchema":{"title":"storeSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["storeSettlementIssuerUid","name","code"],"properties":{"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"SettlementCurrencySchema":{"title":"SettlementCurrencySchema","type":"object","required":["amount","code","exchangeRate"],"properties":{"amount":{"type":"integer"},"code":{"type":"string"},"exchangeRate":{"type":"integer"}}},"SettlementAdditionalDetailsSchema":{"title":"SettlementAdditionalDetailsSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"SettlementTransactionSchema":{"title":"SettlementTransactionSchema","type":"object","required":["transactionType","transactionAmount","orderReceiptUid"],"properties":{"transactionType":{"type":"string"},"pspTransactionId":{"type":"string"},"transactionAmount":{"type":"integer"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"}}},"AllowedSettlementActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CANCEL | Settlement can be cancelled|","enum":["CANCEL"],"title":"AllowedSettlementActionENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"},"OrderDiscountResponseSchema":{"title":"OrderDiscountResponseSchema","type":"object","required":["orderDiscountUid","discountCode","type","amount","name","origin","validTo","maxUsage","productSkus","orderItemUids","externalTransactionId","scope","discountReasonCode","discountReference","createdAt","createdBy","lastModifiedAt","lastModifiedBy","campaignUid"],"properties":{"orderDiscountUid":{"$ref":"#/components/schemas/UID"},"discountCode":{"type":"string"},"type":{"$ref":"#/components/schemas/DiscountTypeENUM"},"amount":{"type":"integer"},"name":{"type":"string"},"origin":{"$ref":"#/components/schemas/DiscountOriginENUM"},"validTo":{"type":"string","format":"date-time"},"maxUsage":{"type":"integer"},"productSkus":{"type":"array","items":{"type":"string"}},"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"externalTransactionId":{"type":"string"},"scope":{"$ref":"#/components/schemas/DiscountScopeENUM"},"discountReasonCode":{"type":"string"},"discountReference":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"campaignUid":{"$ref":"#/components/schemas/OptionalUID"}}},"DiscountTypeENUM":{"title":"DiscountTypeENUM","type":"string","enum":["PERCENTAGE","AMOUNT"]},"DiscountOriginENUM":{"title":"DiscountOriginENUM","type":"string","enum":["LOYALTY","MANUAL","PRICEREDUCTION","CAMPAIGN"]},"DiscountScopeENUM":{"title":"DiscountScopeENUM","type":"string","enum":["WHOLE_ORDER","SPECIFIC_LINE","PRODUCT_LIST","SPECIFIC_LINE_LIST"]},"AllowedOrderActionENUM":{"enum":["DELETE","OFFER","LOYALTY_POINTS"],"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELETE | Order can be deleted|\n| OFFER | Order can be changed to an offer|\n| LOYALTY_POINTS | Order has loyalty points|"}}}}
```

## The OrderAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderAddressResponseSchema":{"title":"OrderAddressResponseSchema","type":"object","required":["address","city","companyName","countryCode","email","firstname","lastname","mobile","postalCode","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"displayName":{"type":"string"}},"description":""},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"}}}}
```

## The BaseAddressSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The DeliveryAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryAddressResponseSchema":{"title":"DeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DeprecatedDeliveryAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedDeliveryAddressResponseSchema":{"deprecated":true,"title":"DeprecatedDeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The InvoiceAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InvoiceAddressResponseSchema":{"title":"InvoiceAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DeliveryAddressRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The DeprecatedDeliveryAddressRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedDeliveryAddressRequestSchema":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The OrderAddressSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderAddressSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"properties":{"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"}}}],"title":"OrderCreateRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"}}}}
```

## The CustomerAddressTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"}}}}
```

## The CustomerAddressCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerAddressCreateRequestSchema":{"title":"CustomerAddressCreateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"$ref":"#/components/schemas/UID"}},"required":["type"]},"EmailTYPE":{"title":"Email","type":"string"},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerAddressUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerAddressUpdateRequestSchema":{"title":"CustomerAddressUpdateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"}}},"EmailTYPE":{"title":"Email","type":"string"},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"}}}}
```

## The CustomerAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerAddressResponseSchema":{"title":"CustomerAddressResponseSchema","type":"object","required":["address","city","companyName","firstname","lastname","countryCode","email","phone","postalCode","type","customerAddressUid","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"type":"string"},"displayName":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"}}}}
```

## The OrderChangeStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderChangeStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN    | Set order in state open, to be able to edit it.|\n| PARKED  | Set order in state parked.|\n| CONFIRMED  | Set order in state confirmed.|","enum":["PARKED","OPEN","CONFIRMED"],"title":"OrderChangeStatusENUM","type":"string"}}}}
```

## The OrderCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/OrderUpdateRequestSchema"},{"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"systemOrigin":{"type":"string"},"compensationReasonUid":{"$ref":"#/components/schemas/UID"}}}],"title":"OrderCreateRequestSchema","type":"object"},"OrderUpdateRequestSchema":{"title":"OrderUpdateRequestSchema","type":"object","properties":{"customerAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerContactUid":{"$ref":"#/components/schemas/OptionalUID"},"deviceIdentifier":{"type":"string"},"externalOrderNumber":{"type":"string","deprecated":true},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"invoiceCustomerAddressUid":{"$ref":"#/components/schemas/UID"},"invoiceAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"note":{"description":"Note visible on the receipt.","type":"string"},"internalNote":{"type":"string","description":"Internal note, not visible on the receipt."},"type":{"$ref":"#/components/schemas/OrderTypeENUM"},"validUntil":{"format":"date-time","type":"string"},"vatFree":{"type":"boolean"},"vatPrint":{"$ref":"#/components/schemas/VatPrintENUM"}}},"OrderAddressSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"properties":{"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"}}}],"title":"OrderCreateRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"}}}}
```

## The OrderUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderUpdateRequestSchema":{"title":"OrderUpdateRequestSchema","type":"object","properties":{"customerAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerContactUid":{"$ref":"#/components/schemas/OptionalUID"},"deviceIdentifier":{"type":"string"},"externalOrderNumber":{"type":"string","deprecated":true},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"invoiceCustomerAddressUid":{"$ref":"#/components/schemas/UID"},"invoiceAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"note":{"description":"Note visible on the receipt.","type":"string"},"internalNote":{"type":"string","description":"Internal note, not visible on the receipt."},"type":{"$ref":"#/components/schemas/OrderTypeENUM"},"validUntil":{"format":"date-time","type":"string"},"vatFree":{"type":"boolean"},"vatPrint":{"$ref":"#/components/schemas/VatPrintENUM"}}},"OrderAddressSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"properties":{"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"}}}],"title":"OrderCreateRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"}}}}
```

## The OrderCreateImportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCreateImportSchema":{"description":"Schema for creating a complete order in one request.","title":"OrderCreateImportSchema","type":"object","required":["items","orderTotals","type","validUntil","vatFree"],"properties":{"orderDate":{"format":"date-time","type":"string","nullable":true},"customerAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerContactUid":{"$ref":"#/components/schemas/OptionalUID"},"externalOrderNumber":{"type":"string","deprecated":true},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"invoiceAddress":{"$ref":"#/components/schemas/OrderAddressSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderImportItemCreateSchema"}},"note":{"type":"string"},"internalNote":{"type":"string","description":"Internal note, not visible on the receipt."},"orderTotals":{"$ref":"#/components/schemas/OrderTotalsImportSchema"},"settlements":{"type":"array","items":{"$ref":"#/components/schemas/OrderSettlementImportSchema"}},"type":{"$ref":"#/components/schemas/OrderTypeENUM"},"systemOrigin":{"type":"string"},"validUntil":{"format":"date-time","type":"string","nullable":true},"vatFree":{"type":"boolean"},"vatPrint":{"$ref":"#/components/schemas/VatPrintENUM"},"orderUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"},"handlingUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderDeliveries":{"type":"array","items":{"$ref":"#/components/schemas/OrderImportOrderDeliveryCreateRequestSchema"}}}},"OrderAddressSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"properties":{"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"}}}],"title":"OrderCreateRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"OrderImportItemCreateSchema":{"title":"OrderImportItemCreateSchema","allOf":[{"$ref":"#/components/schemas/OrderItemCreateSchema"},{"type":"object","required":["itemPrice","quantityOrdered"]}]},"OrderItemCreateSchema":{"title":"OrderItemCreateSchema","type":"object","required":["productUid"],"properties":{"discountReasonCode":{"type":"string"},"externalId":{"description":"External reference to order line","type":"string"},"itemDiscountAmount":{"type":"integer"},"itemDiscountPercentage":{"description":"Used to calculate itemDiscountAmount.","type":"integer"},"itemPrice":{"type":"integer"},"note":{"type":"string"},"orderItemLink":{"$ref":"#/components/schemas/OrderItemLinkSchema"},"productUid":{"$ref":"#/components/schemas/UID"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}},"quantityOrdered":{"type":"integer"},"reserveStock":{"default":false,"description":"Set this to true to only resevere the stock from the warehouse when the order is settled.","type":"boolean","deprecated":true},"deliveryUid":{"$ref":"#/components/schemas/UID"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"description":"Product SKU","type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"orderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"sortOrder":{"type":"integer"},"itemCostPrice":{"type":"integer","description":"When a product has orderSpecificCost=true: Can set costPrice on the orderItem\nIf itemCostPrice is set and orderSpecificCost=false for the product, an error is returned"},"productName":{"type":"string","description":"When a product has orderSpecificName=true: Can set productName on the orderItem\nIf itemCostPrice is set and orderSpecificName=false for the product, an error is returned"}}},"OrderItemLinkSchema":{"description":"OrderItemLinkSchema","title":"OrderItemLinkSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/OrderLinkTypeRequestENUM"},"orderItemUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","orderItemUid"]},"OrderLinkTypeRequestENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link   |\n| INSURANCE | Reference to the orderline with the product to insure |\n| COMPENSATION | Reference to the orderline with the product to compensate |\n| SERVICE | Reference to orderline with service product |\n| FREIGHT_SERVICE | Reference to orderline with freight service product |","enum":["CREDIT","INSURANCE","COMPENSATION","SERVICE","FREIGHT_SERVICE"],"title":"OrderLinkTypeRequestENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"OrderTotalsImportSchema":{"description":"","properties":{"grandTotal":{"type":"integer"},"totalDiscount":{"type":"integer"},"totalVat":{"type":"integer"}},"required":["grandTotal"],"title":"OrderTotalsImportSchema","type":"object"},"OrderSettlementImportSchema":{"description":"Create a new settlement from external source.\nLegal paymentMethods: PAYMENT_GATEWAY, INVOICE, ROUNDING and all EXTERNAL payment methods\n","title":"OrderSettlementImportSchema","type":"object","required":["amount"],"properties":{"amount":{"description":"Amount to settle in øre","type":"integer"},"externalId":{"description":"External reference for the settlement","type":"string"},"externalPaymentReference":{"description":"Reference to payment, ex: reference to an Adyen payment id. Possible use: Refund directly from Flow Retail","type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settledAt":{"format":"date-time","type":"string"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}},"settlementCode":{"type":"string","description":"If storePaymentMethodUid is not set in the request, this value will be used to find the storePaymentMethod"},"status":{"allOf":[{"$ref":"#/components/schemas/OrderImportSettlementStatusENUM"}],"default":"CAPTURED"},"storeSettlementIssuer":{"$ref":"#/components/schemas/OrderImportStoreSettlementIssuerSchema"}}},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"OrderImportSettlementStatusENUM":{"title":"OrderImportSettlementStatusENUM","type":"string","enum":["AUTHORIZED","CAPTURED"]},"OrderImportStoreSettlementIssuerSchema":{"title":"OrderImportStoreSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["name","code"],"properties":{"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"},"OrderImportOrderDeliveryCreateRequestSchema":{"title":"OrderImportOrderDeliveryCreateRequestSchema","type":"object","properties":{"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date-time"},"externalDeliveryReference":{"type":"string"},"trackingNumber":{"deprecated":true,"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/DeprecatedUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/DeprecatedUID"},"signature":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"deliveryUid":{"$ref":"#/components/schemas/UID"},"shipping":{"$ref":"#/components/schemas/OrderDeliveryShippingRequestSchema"}},"required":["warehouseUid","deliveryUid"]},"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"OrderDeliveryShippingRequestSchema":{"title":"OrderDeliveryShippingRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointRequestSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotRequestSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"freightPrice":{"type":"integer"}}},"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The OrderDeliveryResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryResponseSchema":{"title":"OrderDeliveryResponseSchema","type":"object","required":["createdAt","createdBy","deliveryUid","lastModifiedAt","lastModifiedBy","signature","note","deliveryAddress","deliveryState","deliveryDate","externalDeliveryReference","trackingNumber","deliveryProviderUid","deliveryProviderMethodUid","items","orderItems","freightOrderItemUid","deliveryProviderMethodTimeslotUid","timeslot","shipping"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"deliveryUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"signature":{"type":"string"},"note":{"type":"string"},"deliveryAddress":{"$ref":"#/components/schemas/DeprecatedDeliveryAddressResponseSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date","nullable":true},"externalDeliveryReference":{"type":"string"},"trackingNumber":{"deprecated":true,"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/DeprecatedOptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/DeprecatedOptionalUID"},"warehouseUid":{"$ref":"#/components/schemas/DeprecatedUID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemDeliverResponseSchema"}},"orderItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}},"freightOrderItemUid":{"$ref":"#/components/schemas/DeprecatedOptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/DeprecatedOptionalUID"},"timeslotName":{"type":"string","deprecated":true},"timeslot":{"$ref":"#/components/schemas/DeprecatedOrderDeliveryTimeslotResponseSchema"},"shipping":{"$ref":"#/components/schemas/OrderDeliveryShippingResponseSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeprecatedDeliveryAddressResponseSchema":{"deprecated":true,"title":"DeprecatedDeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"DeprecatedOptionalUID":{"title":"DeprecatedOptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","deprecated":true},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"OrderItemDeliverResponseSchema":{"title":"OrderItemDeliverResponseSchema","type":"object","required":["deliveryItemUid","quantityDelivered","warehouseUid","warehouseName","tenantUserUid","tenantUserDisplayName"],"properties":{"deliveryItemUid":{"$ref":"#/components/schemas/UID"},"quantityDelivered":{"type":"integer"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string"}},"description":"tenantUserUid and tenantUserDisplayName contains the user that delivered the items"},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"DeprecatedOrderDeliveryTimeslotResponseSchema":{"deprecated":true,"title":"DeprecatedOrderDeliveryTimeslotResponseSchema","type":"object","required":["name","fromTime","toTime"],"properties":{"name":{"type":"string"},"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}},"OrderDeliveryShippingResponseSchema":{"title":"OrderDeliveryShippingResponseSchema","type":"object","required":["deliveryCustomerAddressUid","deliveryAddress","pickupPoint","trackingNumber","deliveryProviderUid","deliveryProviderMethodUid","deliveryProviderMethodTimeslotUid","timeslot","deliveryProviderProcessIndicator","freightOrderItemUid"],"properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressResponseSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointResponseSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotResponseSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"shippingId":{"type":"integer","format":"int64"}}},"DeliveryAddressResponseSchema":{"title":"DeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"OrderDeliveryPickupPointResponseSchema":{"title":"OrderDeliveryPickupPointResponseSchema","type":"object","required":["pickupPointId","pickupPointType","name","address","postalCode","city","countryCode"],"properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotResponseSchema":{"title":"OrderDeliveryTimeslotResponseSchema","type":"object","required":["name","fromTime","toTime"],"properties":{"name":{"type":"string"},"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The OrderDeliveryShippingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryShippingResponseSchema":{"title":"OrderDeliveryShippingResponseSchema","type":"object","required":["deliveryCustomerAddressUid","deliveryAddress","pickupPoint","trackingNumber","deliveryProviderUid","deliveryProviderMethodUid","deliveryProviderMethodTimeslotUid","timeslot","deliveryProviderProcessIndicator","freightOrderItemUid"],"properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressResponseSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointResponseSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotResponseSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"shippingId":{"type":"integer","format":"int64"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryAddressResponseSchema":{"title":"DeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OrderDeliveryPickupPointResponseSchema":{"title":"OrderDeliveryPickupPointResponseSchema","type":"object","required":["pickupPointId","pickupPointType","name","address","postalCode","city","countryCode"],"properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotResponseSchema":{"title":"OrderDeliveryTimeslotResponseSchema","type":"object","required":["name","fromTime","toTime"],"properties":{"name":{"type":"string"},"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The OrderDeliveryShippingRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryShippingRequestSchema":{"title":"OrderDeliveryShippingRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointRequestSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotRequestSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"freightPrice":{"type":"integer"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The DeliverySearchResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliverySearchResponseSchema":{"title":"DeliverySearchResponseSchema","type":"object","required":["createdAt","createdBy","deliveryUid","lastModifiedAt","lastModifiedBy","signature","note","deliveryAddress","deliveryState","deliveryDate","externalDeliveryReference","trackingNumber","deliveryProviderUid","deliveryProviderMethodUid","items","order","timeslot"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"deliveryUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"signature":{"type":"string"},"note":{"type":"string"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressResponseSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date","nullable":true},"externalDeliveryReference":{"type":"string"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemDeliverResponseSchema"}},"order":{"$ref":"#/components/schemas/AssociatedOrderSchema"},"timeslot":{"$ref":"#/components/schemas/AssociatedTimeslotSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeliveryAddressResponseSchema":{"title":"DeliveryAddressResponseSchema","allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"},{"required":["displayName","customerAddressUid","address","city","companyName","countryCode","email","mobile","firstname","lastname","postalCode"],"properties":{"displayName":{"type":"string"},"customerAddressUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"OrderItemDeliverResponseSchema":{"title":"OrderItemDeliverResponseSchema","type":"object","required":["deliveryItemUid","quantityDelivered","warehouseUid","warehouseName","tenantUserUid","tenantUserDisplayName"],"properties":{"deliveryItemUid":{"$ref":"#/components/schemas/UID"},"quantityDelivered":{"type":"integer"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string"}},"description":"tenantUserUid and tenantUserDisplayName contains the user that delivered the items"},"AssociatedOrderSchema":{"title":"AssociatedOrderSchema","type":"object","required":["orderUid","orderNumber","settleState","voucherNumber","storeUid","storeName","orderItems"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"voucherNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"orderItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}}}},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"AssociatedTimeslotSchema":{"title":"AssociatedTimeslotSchema","type":"object","required":["deliveryProviderMethodTimeslotUid","name"],"properties":{"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}}}}}
```

## The OrderDeliveryStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"}}}}
```

## The ReceiptStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Receipt not started. No complete settlements exists.|\n| IN_PROGRESS | Receipt is in progress. At least one settlement has been started.|\n| COMPLETE | Receipt is complete. Sum of settlements = sum of orderlines.|\n| CANCELED | Receipt is canceled. Can only be done if receiptState = NOT_STARTED. |","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"ReceiptStateENUM","type":"string"}}}}
```

## The OrderReceiptStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderReceiptStateENUM":{"description":"Rollup of the receipt's post-settlement tasks (gift card capture, digital\nproduct activation, loyalty, receipt printing, etc.).\n|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | No post-settlement tasks created yet.|\n| IN_PROGRESS | Tasks are still running; the receipt is not yet printable.|\n| READY | All critical tasks are done — the receipt is printable; non-critical tasks may still be running.|\n| COMPLETE | All tasks are done.|\n| FAILED | A critical task failed and needs attention.|","enum":["NOT_STARTED","IN_PROGRESS","READY","COMPLETE","FAILED"],"title":"OrderReceiptStateENUM","type":"string"}}}}
```

## The OrderReceiptTaskStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderReceiptTaskStatusENUM":{"description":"Status of a single post-settlement task.","enum":["PENDING","IN_PROGRESS","COMPLETE","FAILED","SKIPPED"],"title":"OrderReceiptTaskStatusENUM","type":"string"}}}}
```

## The OrderReceiptTaskTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderReceiptTaskTypeENUM":{"description":"The kind of post-settlement task. Mirrors the TaskType values in core.","enum":["LOYALTY_POINTS_SYNC","LOYALTY_POINTS_LINES","FLOWGIFTCARD_CAPTURE","FLOWGIFTCARD_DEPOSIT","BRITANNIA_GIFTCARD_CAPTURE","PAYEX_GIFTCARD_DEPOSIT","DIGITAL_PRODUCT_ACTIVATION","WAREHOUSE_STOCK_UPDATE","PRINT_RECEIPT","LOYALTY_DISCOUNT_SYNC","EHF_INVOICE_SEND"],"title":"OrderReceiptTaskTypeENUM","type":"string"}}}}
```

## The BasicOrderReceiptTaskSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BasicOrderReceiptTaskSchema":{"description":"A post-settlement task on a receipt in simplified form (type and status).","title":"BasicOrderReceiptTaskSchema","type":"object","required":["taskType","status"],"properties":{"taskType":{"$ref":"#/components/schemas/OrderReceiptTaskTypeENUM"},"status":{"$ref":"#/components/schemas/OrderReceiptTaskStatusENUM"}}},"OrderReceiptTaskTypeENUM":{"description":"The kind of post-settlement task. Mirrors the TaskType values in core.","enum":["LOYALTY_POINTS_SYNC","LOYALTY_POINTS_LINES","FLOWGIFTCARD_CAPTURE","FLOWGIFTCARD_DEPOSIT","BRITANNIA_GIFTCARD_CAPTURE","PAYEX_GIFTCARD_DEPOSIT","DIGITAL_PRODUCT_ACTIVATION","WAREHOUSE_STOCK_UPDATE","PRINT_RECEIPT","LOYALTY_DISCOUNT_SYNC","EHF_INVOICE_SEND"],"title":"OrderReceiptTaskTypeENUM","type":"string"},"OrderReceiptTaskStatusENUM":{"description":"Status of a single post-settlement task.","enum":["PENDING","IN_PROGRESS","COMPLETE","FAILED","SKIPPED"],"title":"OrderReceiptTaskStatusENUM","type":"string"}}}}
```

## The OrderReceiptTaskAttemptSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderReceiptTaskAttemptSchema":{"description":"One attempt at running a post-settlement task.","title":"OrderReceiptTaskAttemptSchema","type":"object","required":["attempt","timestamp","trigger","outcome"],"properties":{"attempt":{"type":"integer","description":"1-based attempt number."},"timestamp":{"type":"string","format":"date-time"},"triggeredBy":{"type":"string","description":"Who triggered the attempt — \"system\" on an automatic attempt, the tenant user on a manual retry."},"trigger":{"type":"string","description":"AUTO or MANUAL."},"outcome":{"type":"string","description":"COMPLETE, FAILED or SKIPPED."},"error":{"type":"string"},"response":{"type":"string","description":"Raw partner response / result summary."},"requestId":{"type":"string","description":"Correlates with flowretail.log / flow_http_client.log."}}}}}}
```

## The OrderReceiptTaskSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderReceiptTaskSchema":{"description":"A post-settlement task on a receipt in complete form, with its attempt history.","title":"OrderReceiptTaskSchema","type":"object","required":["orderReceiptTaskUid","taskType","status","attempts"],"properties":{"orderReceiptTaskUid":{"$ref":"#/components/schemas/UID"},"taskType":{"$ref":"#/components/schemas/OrderReceiptTaskTypeENUM"},"status":{"$ref":"#/components/schemas/OrderReceiptTaskStatusENUM"},"attempts":{"type":"array","items":{"$ref":"#/components/schemas/OrderReceiptTaskAttemptSchema"}},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderReceiptTaskTypeENUM":{"description":"The kind of post-settlement task. Mirrors the TaskType values in core.","enum":["LOYALTY_POINTS_SYNC","LOYALTY_POINTS_LINES","FLOWGIFTCARD_CAPTURE","FLOWGIFTCARD_DEPOSIT","BRITANNIA_GIFTCARD_CAPTURE","PAYEX_GIFTCARD_DEPOSIT","DIGITAL_PRODUCT_ACTIVATION","WAREHOUSE_STOCK_UPDATE","PRINT_RECEIPT","LOYALTY_DISCOUNT_SYNC","EHF_INVOICE_SEND"],"title":"OrderReceiptTaskTypeENUM","type":"string"},"OrderReceiptTaskStatusENUM":{"description":"Status of a single post-settlement task.","enum":["PENDING","IN_PROGRESS","COMPLETE","FAILED","SKIPPED"],"title":"OrderReceiptTaskStatusENUM","type":"string"},"OrderReceiptTaskAttemptSchema":{"description":"One attempt at running a post-settlement task.","title":"OrderReceiptTaskAttemptSchema","type":"object","required":["attempt","timestamp","trigger","outcome"],"properties":{"attempt":{"type":"integer","description":"1-based attempt number."},"timestamp":{"type":"string","format":"date-time"},"triggeredBy":{"type":"string","description":"Who triggered the attempt — \"system\" on an automatic attempt, the tenant user on a manual retry."},"trigger":{"type":"string","description":"AUTO or MANUAL."},"outcome":{"type":"string","description":"COMPLETE, FAILED or SKIPPED."},"error":{"type":"string"},"response":{"type":"string","description":"Raw partner response / result summary."},"requestId":{"type":"string","description":"Correlates with flowretail.log / flow_http_client.log."}}}}}}
```

## The OrderHandlingCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderHandlingCreateRequestSchema":{"title":"OrderHandlingCreateRequestSchema","type":"object","properties":{"handlingUid":{"$ref":"#/components/schemas/UID"},"orderHandlingUid":{"$ref":"#/components/schemas/UID"}},"required":["handlingUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderHandlingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderHandlingResponseSchema":{"properties":{"active":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"name":{"maxLength":20,"type":"string"},"orderHandlingUid":{"$ref":"#/components/schemas/UID"},"state":{"$ref":"#/components/schemas/HandlingStateENUM"}},"required":["orderHandlingUid","handlingUid","active","description","name","state","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderHandlingResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"}}}}
```

## The OrderHandlingUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderHandlingUpdateRequestSchema":{"title":"OrderHandlingUpdateRequestSchema","type":"object","properties":{"state":{"$ref":"#/components/schemas/HandlingStateENUM"},"comment":{"type":"string"}},"required":["state"]},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"}}}}
```

## The OrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"}}}}
```

## The OrderItemActionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemActionCreateRequestSchema":{"title":"OrderItemActionCreateRequestSchema","type":"object","properties":{"comment":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingUid":{"$ref":"#/components/schemas/UID"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["handlingActionUid","handlingUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemActionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemActionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemActionUpdateRequestSchema":{"properties":{"comment":{"type":"string"}},"required":["comment"],"title":"OrderItemActionUpdateRequestSchema","type":"object"}}}}
```

## The InterStorePurchaseOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStorePurchaseOrderResponseSchema":{"title":"InterStorePurchaseOrderResponseSchema","type":"object","description":"The buyer store's purchase order this sales order is coupled 1:1 to in inter-store\ntrade. Only present on the seller store's auto-created sales order.","required":["purchaseOrderUid","purchaseNumber","storeUid","storeName"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InterStoreSalesOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStoreSalesOrderResponseSchema":{"title":"InterStoreSalesOrderResponseSchema","type":"object","description":"The seller store's sales order auto-created from and coupled 1:1 to this purchase\norder in inter-store trade. Absent when the purchase order is not part of inter-store\ntrade.","required":["orderUid","orderNumber","orderState","storeUid","storeName"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"storeUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The seller store the coupled sales order belongs to."},"storeName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"}}}}
```

## The InterStoreSalesOrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStoreSalesOrderItemResponseSchema":{"title":"InterStoreSalesOrderItemResponseSchema","description":"The seller store's sales order line auto-created from and coupled 1:1 to this purchase\norder item in inter-store trade. Carries the same sales order fields as\nInterStoreSalesOrderResponseSchema plus the coupled line itself. Absent when the\npurchase order item is not part of inter-store trade.","allOf":[{"$ref":"#/components/schemas/InterStoreSalesOrderResponseSchema"},{"type":"object","required":["orderItemUid","reservationType","reservationDetails"],"properties":{"orderItemUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The coupled sales order line at the seller store."},"reservationType":{"allOf":[{"$ref":"#/components/schemas/SalesReservationTypeENUM"}],"description":"How the seller is covering its line, and the field to read first — it decides whether reservationDetails is worth looking at.\n`WAREHOUSE` — the seller has the goods in stock now. This is the normal state for a proactive inter-store purchase. The line may still name the purchase order the goods arrived on, kept as history — see reservationDetails.\n`PURCHASEORDER` — the goods are still on their way in to the seller, and reservationDetails.purchaseOrder carries the date this purchase order really depends on.\n`PURCHASEORDER_CONFIRMED` — the seller has a confirmed incoming shipment earmarked for the line, named by reservationDetails.receivement.\n`REQUEST_PURCHASEORDER` — the seller line is waiting for a purchase order that has not been placed yet.\n`NONE` — the seller line holds no reservation."},"reservationDetails":{"allOf":[{"$ref":"#/components/schemas/SalesReservationDetailsSchema"}],"description":"What the seller's line is itself waiting on — the same reservationDetails the seller sees on that line.\n**reservationType says what the line is waiting for; this object says what it is tied to.** They are not the same question, and on a `WAREHOUSE` line they have different answers.\nGoods that arrived keep the purchase order they came in on: the link is deliberately left in place so the sale can be traced back to the purchase it was covered by. So a `WAREHOUSE` line can carry a `purchaseOrder` whose `expectedDeliveryDate` is in the past — that date is a record of when the goods were expected, not a promise about a delivery still to come. Read a delivery date as pending only while reservationType says the line is still waiting for one.\n`purchaseOrder` is the seller's own incoming purchase order line, and its `expectedDeliveryDate` is the date this purchase order really depends on. `receivement` names an earmarked incoming shipment.\nA seller line that is itself sourced from a third store carries `interStorePurchaseOrder` here, which is how a chain of stores becomes visible to the store paying for it — the inter-store markup is applied at every hop. **The chain is only followed one step.** That third store's own reservationDetails is not carried, so this field never nests further than the seller immediately behind this purchase order line.\nNote that `warehouse` is never set, here or on a sales order line — a line's warehouse is reported by the sales line's own `warehouseUid` and `warehouseName`, which are not part of this object. Read reservationType for the stock case."}}}]},"InterStoreSalesOrderResponseSchema":{"title":"InterStoreSalesOrderResponseSchema","type":"object","description":"The seller store's sales order auto-created from and coupled 1:1 to this purchase\norder in inter-store trade. Absent when the purchase order is not part of inter-store\ntrade.","required":["orderUid","orderNumber","orderState","storeUid","storeName"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"storeUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The seller store the coupled sales order belongs to."},"storeName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The InterStorePurchaseSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStorePurchaseSearchSchema":{"title":"InterStorePurchaseSearchSchema","type":"object","description":"Search other stores' incoming purchase-order lines a buyer store can reserve against\n(inter-store trade). Usable from a sales order (POS) and from purchasing.","required":["productUid","storeUid"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The buyer store doing the lookup. Its own incoming lines are excluded."},"quantity":{"type":"integer","description":"If set, only lines with at least this quantity available are returned. In hundredths (100 = 1 unit)."},"supplierUids":{"type":"array","description":"If set, restrict to seller stores represented by these suppliers (purchasing mode, where a supplier is already chosen).","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InterStorePurchaseResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStorePurchaseResponseSchema":{"title":"InterStorePurchaseResponseSchema","type":"object","description":"Another store's incoming purchase-order line that a buyer-store sales order can\nreserve against (inter-store trade). All quantity fields on this schema are in\nhundredths (100 = 1 unit), matching the purchase-order quantity convention.","required":["sellerStoreUid","sellerStoreName","sellerPurchaseOrderUid","sellerPurchaseOrderNumber","sellerPurchaseOrderItemUid","status","productUid","productName","sku","quantityOrdered","quantityReceived","quantityReserved","quantityAvailable","unitPrice","note","receivements"],"properties":{"sellerStoreUid":{"$ref":"#/components/schemas/UID"},"sellerStoreName":{"type":"string"},"sellerPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderNumber":{"type":"string"},"sellerPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"status":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"sku":{"type":"string"},"quantityOrdered":{"type":"integer","description":"In hundredths (100 = 1 unit)."},"quantityReceived":{"type":"integer","description":"Already received on the seller line (relevant for PARTIALLY_RECEIVED), in hundredths (100 = 1 unit)."},"quantityReserved":{"type":"integer","description":"In hundredths (100 = 1 unit)."},"quantityAvailable":{"type":"integer","description":"Ordered − received − reserved, in hundredths (100 = 1 unit)."},"unitPrice":{"type":"integer","description":"The seller line's unit price incl. inter-store markup in minor units — the buyer store's cost of goods."},"note":{"type":"string","description":"The note the selling store wrote on its own purchase order line. Empty when there is none; the field is always present. It is the seller's own text, shown here so the buying store can see what was said about the goods it is reserving from."},"expectedDelivery":{"type":"string","format":"date-time"},"receivements":{"type":"array","description":"Every receivement on the seller line, whichever status it has — the shipments behind quantityReceived plus the ones still on their way. Read each entry's itemStatus to tell the two apart. Empty when the seller has registered none yet.","items":{"$ref":"#/components/schemas/InterStorePurchaseReceivementSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"InterStorePurchaseReceivementSchema":{"title":"InterStorePurchaseReceivementSchema","type":"object","description":"One receivement on the seller store's purchase order line — a single shipment from the\nseller's own supplier. A line can carry several at once, one per shipment, so quantity\nshows how the incoming amount is split rather than only its sum.\n\nTwo statuses, because they are set independently and answer different questions.\n`status` is the receivement document's own: what kind of shipment this is. `itemStatus`\nis this line's, and the one `quantityReceived` on the seller line is summed from — so\nthat is the one to read for \"has this quantity arrived\". They usually agree; nothing\nforces them to.","required":["status","itemStatus","expectedArrival","expectedDispatch","receivedAt","supplierOrderReference","quantity"],"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ReceivementStatusENUM"}],"description":"The receivement document's status. `CONFIRMED` means the shipment is earmarked and on its way; `RECEIVED` that the document has been receipted. `PENDING` and `UPDATING` mean the seller store is still registering it, so it may still change or be deleted — such a receivement is included here anyway, because its lines can already count towards the seller line's `quantityReceived`."},"itemStatus":{"allOf":[{"$ref":"#/components/schemas/ReceivementItemStatusENUM"}],"description":"This shipment line's own status. Read this, not `status`, to tell what has arrived from what is still on its way: `quantityReceived` on the seller line is the sum of the lines that are `RECEIVED`."},"expectedArrival":{"type":"string","format":"date-time","nullable":true,"description":"ETA. Null when nobody has set one — always the case for a receivement core created from an inter-store delivery, since core does not know when the transport lands."},"expectedDispatch":{"type":"string","format":"date-time","nullable":true,"description":"ETD. Null when the seller has not set one."},"receivedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the shipment actually landed at the seller store. Null until then."},"supplierOrderReference":{"type":"string","description":"The seller's supplier order this shipment belongs to."},"quantity":{"type":"integer","description":"The quantity in this shipment, in hundredths (100 = 1 unit)."}}},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementItemStatusENUM":{"title":"ReceivementItemStatusENUM","type":"string","description":"The status of a single line on a receivement, which is set independently of the\nreceivement's own status. `RECEIVED` is what a purchase order line's `quantityReceived`\nis summed from, so this — not the receivement status — is what says whether a given\nquantity has actually been counted in.","enum":["PENDING","UPDATING","RECEIVED"]}}}}
```

## The ReceivementItemStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementItemStatusENUM":{"title":"ReceivementItemStatusENUM","type":"string","description":"The status of a single line on a receivement, which is set independently of the\nreceivement's own status. `RECEIVED` is what a purchase order line's `quantityReceived`\nis summed from, so this — not the receivement status — is what says whether a given\nquantity has actually been counted in.","enum":["PENDING","UPDATING","RECEIVED"]}}}}
```

## The InterStorePurchaseReceivementSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStorePurchaseReceivementSchema":{"title":"InterStorePurchaseReceivementSchema","type":"object","description":"One receivement on the seller store's purchase order line — a single shipment from the\nseller's own supplier. A line can carry several at once, one per shipment, so quantity\nshows how the incoming amount is split rather than only its sum.\n\nTwo statuses, because they are set independently and answer different questions.\n`status` is the receivement document's own: what kind of shipment this is. `itemStatus`\nis this line's, and the one `quantityReceived` on the seller line is summed from — so\nthat is the one to read for \"has this quantity arrived\". They usually agree; nothing\nforces them to.","required":["status","itemStatus","expectedArrival","expectedDispatch","receivedAt","supplierOrderReference","quantity"],"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ReceivementStatusENUM"}],"description":"The receivement document's status. `CONFIRMED` means the shipment is earmarked and on its way; `RECEIVED` that the document has been receipted. `PENDING` and `UPDATING` mean the seller store is still registering it, so it may still change or be deleted — such a receivement is included here anyway, because its lines can already count towards the seller line's `quantityReceived`."},"itemStatus":{"allOf":[{"$ref":"#/components/schemas/ReceivementItemStatusENUM"}],"description":"This shipment line's own status. Read this, not `status`, to tell what has arrived from what is still on its way: `quantityReceived` on the seller line is the sum of the lines that are `RECEIVED`."},"expectedArrival":{"type":"string","format":"date-time","nullable":true,"description":"ETA. Null when nobody has set one — always the case for a receivement core created from an inter-store delivery, since core does not know when the transport lands."},"expectedDispatch":{"type":"string","format":"date-time","nullable":true,"description":"ETD. Null when the seller has not set one."},"receivedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the shipment actually landed at the seller store. Null until then."},"supplierOrderReference":{"type":"string","description":"The seller's supplier order this shipment belongs to."},"quantity":{"type":"integer","description":"The quantity in this shipment, in hundredths (100 = 1 unit)."}}},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementItemStatusENUM":{"title":"ReceivementItemStatusENUM","type":"string","description":"The status of a single line on a receivement, which is set independently of the\nreceivement's own status. `RECEIVED` is what a purchase order line's `quantityReceived`\nis summed from, so this — not the receivement status — is what says whether a given\nquantity has actually been counted in.","enum":["PENDING","UPDATING","RECEIVED"]}}}}
```

## The InterStoreReservationCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStoreReservationCreateSchema":{"title":"InterStoreReservationCreateSchema","type":"object","description":"Reserve a product on a buyer-store sales order against another store's incoming\npurchase order (inter-store trade). Creates a coupled purchase order at the buyer\nstore and a coupled sales order at the seller store.","required":["sellerStoreUid","sellerPurchaseOrderUid","sellerPurchaseOrderItemUid","quantity"],"properties":{"sellerStoreUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer","description":"Quantity to reserve, in hundredths (100 = 1 unit)."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InterStorePurchaseLineReservationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InterStorePurchaseLineReservationSchema":{"title":"InterStorePurchaseLineReservationSchema","type":"object","description":"Source an existing purchase-order line from another store's incoming purchase order\n(inter-store trade). The whole purchase-order line is coupled to the chosen seller\nline; there is no separate quantity.","required":["sellerStoreUid","sellerPurchaseOrderUid","sellerPurchaseOrderItemUid"],"properties":{"sellerStoreUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplyForecastSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplyForecastSearchSchema":{"title":"SupplyForecastSearchSchema","type":"object","description":"The products to ask about. All quantities are in hundredths (100 = 1 unit), matching\nthe rest of the API.","required":["products"],"properties":{"products":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SupplyForecastProductSchema"}}}},"SupplyForecastProductSchema":{"title":"SupplyForecastProductSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer","description":"How much to ask about, in hundredths (100 = 1 unit)."},"deliveryDate":{"type":"string","format":"date","description":"The date to ask about. Left out, the supplier is asked about a default a couple of days out — so a plain \"can I get this soon\" needs nothing here. Set it when the customer has named a date."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplyForecastProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplyForecastProductSchema":{"title":"SupplyForecastProductSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer","description":"How much to ask about, in hundredths (100 = 1 unit)."},"deliveryDate":{"type":"string","format":"date","description":"The date to ask about. Left out, the supplier is asked about a default a couple of days out — so a plain \"can I get this soon\" needs nothing here. Set it when the customer has named a date."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplyForecastItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplyForecastItemSchema":{"title":"SupplyForecastItemSchema","type":"object","description":"What the supplier will confirm for one product. Every product in the request comes back\nhere, in the same order, so a client can walk request and response side by side. A\nproduct the supplier recognises but will not confirm any quantity for comes back with\nquantity 0 and no date rather than being left out.\n\nAn article number the supplier does not recognise at all behaves differently: it fails\nthe whole request instead of coming back as a zero row, and it fails it for every other\nproduct in the same call. Send article numbers the supplier knows.","required":["productUid","confirmedQuantity","confirmedDate"],"properties":{"productUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The same value that was asked about, echoed back so the entry can be matched to the request without relying on order alone."},"confirmedQuantity":{"type":"integer","description":"How much the supplier commits to, in hundredths (100 = 1 unit). Can be less than was asked for, and is 0 when the supplier commits to nothing."},"confirmedDate":{"type":"string","format":"date","nullable":true,"description":"When the confirmed quantity is available. Null when there is nothing to confirm, which is the only case where it is null — so a non-zero confirmedQuantity always carries a date."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemCreateSchema":{"title":"OrderItemCreateSchema","type":"object","required":["productUid"],"properties":{"discountReasonCode":{"type":"string"},"externalId":{"description":"External reference to order line","type":"string"},"itemDiscountAmount":{"type":"integer"},"itemDiscountPercentage":{"description":"Used to calculate itemDiscountAmount.","type":"integer"},"itemPrice":{"type":"integer"},"note":{"type":"string"},"orderItemLink":{"$ref":"#/components/schemas/OrderItemLinkSchema"},"productUid":{"$ref":"#/components/schemas/UID"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}},"quantityOrdered":{"type":"integer"},"reserveStock":{"default":false,"description":"Set this to true to only resevere the stock from the warehouse when the order is settled.","type":"boolean","deprecated":true},"deliveryUid":{"$ref":"#/components/schemas/UID"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"description":"Product SKU","type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"orderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"sortOrder":{"type":"integer"},"itemCostPrice":{"type":"integer","description":"When a product has orderSpecificCost=true: Can set costPrice on the orderItem\nIf itemCostPrice is set and orderSpecificCost=false for the product, an error is returned"},"productName":{"type":"string","description":"When a product has orderSpecificName=true: Can set productName on the orderItem\nIf itemCostPrice is set and orderSpecificName=false for the product, an error is returned"}}},"OrderItemLinkSchema":{"description":"OrderItemLinkSchema","title":"OrderItemLinkSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/OrderLinkTypeRequestENUM"},"orderItemUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","orderItemUid"]},"OrderLinkTypeRequestENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link   |\n| INSURANCE | Reference to the orderline with the product to insure |\n| COMPENSATION | Reference to the orderline with the product to compensate |\n| SERVICE | Reference to orderline with service product |\n| FREIGHT_SERVICE | Reference to orderline with freight service product |","enum":["CREDIT","INSURANCE","COMPENSATION","SERVICE","FREIGHT_SERVICE"],"title":"OrderLinkTypeRequestENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The OrderItemDeliverRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemDeliverRequestSchema":{"title":"OrderItemDeliverRequestSchema","type":"object","properties":{"deliveryUid":{"$ref":"#/components/schemas/UID"},"quantityDelivered":{"type":"integer"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"deliveryItemUid":{"$ref":"#/components/schemas/UID"}},"required":["deliveryUid","quantityDelivered","warehouseUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemDeliverResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemDeliverResponseSchema":{"title":"OrderItemDeliverResponseSchema","type":"object","required":["deliveryItemUid","quantityDelivered","warehouseUid","warehouseName","tenantUserUid","tenantUserDisplayName"],"properties":{"deliveryItemUid":{"$ref":"#/components/schemas/UID"},"quantityDelivered":{"type":"integer"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string"}},"description":"tenantUserUid and tenantUserDisplayName contains the user that delivered the items"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The OrderItemLinkSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemLinkSchema":{"description":"OrderItemLinkSchema","title":"OrderItemLinkSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/OrderLinkTypeRequestENUM"},"orderItemUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","orderItemUid"]},"OrderLinkTypeRequestENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link   |\n| INSURANCE | Reference to the orderline with the product to insure |\n| COMPENSATION | Reference to the orderline with the product to compensate |\n| SERVICE | Reference to orderline with service product |\n| FREIGHT_SERVICE | Reference to orderline with freight service product |","enum":["CREDIT","INSURANCE","COMPENSATION","SERVICE","FREIGHT_SERVICE"],"title":"OrderLinkTypeRequestENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemUpdateSchema":{"title":"OrderItemUpdateSchema","type":"object","properties":{"discountReasonCode":{"type":"string"},"externalId":{"description":"External reference to order line","type":"string"},"itemDiscountAmount":{"type":"integer"},"itemDiscountPercentage":{"description":"Used to calculate itemDiscountAmount.","type":"integer"},"itemPrice":{"type":"integer"},"note":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}},"quantityOrdered":{"type":"integer"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"sortOrder":{"type":"integer"},"itemCostPrice":{"type":"integer","description":"When a product has orderSpecificCost=true: Can set costPrice on the orderItem\nIf itemCostPrice is set and orderSpecificCost=false for the product, an error is returned"},"productName":{"type":"string","description":"When a product has orderSpecificName=true: Can set productName on the orderItem\nIf itemCostPrice is set and orderSpecificName=false for the product, an error is returned"}}},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The OrderLinkTypeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"}}}}
```

## The PurchaseOrderItemLinkSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemLinkSchema":{"description":"Order reference for an order product item","title":"PurchaseOrderItemLinkSchema","type":"object","required":["purchaseOrderItemUid","type"],"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/PurchaseOrderLinkTypeResponseENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseOrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n","enum":["PACKAGE","PACKAGE_COMPONENT"],"title":"PurchaseOrderLinkTypeResponseENUM","type":"string"}}}}
```

## The OrderLinkTypeResponseENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"}}}}
```

## The PurchaseOrderLinkTypeResponseENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n","enum":["PACKAGE","PACKAGE_COMPONENT"],"title":"PurchaseOrderLinkTypeResponseENUM","type":"string"}}}}
```

## The OrderLinkTypeRequestENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderLinkTypeRequestENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link   |\n| INSURANCE | Reference to the orderline with the product to insure |\n| COMPENSATION | Reference to the orderline with the product to compensate |\n| SERVICE | Reference to orderline with service product |\n| FREIGHT_SERVICE | Reference to orderline with freight service product |","enum":["CREDIT","INSURANCE","COMPENSATION","SERVICE","FREIGHT_SERVICE"],"title":"OrderLinkTypeRequestENUM","type":"string"}}}}
```

## The OrderOrderStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"}}}}
```

## The OrderProductLinePropertyResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"}}}}
```

## The OrderProductLinePropertySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"}}}}
```

## The OrderSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSearchSchema":{"description":"Search for orders. \n\nOnly one of the keys in the search object will be used in a search. \n\nIf more than one key is supplied the keys will be used in the priorty of how they appear in the object. \nExample: query will be used first if it is supplied, if it is not supplied the customer key will be used, and so on.\n\nAn empty string will be ignored, and handeled as if the key did not exist in the payload.\n\nFuzzy search means that it will try to find words that contains the query string that is supplied. \nExample: If you search for \"Ol\" you will get \"Olsen\", \"Olstad\", \"Bolset\", \"Ormebol\", etc ..","title":"OrderSearchSchema","type":"object","properties":{"customerQuery":{"description":"Search for orders containting this customer. The customer can be specific by firstname, lastname, phonenumber or email. This is a fuzzy search.","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"fromDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtFrom":{"format":"date-time","type":"string"},"settledAtFrom":{"format":"date-time","type":"string"},"lastModifiedAtFrom":{"format":"date-time","type":"string"},"orderNumber":{"description":"Search for an order with a specific ordernumber. This is an exact lookup","type":"string"},"productSku":{"description":"Search for orders containing the product. This must be a SKU and is an exact lookup.","type":"string"},"query":{"description":"General query string. Use to search for orders where the server decided the query conditions.\nThis is a fuzzy search.","type":"string"},"toDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtTo":{"format":"date-time","type":"string"},"settledAtTo":{"format":"date-time","type":"string"},"lastModifiedAtTo":{"format":"date-time","type":"string"},"tenantUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderHandlingStates":{"type":"array","items":{"$ref":"#/components/schemas/HandlingStateENUM"}},"orderHandlingUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderStates":{"type":"array","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}},"settleStates":{"type":"array","items":{"$ref":"#/components/schemas/OrderSettleStateENUM"}},"deliveryStates":{"type":"array","description":"Reference to an array of deliveryStates.","items":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"}},"orderStatuses":{"type":"array","description":"Reference to a list of orderStatuses.","items":{"$ref":"#/components/schemas/OrderStatusENUM"}},"orderTypes":{"type":"array","description":"Reference to a list of orderTypes","items":{"$ref":"#/components/schemas/OrderTypeENUM"}},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"tenantPaymentMethodUids":{"type":"array","description":"Search for order containing one of the specified payment methods.","items":{"$ref":"#/components/schemas/UID"}},"reservationTypes":{"type":"array","items":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}},"isCustomerOrder":{"type":"boolean","description":"If true, returns orders with orderlines that has either reservationType='REQUEST_PURCHASEORDER' or has a link to a purchaseOrder item"},"hasReservedLines":{"type":"boolean","description":"When true, the search returns only orders that include at least one order line with a reservation (reservedQuantity <> 0).\nWhen omitted or false, reservation state does not affect the results."},"amountRange":{"$ref":"#/components/schemas/AmountRangeSchema"},"orderDateFrom":{"type":"string","format":"date-time"},"orderDateTo":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| DELIVERED | Order is completely delivered|\n| READY_FOR_DELIVERY | Order is settled and ready to be delivered|\n| UNPAID | Order is settled with settlementCode INVOICE and is not fully paid|\n| CONFIRMED | Order is confirmed|","enum":["OPEN","PARKED","CANCELED","READY_FOR_DELIVERY","DELIVERED","UNPAID","CONFIRMED"],"title":"OrderStatusENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The TenantPurchaseOrderSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPurchaseOrderSearchSchema":{"title":"TenantPurchaseOrderSearchSchema","type":"object","properties":{"fromDateTime":{"format":"date-time","type":"string","deprecated":true,"description":"Deprecated. Use `createdAt`."},"toDateTime":{"format":"date-time","type":"string","deprecated":true,"description":"Deprecated. Use `createdAt`."},"createdAt":{"$ref":"#/components/schemas/DateTimeRangeSchema"},"orderStatuses":{"type":"array","description":"Reference to a list of orderStatuses.","items":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"}},"storeUids":{"type":"array","description":"Reference to a list of storeUids","items":{"$ref":"#/components/schemas/UID"}},"organizationUids":{"type":"array","description":"Reference to a list of organizationUids","items":{"$ref":"#/components/schemas/UID"}},"supplierUid":{"$ref":"#/components/schemas/UID"},"query":{"type":"string"},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"hasConfirmedReceivements":{"type":"boolean"}}},"DateTimeRangeSchema":{"title":"DateTimeRangeSchema","type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantOrderSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantOrderSearchSchema":{"description":"Search for orders in all stores on tenant. \n\nAn empty string will be ignored, and handled as if the key did not exist in the payload.\n\nFuzzy search means that it will try to find words that contains the query string that is supplied. The search is case-insensitive. \nExample: If you search for \"Ol\" you will get \"Olsen\", \"Olstad\", \"Bolset\", \"Ormebol\", kolstad@example.com, etc ..","title":"TenantOrderSearchSchema","type":"object","properties":{"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"organizationUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"customerQuery":{"description":"Search for orders containting this customer. The customer can be specific by firstname, lastname, phonenumber or email. This is a fuzzy search.","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"fromDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtFrom":{"format":"date-time","type":"string"},"settledAtFrom":{"format":"date-time","type":"string"},"lastModifiedAtFrom":{"format":"date-time","type":"string"},"orderNumber":{"description":"Search for an order with a specific ordernumber. This is an exact lookup","type":"string"},"externalOrderNumber":{"description":"Search for an order with a specific externalOrderNumber. This is an exact lookup","type":"string"},"externalVoucherNumber":{"description":"Search for an order with a specific externalVouchermber. This is an exact lookup","type":"string","deprecated":true},"externalIdKey":{"description":"Search for orders with an external ID for the given key. Must be used together with externalIdValue.","type":"string"},"externalIdValue":{"description":"Exact match on external ID value for the given externalIdKey.","type":"string"},"productSku":{"description":"Search for orders containing the product. This must be a SKU and is an exact lookup.","type":"string"},"toDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtTo":{"format":"date-time","type":"string"},"settledAtTo":{"format":"date-time","type":"string"},"lastModifiedAtTo":{"format":"date-time","type":"string"},"tenantUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderStates":{"type":"array","description":"Reference to a list of orderStates.","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}},"settleStates":{"type":"array","description":"Reference to a list of settleStates.","items":{"$ref":"#/components/schemas/OrderSettleStateENUM"}},"deliveryStates":{"type":"array","description":"Reference to an array of deliveryStates.","items":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"}},"orderStatuses":{"type":"array","description":"Reference to a list of orderStatuses.","items":{"$ref":"#/components/schemas/OrderStatusENUM"}},"orderTypes":{"type":"array","description":"Reference to a list of orderTypes","items":{"$ref":"#/components/schemas/OrderTypeENUM"}},"orderHandlingStates":{"type":"array","items":{"$ref":"#/components/schemas/HandlingStateENUM"}},"orderHandlingUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"deliverFromStoreUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"query":{"type":"string","description":"General fuzzy search."},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"tenantPaymentMethodUids":{"type":"array","description":"Search for order containing one of the specified payment methods.","items":{"$ref":"#/components/schemas/UID"}},"reservationTypes":{"type":"array","items":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}},"isCustomerOrder":{"type":"boolean","description":"If true, returns orders with orderlines that has either reservationType='REQUEST_PURCHASEORDER' or has a link to a purchaseOrder item"},"hasReservedLines":{"type":"boolean","description":"When true, the search returns only orders that include at least one order line with a reservation (reservedQuantity <> 0).\nWhen omitted or false, reservation state does not affect the results."},"amountRange":{"$ref":"#/components/schemas/AmountRangeSchema"},"orderDateFrom":{"type":"string","format":"date-time"},"orderDateTo":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| DELIVERED | Order is completely delivered|\n| READY_FOR_DELIVERY | Order is settled and ready to be delivered|\n| UNPAID | Order is settled with settlementCode INVOICE and is not fully paid|\n| CONFIRMED | Order is confirmed|","enum":["OPEN","PARKED","CANCELED","READY_FOR_DELIVERY","DELIVERED","UNPAID","CONFIRMED"],"title":"OrderStatusENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The TenantOrderReceiptSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantOrderReceiptSearchSchema":{"description":"Search for order receipts in all stores on tenant. \n\nAn empty string will be ignored, and handled as if the key did not exist in the payload.\n\nFuzzy search means that it will try to find words that contains the query string that is supplied. The search is case-insensitive. \nExample: If you search for \"Ol\" you will get \"Olsen\", \"Olstad\", \"Bolset\", \"Ormebol\", kolstad@example.com, etc ..","title":"TenantOrderReceiptSearchSchema","type":"object","properties":{"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"organizationUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"customerQuery":{"description":"Search for orders containting this customer. The customer can be specific by firstname, lastname, phonenumber or email. This is a fuzzy search.","type":"string"},"customerUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"settledAtFrom":{"format":"date-time","type":"string"},"orderNumber":{"description":"Search for an order receipt on an order with a specific ordernumber. This is an exact lookup","type":"string"},"voucherNumber":{"description":"Deprecated: Use voucherNumbers instead.","type":"string","deprecated":true},"voucherNumbers":{"description":"Search for multiple order receipts by voucher numbers. This is an exact lookup","type":"array","items":{"type":"string"}},"productSkus":{"description":"Search for order receipts containing the products. These must be SKUs and is an exact lookup.","type":"array","items":{"$ref":"#/components/schemas/UID"}},"tenantPaymentMethodUids":{"description":"Search for order receipts containing one of the specified payment methods.","type":"array","items":{"$ref":"#/components/schemas/UID"}},"settledAtTo":{"format":"date-time","type":"string"},"tenantUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"deliveryStates":{"type":"array","description":"Reference to an array of deliveryStates.","items":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"}},"orderReceiptStates":{"type":"array","description":"Filter receipts by the rollup state of their post-settlement tasks. Use FAILED to find receipts that need attention.","items":{"$ref":"#/components/schemas/OrderReceiptStateENUM"}},"query":{"type":"string","description":"General fuzzy search."},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"amountRange":{"$ref":"#/components/schemas/AmountRangeSchema"},"hasUnpaidInvoices":{"type":"boolean","description":"When this is set to true, only unpaid receipts/invoices will be in the response."},"settlementExternalPaymentReferences":{"type":"array","description":"Search for receipts with settlement with the specified external payment reference.","items":{"type":"string"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderReceiptStateENUM":{"description":"Rollup of the receipt's post-settlement tasks (gift card capture, digital\nproduct activation, loyalty, receipt printing, etc.).\n|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | No post-settlement tasks created yet.|\n| IN_PROGRESS | Tasks are still running; the receipt is not yet printable.|\n| READY | All critical tasks are done — the receipt is printable; non-critical tasks may still be running.|\n| COMPLETE | All tasks are done.|\n| FAILED | A critical task failed and needs attention.|","enum":["NOT_STARTED","IN_PROGRESS","READY","COMPLETE","FAILED"],"title":"OrderReceiptStateENUM","type":"string"},"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The OrderSettleStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"}}}}
```

## The OrderSettlementCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSettlementCreateSchema":{"description":"Create a new settlement","title":"OrderSettlementCreateSchema","type":"object","required":["amount","storePaymentMethodUid"],"properties":{"amount":{"description":"in cents, e.g. 1,50 as 150","type":"integer"},"deviceIdentifier":{"type":"string"},"externalId":{"description":"External reference for the settlement","type":"string"},"parameters":{"description":"Refer to each payment type's options for available parameters, e.g. 'mobile' for VIPPS.","type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}},"storePaymentMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"settlementUid":{"$ref":"#/components/schemas/UID"}}},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderSettlementUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSettlementUpdateSchema":{"description":"Update settlement details","title":"OrderSettlementUpdateSchema","type":"object","properties":{"externalId":{"description":"External reference for the settlement","type":"string"},"parameters":{"description":"Refer to each payment type's options for available parameters, e.g. 'mobile' for VIPPS.","type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}}}},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}}}}}
```

## The SettlementCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementCreateRequestSchema":{"description":"Create a new settlement","title":"SettlementCreateRequestSchema","type":"object","required":["amount","settlementCode"],"properties":{"amount":{"description":"in cents, e.g. 1,50 as 150","type":"integer"},"externalId":{"description":"External reference for the settlement","type":"string"},"settlementCode":{"type":"string"},"parameters":{"description":"Refer to each payment type's options for available parameters, e.g. 'mobile' for VIPPS.","type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}},"settlementUid":{"$ref":"#/components/schemas/UID"}}},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SettlementRefundCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementRefundCreateRequestSchema":{"description":"Create a new settlement refund","title":"SettlementRefundCreateRequestSchema","type":"object","required":["amount","settlementCode","referencingSettlementUid"],"properties":{"amount":{"description":"in cents, e.g. 1,50 as 150","type":"integer"},"externalId":{"description":"External reference for the settlement","type":"string"},"settlementCode":{"type":"string"},"parameters":{"description":"Refer to each payment type's options for available parameters, e.g. 'mobile' for VIPPS.","type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}},"settlementUid":{"description":"The settlement uid","$ref":"#/components/schemas/UID"},"referencingSettlementUid":{"description":"The settlement that is being refunded","$ref":"#/components/schemas/UID"}}},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderSettlementImportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSettlementImportSchema":{"description":"Create a new settlement from external source.\nLegal paymentMethods: PAYMENT_GATEWAY, INVOICE, ROUNDING and all EXTERNAL payment methods\n","title":"OrderSettlementImportSchema","type":"object","required":["amount"],"properties":{"amount":{"description":"Amount to settle in øre","type":"integer"},"externalId":{"description":"External reference for the settlement","type":"string"},"externalPaymentReference":{"description":"Reference to payment, ex: reference to an Adyen payment id. Possible use: Refund directly from Flow Retail","type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settledAt":{"format":"date-time","type":"string"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterRequestSchema"}},"settlementCode":{"type":"string","description":"If storePaymentMethodUid is not set in the request, this value will be used to find the storePaymentMethod"},"status":{"allOf":[{"$ref":"#/components/schemas/OrderImportSettlementStatusENUM"}],"default":"CAPTURED"},"storeSettlementIssuer":{"$ref":"#/components/schemas/OrderImportStoreSettlementIssuerSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"OrderImportSettlementStatusENUM":{"title":"OrderImportSettlementStatusENUM","type":"string","enum":["AUTHORIZED","CAPTURED"]},"OrderImportStoreSettlementIssuerSchema":{"title":"OrderImportStoreSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["name","code"],"properties":{"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}}}}}
```

## The OrderSettlementTotalsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderSettlementTotalsSchema":{"title":"OrderSettlementTotalsSchema","type":"object","required":["change","remaining","remainingRounded","totals","remainingPrePayment","remainingAuthorizedAmount"],"properties":{"change":{"description":"Total change amount returned to customer.","type":"integer"},"remaining":{"type":"integer","description":"Remaining amount to be paid "},"remainingRounded":{"description":"Rounded value of remaining amount. For use with CASH","type":"integer"},"totals":{"type":"integer","description":"Sum of all approved settlements"},"remainingPrePayment":{"type":"integer"},"remainingAuthorizedAmount":{"type":"integer","description":"Authorized amount available for capture."}}}}}}
```

## The OrderStatusChangeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderStatusChangeSchema":{"description":"","properties":{"status":{"$ref":"#/components/schemas/OrderChangeStatusENUM"}},"required":["status"],"title":"OrderStatusChangeSchema","type":"object"},"OrderChangeStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN    | Set order in state open, to be able to edit it.|\n| PARKED  | Set order in state parked.|\n| CONFIRMED  | Set order in state confirmed.|","enum":["PARKED","OPEN","CONFIRMED"],"title":"OrderChangeStatusENUM","type":"string"}}}}
```

## The OrderStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| DELIVERED | Order is completely delivered|\n| READY_FOR_DELIVERY | Order is settled and ready to be delivered|\n| UNPAID | Order is settled with settlementCode INVOICE and is not fully paid|\n| CONFIRMED | Order is confirmed|","enum":["OPEN","PARKED","CANCELED","READY_FOR_DELIVERY","DELIVERED","UNPAID","CONFIRMED"],"title":"OrderStatusENUM","type":"string"}}}}
```

## The AssetCategoryENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssetCategoryENUM":{"title":"AssetCategoryENUM","enum":["BRANDING","SERVICE","REPORT","OTHER"],"type":"string"}}}}
```

## The AssetResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssetResponseSchema":{"title":"AssetResponseSchema","allOf":[{"required":["assetUid","name","description","category","isPublic","publicUrl","mimeType","size","serviceOrderUids"],"properties":{"assetUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"category":{"$ref":"#/components/schemas/AssetCategoryENUM"},"isPublic":{"type":"boolean"},"publicUrl":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"string"},"serviceOrderUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}],"type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"AssetCategoryENUM":{"title":"AssetCategoryENUM","enum":["BRANDING","SERVICE","REPORT","OTHER"],"type":"string"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The OrderTotalsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderTotalsResponseSchema":{"description":"","properties":{"costTotal":{"type":"integer"},"grandTotal":{"type":"integer"},"grossProfitAmount":{"description":"Sum of all totalGrossProfitAmount on each product item.","type":"integer"},"grossProfitPercentage":{"description":"","type":"integer"},"specifiedVat":{"items":{"$ref":"#/components/schemas/OrderTotalsVatSpecificationSchema"},"type":"array"},"subtotal":{"type":"integer"},"totalDiscount":{"type":"integer"},"totalVat":{"type":"integer"}},"required":["subtotal","totalDiscount","specifiedVat","totalVat","grandTotal","grossProfitAmount","grossProfitPercentage","costTotal"],"title":"OrderTotals","type":"object"},"OrderTotalsVatSpecificationSchema":{"description":"","properties":{"vatAmount":{"description":"Total amount with this vatRate.","type":"integer"},"vatDescription":{"description":"Description of vat rate.","type":"string"},"vatRate":{"description":"VatRate in percentage.","type":"integer"}},"required":["vatRate","vatAmount","vatDescription"],"title":"OrderTotalsVatSpecificationSchema","type":"object"}}}}
```

## The OrderTotalsImportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderTotalsImportSchema":{"description":"","properties":{"grandTotal":{"type":"integer"},"totalDiscount":{"type":"integer"},"totalVat":{"type":"integer"}},"required":["grandTotal"],"title":"OrderTotalsImportSchema","type":"object"}}}}
```

## The OrderTotalsVatSpecificationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderTotalsVatSpecificationSchema":{"description":"","properties":{"vatAmount":{"description":"Total amount with this vatRate.","type":"integer"},"vatDescription":{"description":"Description of vat rate.","type":"string"},"vatRate":{"description":"VatRate in percentage.","type":"integer"}},"required":["vatRate","vatAmount","vatDescription"],"title":"OrderTotalsVatSpecificationSchema","type":"object"}}}}
```

## The OrderTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"}}}}
```

## The Paging object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"Paging":{"description":"totalCount The total number of items in the result set.\n\npageSize The number of items per page.\n\npageNumber The current page in the result set.","properties":{"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"}},"required":["totalCount","pageSize","pageNumber"],"title":"Paging","type":"object"}}}}
```

## The PayexCallbackDataSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PayexCallbackDataSchema":{"title":"PayexCallbackDataSchema","properties":{"account_option":{"type":"integer"},"acquirer_institution_short":{"type":"string"},"additional_data_p44":{"type":"string"},"additional_data_p62":{"type":"string"},"additional_data_rsp_p44":{"type":"string"},"additional_data_rsp_p48":{"type":"string"},"agreement_number":{"type":"string"},"aid":{"type":"string"},"aip":{"type":"string"},"amount_authorized":{"type":"integer"},"amount_other":{"type":"integer"},"amount_surcharge":{"type":"integer"},"app_cryptogram":{"type":"string"},"app_effective_date":{"type":"string"},"app_transaction_counter":{"type":"string"},"arn":{"type":"string"},"authorization_code":{"type":"string"},"authorization_method":{"type":"string"},"backlight_intensity":{"type":"string"},"cancel_response":{"type":"boolean"},"card_acceptor_id":{"type":"string"},"card_expiry_date":{"type":"string"},"card_token":{"type":"string"},"card_tokens_request":{"type":"boolean"},"cardholder_id_text":{"type":"string"},"cardholder_language":{"type":"string"},"cardholder_signature_text":{"type":"string"},"cashier_id":{"type":"integer"},"chip_app_version_number":{"type":"string"},"chip_last_online_atc":{"type":"string"},"cless_ott":{"type":"string"},"cless_ready":{"type":"string"},"cless_uid":{"type":"string"},"currency_code":{"type":"string"},"cvr":{"type":"string"},"dankort_ble_transaction":{"type":"boolean"},"dialog_input":{"type":"string"},"display_message":{"type":"integer"},"echo_data":{"type":"string"},"ecr_text":{"type":"string"},"ecr_text_align":{"type":"integer"},"ecr_text_fixed_width":{"type":"boolean"},"ecr_text_font":{"type":"integer"},"entry_mode":{"type":"string"},"event_id":{"type":"integer"},"event_text":{"type":"string"},"fallback":{"type":"boolean"},"file_to_send":{"type":"integer"},"flash_free_size":{"type":"string"},"flash_total_size":{"type":"string"},"forced_online":{"type":"boolean"},"host_issuer_id":{"type":"string"},"host_issuer_id_as_int":{"type":"integer"},"id_method":{"type":"string"},"insert_card_message":{"type":"integer"},"is_gambling_transaction":{"type":"boolean"},"issuer_application_data":{"type":"string"},"issuer_card_name":{"type":"string"},"issuer_id":{"type":"string"},"issuer_id_as_int":{"type":"integer"},"max_input_length":{"type":"integer"},"merchant_name_and_location":{"type":"string"},"mockup":{"type":"boolean"},"model":{"type":"string"},"offline_count":{"type":"integer"},"offline_first_datetime":{"type":"string"},"offline_total_amount":{"type":"integer"},"online":{"type":"boolean"},"os_sdk_version":{"type":"string"},"pan":{"type":"string"},"pan_sequence_number":{"type":"string"},"payment_application_name":{"type":"string"},"pci_version":{"type":"string"},"phone_number":{"type":"string"},"pos_entry_mode":{"type":"string"},"posref":{"type":"string"},"primary_card_token":{"type":"string"},"printer_status":{"type":"integer"},"read_card_id":{"type":"integer"},"receipt_printing":{"type":"boolean"},"receipt_string_customer":{"type":"string"},"receipt_string_merchant":{"type":"string"},"receipt_strings":{"type":"string"},"recurring":{"type":"boolean"},"response_code":{"type":"string"},"retrieval_reference_number":{"type":"string"},"secondary_card_token":{"type":"string"},"serial":{"type":"string"},"session_number":{"type":"string"},"software_branch":{"type":"string"},"software_changeset":{"type":"string"},"software_date":{"type":"string"},"software_version_name":{"type":"string"},"stan":{"type":"string"},"stc_loyalty":{"type":"string"},"supermerchant_operator_id":{"type":"string"},"surcharge_flat_fee":{"type":"integer"},"surcharge_percent":{"type":"integer"},"terminal_datetime":{"type":"string"},"terminal_id":{"type":"string"},"timespan_end":{"type":"string"},"timespan_start":{"type":"string"},"tip_amount":{"type":"integer"},"tms_to_use":{"type":"integer"},"tms_update_result":{"type":"integer"},"track_1":{"type":"string"},"track_1_discretionary":{"type":"string"},"track_2":{"type":"string"},"track_2_equivalent":{"type":"string"},"track_3":{"type":"string"},"transaction_date":{"type":"string"},"transaction_status":{"type":"integer"},"transaction_time":{"type":"string"},"transaction_type":{"type":"string"},"tsi":{"type":"string"},"tvr":{"type":"string"},"upc":{"type":"string"},"vat_amount":{"type":"integer"}}}}}}
```

## The PayexCallbackReceiptSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PayexCallbackReceiptSchema":{"title":"PayexCallbackReceiptSchema","properties":{"agreement_name":{"type":"string"},"agreement_number":{"type":"string"},"app_effective_date":{"type":"string"},"app_transaction_counter":{"type":"string"},"authorization_method":{"type":"string"},"base_amount_receipt":{"type":"string"},"bax":{"type":"string"},"bax_sign_text":{"type":"string"},"cardholder_id_text":{"type":"string"},"cardholder_signature_text":{"type":"string"},"cardholder_string":{"type":"string"},"cash_amount_receipt":{"type":"string"},"cashback_text_customer":{"type":"string"},"cashback_text_merchant":{"type":"string"},"cashier_signature_text":{"type":"string"},"chip_last_online_atc":{"type":"string"},"cless_indication_label":{"type":"string"},"currency_text":{"type":"string"},"dankort_ble_wallet":{"type":"string"},"footer_msg_customer":{"type":"string"},"footer_msg_merchant":{"type":"string"},"id_method":{"type":"string"},"is_copy_text_customer":{"type":"string"},"is_copy_text_merchant":{"type":"string"},"merchant_id":{"type":"string"},"merchant_id_customer_text":{"type":"string"},"merchant_id_merchant_text":{"type":"string"},"online":{"type":"string"},"pan_customer":{"type":"string"},"pan_entry_mode":{"type":"string"},"pan_merchant":{"type":"string"},"ref_bax_receipt":{"type":"string"},"response_code":{"type":"string"},"retrieval_reference_number":{"type":"string"},"save_receipt_customer":{"type":"string"},"save_receipt_merchant":{"type":"string"},"stan":{"type":"string"},"surcharge_amount_receipt":{"type":"string"},"surcharge_text_customer":{"type":"string"},"surcharge_text_merchant":{"type":"string"},"terminal_id":{"type":"string"},"terminal_id_customer_text":{"type":"string"},"terminal_id_merchant_text":{"type":"string"},"tip_amount_receipt":{"type":"string"},"tip_text_customer":{"type":"string"},"tip_text_merchant":{"type":"string"},"total_amount_receipt":{"type":"string"},"total_text_customer":{"type":"string"},"total_text_merchant":{"type":"string"},"transaction_date":{"type":"string"},"transaction_name":{"type":"string"},"transaction_name_customer":{"type":"string"},"transaction_name_merchant":{"type":"string"},"transaction_time":{"type":"string"},"trx_status_customer":{"type":"string"},"trx_status_desc_customer":{"type":"string"},"trx_status_desc_merchant":{"type":"string"},"trx_status_merchant":{"type":"string"},"tsi":{"type":"string"},"tvr":{"type":"string"},"user_text_customer":{"type":"string"},"user_text_merchant":{"type":"string"}},"type":"object"}}}}
```

## The PayexCallbackReceiptStringsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PayexCallbackReceiptStringsSchema":{"title":"PayexCallbackReceiptStringsSchema","properties":{"receipt_string_customer":{"type":"string"},"receipt_string_merchant":{"type":"string"}},"type":"object"}}}}
```

## The PayexCallbackSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PayexCallbackSchema":{"title":"PayexCallbackSchema","properties":{"data":{"$ref":"#/components/schemas/PayexCallbackDataSchema"},"message_type":{"type":"string"},"receipt":{"$ref":"#/components/schemas/PayexCallbackReceiptSchema"},"receipt_strings":{"$ref":"#/components/schemas/PayexCallbackReceiptStringsSchema"},"version":{"type":"integer"}},"required":["version","message_type"],"type":"object"},"PayexCallbackDataSchema":{"title":"PayexCallbackDataSchema","properties":{"account_option":{"type":"integer"},"acquirer_institution_short":{"type":"string"},"additional_data_p44":{"type":"string"},"additional_data_p62":{"type":"string"},"additional_data_rsp_p44":{"type":"string"},"additional_data_rsp_p48":{"type":"string"},"agreement_number":{"type":"string"},"aid":{"type":"string"},"aip":{"type":"string"},"amount_authorized":{"type":"integer"},"amount_other":{"type":"integer"},"amount_surcharge":{"type":"integer"},"app_cryptogram":{"type":"string"},"app_effective_date":{"type":"string"},"app_transaction_counter":{"type":"string"},"arn":{"type":"string"},"authorization_code":{"type":"string"},"authorization_method":{"type":"string"},"backlight_intensity":{"type":"string"},"cancel_response":{"type":"boolean"},"card_acceptor_id":{"type":"string"},"card_expiry_date":{"type":"string"},"card_token":{"type":"string"},"card_tokens_request":{"type":"boolean"},"cardholder_id_text":{"type":"string"},"cardholder_language":{"type":"string"},"cardholder_signature_text":{"type":"string"},"cashier_id":{"type":"integer"},"chip_app_version_number":{"type":"string"},"chip_last_online_atc":{"type":"string"},"cless_ott":{"type":"string"},"cless_ready":{"type":"string"},"cless_uid":{"type":"string"},"currency_code":{"type":"string"},"cvr":{"type":"string"},"dankort_ble_transaction":{"type":"boolean"},"dialog_input":{"type":"string"},"display_message":{"type":"integer"},"echo_data":{"type":"string"},"ecr_text":{"type":"string"},"ecr_text_align":{"type":"integer"},"ecr_text_fixed_width":{"type":"boolean"},"ecr_text_font":{"type":"integer"},"entry_mode":{"type":"string"},"event_id":{"type":"integer"},"event_text":{"type":"string"},"fallback":{"type":"boolean"},"file_to_send":{"type":"integer"},"flash_free_size":{"type":"string"},"flash_total_size":{"type":"string"},"forced_online":{"type":"boolean"},"host_issuer_id":{"type":"string"},"host_issuer_id_as_int":{"type":"integer"},"id_method":{"type":"string"},"insert_card_message":{"type":"integer"},"is_gambling_transaction":{"type":"boolean"},"issuer_application_data":{"type":"string"},"issuer_card_name":{"type":"string"},"issuer_id":{"type":"string"},"issuer_id_as_int":{"type":"integer"},"max_input_length":{"type":"integer"},"merchant_name_and_location":{"type":"string"},"mockup":{"type":"boolean"},"model":{"type":"string"},"offline_count":{"type":"integer"},"offline_first_datetime":{"type":"string"},"offline_total_amount":{"type":"integer"},"online":{"type":"boolean"},"os_sdk_version":{"type":"string"},"pan":{"type":"string"},"pan_sequence_number":{"type":"string"},"payment_application_name":{"type":"string"},"pci_version":{"type":"string"},"phone_number":{"type":"string"},"pos_entry_mode":{"type":"string"},"posref":{"type":"string"},"primary_card_token":{"type":"string"},"printer_status":{"type":"integer"},"read_card_id":{"type":"integer"},"receipt_printing":{"type":"boolean"},"receipt_string_customer":{"type":"string"},"receipt_string_merchant":{"type":"string"},"receipt_strings":{"type":"string"},"recurring":{"type":"boolean"},"response_code":{"type":"string"},"retrieval_reference_number":{"type":"string"},"secondary_card_token":{"type":"string"},"serial":{"type":"string"},"session_number":{"type":"string"},"software_branch":{"type":"string"},"software_changeset":{"type":"string"},"software_date":{"type":"string"},"software_version_name":{"type":"string"},"stan":{"type":"string"},"stc_loyalty":{"type":"string"},"supermerchant_operator_id":{"type":"string"},"surcharge_flat_fee":{"type":"integer"},"surcharge_percent":{"type":"integer"},"terminal_datetime":{"type":"string"},"terminal_id":{"type":"string"},"timespan_end":{"type":"string"},"timespan_start":{"type":"string"},"tip_amount":{"type":"integer"},"tms_to_use":{"type":"integer"},"tms_update_result":{"type":"integer"},"track_1":{"type":"string"},"track_1_discretionary":{"type":"string"},"track_2":{"type":"string"},"track_2_equivalent":{"type":"string"},"track_3":{"type":"string"},"transaction_date":{"type":"string"},"transaction_status":{"type":"integer"},"transaction_time":{"type":"string"},"transaction_type":{"type":"string"},"tsi":{"type":"string"},"tvr":{"type":"string"},"upc":{"type":"string"},"vat_amount":{"type":"integer"}}},"PayexCallbackReceiptSchema":{"title":"PayexCallbackReceiptSchema","properties":{"agreement_name":{"type":"string"},"agreement_number":{"type":"string"},"app_effective_date":{"type":"string"},"app_transaction_counter":{"type":"string"},"authorization_method":{"type":"string"},"base_amount_receipt":{"type":"string"},"bax":{"type":"string"},"bax_sign_text":{"type":"string"},"cardholder_id_text":{"type":"string"},"cardholder_signature_text":{"type":"string"},"cardholder_string":{"type":"string"},"cash_amount_receipt":{"type":"string"},"cashback_text_customer":{"type":"string"},"cashback_text_merchant":{"type":"string"},"cashier_signature_text":{"type":"string"},"chip_last_online_atc":{"type":"string"},"cless_indication_label":{"type":"string"},"currency_text":{"type":"string"},"dankort_ble_wallet":{"type":"string"},"footer_msg_customer":{"type":"string"},"footer_msg_merchant":{"type":"string"},"id_method":{"type":"string"},"is_copy_text_customer":{"type":"string"},"is_copy_text_merchant":{"type":"string"},"merchant_id":{"type":"string"},"merchant_id_customer_text":{"type":"string"},"merchant_id_merchant_text":{"type":"string"},"online":{"type":"string"},"pan_customer":{"type":"string"},"pan_entry_mode":{"type":"string"},"pan_merchant":{"type":"string"},"ref_bax_receipt":{"type":"string"},"response_code":{"type":"string"},"retrieval_reference_number":{"type":"string"},"save_receipt_customer":{"type":"string"},"save_receipt_merchant":{"type":"string"},"stan":{"type":"string"},"surcharge_amount_receipt":{"type":"string"},"surcharge_text_customer":{"type":"string"},"surcharge_text_merchant":{"type":"string"},"terminal_id":{"type":"string"},"terminal_id_customer_text":{"type":"string"},"terminal_id_merchant_text":{"type":"string"},"tip_amount_receipt":{"type":"string"},"tip_text_customer":{"type":"string"},"tip_text_merchant":{"type":"string"},"total_amount_receipt":{"type":"string"},"total_text_customer":{"type":"string"},"total_text_merchant":{"type":"string"},"transaction_date":{"type":"string"},"transaction_name":{"type":"string"},"transaction_name_customer":{"type":"string"},"transaction_name_merchant":{"type":"string"},"transaction_time":{"type":"string"},"trx_status_customer":{"type":"string"},"trx_status_desc_customer":{"type":"string"},"trx_status_desc_merchant":{"type":"string"},"trx_status_merchant":{"type":"string"},"tsi":{"type":"string"},"tvr":{"type":"string"},"user_text_customer":{"type":"string"},"user_text_merchant":{"type":"string"}},"type":"object"},"PayexCallbackReceiptStringsSchema":{"title":"PayexCallbackReceiptStringsSchema","properties":{"receipt_string_customer":{"type":"string"},"receipt_string_merchant":{"type":"string"}},"type":"object"}}}}
```

## The PaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodResponseSchema":{"title":"PaymentMethodResponseSchema","type":"object","required":["allowRefund","allowSale","allowAmount","allowCashback","allowPrepayment","requireExclusiveUse","name","parameters","paymentCode"],"properties":{"allowRefund":{"type":"boolean","description":"if true, paymentMethod can be used when settling a refund."},"allowSale":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowAmount":{"type":"boolean","description":"if true, settled amount can be != remainingAmount set when settling a sale."},"allowCashback":{"type":"boolean","description":"if true, settlement amount can be higher than remainingAmount when settling a sale."},"allowPrepayment":{"type":"boolean","description":"if true, payment method is allowed as a prepayment settlement"},"requireExclusiveUse":{"type":"boolean","description":"defines whether or not the payment method can be used in combination with other payment methods."},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodParameterSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"}}},"PaymentMethodParameterSchema":{"description":"PaymentMethodParameter","properties":{"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/PaymentMethodParameterTypeENUM"},"name":{"type":"string"},"required":{"type":"boolean"}},"required":["keyType","key","name","required"],"title":"PaymentMethodParameterSchema","type":"object"},"PaymentMethodParameterTypeENUM":{"description":"","enum":["TEXT","INTEGER","DATE","MOBILE","MODULUS10","MODULUS11"],"title":"PaymentMethodParameterTypeENUM","type":"string"},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"}}}}
```

## The PaymentMethodCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"}}}}
```

## The PaymentMethodParameterSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodParameterSchema":{"description":"PaymentMethodParameter","properties":{"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/PaymentMethodParameterTypeENUM"},"name":{"type":"string"},"required":{"type":"boolean"}},"required":["keyType","key","name","required"],"title":"PaymentMethodParameterSchema","type":"object"},"PaymentMethodParameterTypeENUM":{"description":"","enum":["TEXT","INTEGER","DATE","MOBILE","MODULUS10","MODULUS11"],"title":"PaymentMethodParameterTypeENUM","type":"string"}}}}
```

## The PaymentMethodParameterTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodParameterTypeENUM":{"description":"","enum":["TEXT","INTEGER","DATE","MOBILE","MODULUS10","MODULUS11"],"title":"PaymentMethodParameterTypeENUM","type":"string"}}}}
```

## The PriceResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceResponseSchema":{"title":"PriceResponseSchema","type":"object","required":["createdAt","lastModifiedAt","fromDate","toDate","price","priceUid","pricelistUid","productExternalId","productUid","productName","productRecommendedRetailPrice","productSku","brand","productGroup"],"properties":{"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"fromDate":{"format":"date-time","type":"string"},"toDate":{"format":"date-time","type":"string"},"price":{"type":"integer"},"priceUid":{"$ref":"#/components/schemas/UID"},"pricelistUid":{"$ref":"#/components/schemas/UID"},"productExternalId":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productRecommendedRetailPrice":{"type":"integer","nullable":true},"productSku":{"type":"string"},"brand":{"$ref":"#/components/schemas/PriceBrandResponseSchema"},"productGroup":{"$ref":"#/components/schemas/PriceProductGroupResponseSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriceBrandResponseSchema":{"title":"PriceBrandResponseSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"PriceProductGroupResponseSchema":{"title":"PriceProductGroupResponseSchema","type":"object","required":["productGroupUid","name","path"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"path":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}}}},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]}}}}
```

## The PriceBatchErrorPriceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceBatchErrorPriceSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"priceUid":{"$ref":"#/components/schemas/UID"}},"required":["priceUid","errorCode","message"],"title":"PriceBatchErrorPriceSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BatchErrorProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchErrorProductSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["productUid","errorCode","message"],"title":"BatchErrorProductSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BatchErrorSOAAmountSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchErrorSOAAmountSchema":{"title":"BatchErrorSOAAmountSchema","type":"object","required":["errorCode","message","productUid","storeUid","soaUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"soaUid":{"$ref":"#/components/schemas/OptionalUID"},"soaAmountUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The CustomerBatchErrorSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerBatchErrorSchema":{"title":"CustomerBatchErrorSchema","type":"object","required":["errorCode","message","customerUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PriceBatchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceBatchRequestSchema":{"properties":{"create":{"items":{"$ref":"#/components/schemas/PriceCreateSchema"},"type":"array"},"delete":{"items":{"$ref":"#/components/schemas/PriceDeleteBatchSchema"},"type":"array"},"update":{"items":{"$ref":"#/components/schemas/PriceUpdateBatchSchema"},"type":"array"},"upsert":{"items":{"$ref":"#/components/schemas/PriceCreateSchema"},"type":"array"}},"title":"PriceBatchRequestSchema","type":"object"},"PriceCreateSchema":{"title":"PriceCreateSchema","type":"object","required":["price","productUid"],"properties":{"fromDate":{"format":"date-time","type":"string","description":"Optional. Will be set to current time if it is not in the request"},"toDate":{"format":"date-time","type":"string","description":"Optional. \nSet to null if not in request."},"price":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"priceUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriceDeleteBatchSchema":{"properties":{"priceUid":{"$ref":"#/components/schemas/UID"}},"required":["priceUid"],"title":"PriceDeleteBatchSchema","type":"object"},"PriceUpdateBatchSchema":{"type":"object","title":"PriceUpdateBatchSchema","required":["fromDate","price","priceUid"],"properties":{"fromDate":{"format":"date-time","type":"string","description":"Optional. Will be set to current time if it is not in the request"},"toDate":{"format":"date-time","type":"string","description":"Optional. \nSet to null if not in request."},"price":{"type":"integer"},"priceUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The SOAAmountBatchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountBatchRequestSchema":{"title":"SOAAmountBatchRequestSchema","type":"object","required":["upsert"],"properties":{"upsert":{"type":"array","items":{"$ref":"#/components/schemas/SOAAmountBatchCreateRequestSchema"}}}},"SOAAmountBatchCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/SOAAmountCreateRequestSchema"},{"properties":{"soaUid":{"$ref":"#/components/schemas/UID"}},"required":["soaUid"]}],"title":"SOAAmountBatchCreateRequestSchema","type":"object"},"SOAAmountCreateRequestSchema":{"title":"SOAAmountCreateRequestSchema","type":"object","required":["storeUid","productUid","amount","fromDateTime","toDateTime"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerBatchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerBatchRequestSchema":{"title":"CustomerBatchRequestSchema","type":"object","properties":{"create":{"type":"array","items":{"$ref":"#/components/schemas/CustomerCreateSchema"}},"delete":{"type":"array","items":{"$ref":"#/components/schemas/CustomerBatchDeleteSchema"}},"update":{"type":"array","items":{"$ref":"#/components/schemas/CustomerCreateSchema"}},"upsert":{"type":"array","items":{"$ref":"#/components/schemas/CustomerCreateSchema"}}}},"CustomerCreateSchema":{"title":"CustomerCreateSchema","allOf":[{"$ref":"#/components/schemas/CustomerUpdateSchema"},{"type":"object","required":["customerType"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerCreateConsentSchema"}}}}]},"CustomerUpdateSchema":{"title":"CustomerUpdateSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"origin":{"type":"string"},"loyaltyId":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditSchema"},"paymentTerms":{"type":"integer","description":"Number of days to calculate due date on invoice"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerRequestSchema"},"ehfEnabled":{"type":"boolean","deprecated":true,"description":"This field is deprecated. Use ehf -> enabled instead"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"ehf":{"$ref":"#/components/schemas/CustomerEhfSchema"},"defaultStoreUid":{"$ref":"#/components/schemas/UID"},"representedStoreUid":{"description":"Inter-store trade: the store this customer represents (the buyer). Only settable when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/OptionalUID"}]},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"}}},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerCreditSchema":{"title":"CustomerCreditSchema","type":"object","properties":{"limit":{"type":"integer","description":"Limit 0 = No limit set for customer"}}},"AccountManagerRequestSchema":{"title":"AccountManagerRequestSchema","type":"object","required":["tenantUserUid"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerEhfSchema":{"title":"CustomerEhfSchema","type":"object","properties":{"enabled":{"type":"boolean","description":"Enable EHF for this customer"},"address":{"type":"string","description":"The EHF address"}}},"CustomerCreateConsentSchema":{"title":"CustomerCreateConsentSchema","allOf":[{"$ref":"#/components/schemas/CustomerConsentChangeSchema"},{"type":"object","required":["consentUid"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"}}}]},"CustomerConsentChangeSchema":{"title":"CustomerConsentChangeSchema","type":"object","required":["source","status"],"properties":{"source":{"type":"string"},"status":{"type":"boolean","description":"Is the consent active or withdrawn"}}},"CustomerBatchDeleteSchema":{"title":"CustomerBatchDeleteSchema","type":"object","required":["customerUid"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The PriceBatchResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceBatchResponseSchema":{"properties":{"create":{"$ref":"#/components/schemas/BatchResponseItemProductSchema"},"delete":{"$ref":"#/components/schemas/PriceBatchResponseItemPriceSchema"},"update":{"$ref":"#/components/schemas/PriceBatchResponseItemPriceSchema"},"upsert":{"$ref":"#/components/schemas/BatchResponseItemProductSchema"}},"required":["create","upsert","update","delete"],"title":"PriceBatchResponseSchema","type":"object"},"BatchResponseItemProductSchema":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/BatchErrorProductSchema"},"type":"array"},"success":{"type":"integer"}},"required":["success","errors"],"title":"BatchResponseItemProductSchema","type":"object"},"BatchErrorProductSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["productUid","errorCode","message"],"title":"BatchErrorProductSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriceBatchResponseItemPriceSchema":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/PriceBatchErrorPriceSchema"},"type":"array"},"success":{"type":"integer"}},"required":["success","errors"],"title":"PriceBatchResponseItemPriceSchema","type":"object"},"PriceBatchErrorPriceSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"priceUid":{"$ref":"#/components/schemas/UID"}},"required":["priceUid","errorCode","message"],"title":"PriceBatchErrorPriceSchema","type":"object"}}}}
```

## The SOAAmountBatchResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountBatchResponseSchema":{"title":"SOAAmountBatchResponseSchema","type":"object","required":["upsert"],"properties":{"upsert":{"$ref":"#/components/schemas/BatchResponseItemSOAAmountSchema"}}},"BatchResponseItemSOAAmountSchema":{"title":"BatchResponseItemSOAAmountSchema","type":"object","required":["errors","success"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/BatchErrorSOAAmountSchema"}},"success":{"type":"integer"}}},"BatchErrorSOAAmountSchema":{"title":"BatchErrorSOAAmountSchema","type":"object","required":["errorCode","message","productUid","storeUid","soaUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"soaUid":{"$ref":"#/components/schemas/OptionalUID"},"soaAmountUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The CustomerBatchResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerBatchResponseSchema":{"title":"CustomerBatchResponseSchema","type":"object","required":["create","delete","update","upsert"],"properties":{"create":{"$ref":"#/components/schemas/CustomerBatchResponseItemSchema"},"delete":{"$ref":"#/components/schemas/CustomerBatchResponseItemSchema"},"update":{"$ref":"#/components/schemas/CustomerBatchResponseItemSchema"},"upsert":{"$ref":"#/components/schemas/CustomerBatchResponseItemSchema"}}},"CustomerBatchResponseItemSchema":{"title":"CustomerBatchResponseItemSchema","type":"object","required":["errors","success"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/CustomerBatchErrorSchema"}},"success":{"type":"integer"}}},"CustomerBatchErrorSchema":{"title":"CustomerBatchErrorSchema","type":"object","required":["errorCode","message","customerUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PriceBatchResponseItemPriceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceBatchResponseItemPriceSchema":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/PriceBatchErrorPriceSchema"},"type":"array"},"success":{"type":"integer"}},"required":["success","errors"],"title":"PriceBatchResponseItemPriceSchema","type":"object"},"PriceBatchErrorPriceSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"priceUid":{"$ref":"#/components/schemas/UID"}},"required":["priceUid","errorCode","message"],"title":"PriceBatchErrorPriceSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerBatchResponseItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerBatchResponseItemSchema":{"title":"CustomerBatchResponseItemSchema","type":"object","required":["errors","success"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/CustomerBatchErrorSchema"}},"success":{"type":"integer"}}},"CustomerBatchErrorSchema":{"title":"CustomerBatchErrorSchema","type":"object","required":["errorCode","message","customerUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BatchResponseItemProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchResponseItemProductSchema":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/BatchErrorProductSchema"},"type":"array"},"success":{"type":"integer"}},"required":["success","errors"],"title":"BatchResponseItemProductSchema","type":"object"},"BatchErrorProductSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["productUid","errorCode","message"],"title":"BatchErrorProductSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BatchResponseItemSOAAmountSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchResponseItemSOAAmountSchema":{"title":"BatchResponseItemSOAAmountSchema","type":"object","required":["errors","success"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/BatchErrorSOAAmountSchema"}},"success":{"type":"integer"}}},"BatchErrorSOAAmountSchema":{"title":"BatchErrorSOAAmountSchema","type":"object","required":["errorCode","message","productUid","storeUid","soaUid"],"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"soaUid":{"$ref":"#/components/schemas/OptionalUID"},"soaAmountUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PriceCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceCreateSchema":{"title":"PriceCreateSchema","type":"object","required":["price","productUid"],"properties":{"fromDate":{"format":"date-time","type":"string","description":"Optional. Will be set to current time if it is not in the request"},"toDate":{"format":"date-time","type":"string","description":"Optional. \nSet to null if not in request."},"price":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"priceUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PriceDeleteBatchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceDeleteBatchSchema":{"properties":{"priceUid":{"$ref":"#/components/schemas/UID"}},"required":["priceUid"],"title":"PriceDeleteBatchSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerBatchDeleteSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerBatchDeleteSchema":{"title":"CustomerBatchDeleteSchema","type":"object","required":["customerUid"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PriceUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceUpdateSchema":{"title":"PriceUpdateSchema","type":"object","required":["price"],"properties":{"fromDate":{"format":"date-time","type":"string","description":"Optional. Will be set to current time if it is not in the request"},"toDate":{"format":"date-time","type":"string","description":"Optional. \nSet to null if not in request."},"price":{"type":"integer"}}}}}}
```

## The PriceUpdateBatchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceUpdateBatchSchema":{"type":"object","title":"PriceUpdateBatchSchema","required":["fromDate","price","priceUid"],"properties":{"fromDate":{"format":"date-time","type":"string","description":"Optional. Will be set to current time if it is not in the request"},"toDate":{"format":"date-time","type":"string","description":"Optional. \nSet to null if not in request."},"price":{"type":"integer"},"priceUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PricelistResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PricelistResponseSchema":{"properties":{"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/UID"}},"required":["pricelistUid","name","externalId","createdAt","lastModifiedAt"],"title":"PricelistResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SOAResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAResponseSchema":{"title":"SOAResponseSchema","type":"object","required":["name","externalId","soaUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"name":{"type":"string"},"externalId":{"type":"string"},"soaUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SOAAmountResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountResponseSchema":{"title":"SOAAmountResponseSchema","type":"object","required":["soaUid","storeUid","productUid","soaAmountUid","amount","fromDateTime","toDateTime","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"soaAmountUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PricelistCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PricelistCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/PricelistUpdateRequestSchema"},{"properties":{"pricelistUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"PricelistCreateRequestSchema"},"PricelistUpdateRequestSchema":{"title":"PricelistUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SOACreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOACreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/SOAUpdateRequestSchema"},{"properties":{"soaUid":{"$ref":"#/components/schemas/UID"}},"required":["name"]}],"title":"SOACreateRequestSchema","type":"object"},"SOAUpdateRequestSchema":{"title":"SOAUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SOAAmountBatchCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountBatchCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/SOAAmountCreateRequestSchema"},{"properties":{"soaUid":{"$ref":"#/components/schemas/UID"}},"required":["soaUid"]}],"title":"SOAAmountBatchCreateRequestSchema","type":"object"},"SOAAmountCreateRequestSchema":{"title":"SOAAmountCreateRequestSchema","type":"object","required":["storeUid","productUid","amount","fromDateTime","toDateTime"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PricelistUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PricelistUpdateRequestSchema":{"title":"PricelistUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}}}}}}
```

## The SOAUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAUpdateRequestSchema":{"title":"SOAUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}}}}}}
```

## The SOAAmountUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountUpdateRequestSchema":{"title":"SOAAmountUpdateRequestSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SOAAmountCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SOAAmountCreateRequestSchema":{"title":"SOAAmountCreateRequestSchema","type":"object","required":["storeUid","productUid","amount","fromDateTime","toDateTime"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductCreateSchema":{"title":"ProductCreateSchema","type":"object","required":["brandUid","name","productGroupUid","productType","sku","vatCodeUid"],"properties":{"allowCredit":{"type":"boolean"},"allowPurchase":{"type":"boolean"},"allowQuantity":{"type":"boolean"},"allowNegativePrice":{"type":"boolean"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to set a discount on this product"},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"calculationFactor":{"type":"integer"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time"},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"media":{"type":"array","items":{"$ref":"#/components/schemas/ProductMediaCreateSchema"}},"name":{"type":"string"},"priceOverride":{"type":"boolean","description":"The price can be set on the orderline without adding it as a discount"},"productUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"optionProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductOptionPropertyRequestSchema"}},"textProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductTextPropertyRequestSchema"}},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"$ref":"#/components/schemas/UID"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"unitLabel":{"type":"string"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","default":false,"description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"requirements":{"$ref":"#/components/schemas/ProductRequirementRequestSchema"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"productWarrantyUid":{"$ref":"#/components/schemas/OptionalUID"},"excludeFromStatistics":{"type":"boolean","default":false},"purchasePrice":{"type":"integer"},"currencyPurchasePrice":{"$ref":"#/components/schemas/CurrencyPurchasePriceUpdateSchema"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertiesSchema"}}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"ProductMediaCreateSchema":{"title":"ProductMediaCreateSchema","type":"object","properties":{"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"},"position":{"type":"integer"},"setAsCoverImage":{"type":"boolean"},"productMediaUid":{"$ref":"#/components/schemas/OptionalUID"}},"required":["mainUrl"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"ProductOptionPropertyRequestSchema":{"description":"Add a new product option to a product.","title":"ProductOptionPropertyRequestSchema","type":"object","required":["propertyUid","propertyOptionUid"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"productPropertyUid":{"$ref":"#/components/schemas/UID"}}},"ProductTextPropertyRequestSchema":{"description":"Add a new product text property to a product.","title":"ProductTextPropertyRequestSchema","type":"object","required":["propertyUid","propertyText"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyText":{"type":"string"},"productPropertyUid":{"$ref":"#/components/schemas/UID"}}},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductRequirementRequestSchema":{"title":"ProductRequirementRequestSchema","type":"object","description":"ProductRequirementRequestSchema","properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"Valid values are `phone`, `email`, `not_empty` or a regular expression.\nTo indicate that no order item reference is required, send a blank value."}}},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"CurrencyPurchasePriceUpdateSchema":{"title":"CurrencyPurchasePriceUpdateSchema","type":"object","required":["purchasePrice","currencyCode"],"properties":{"purchasePrice":{"type":"integer"},"currencyCode":{"type":"string"}},"description":"Purchase price in currency. The information here will be used to calculate the purchase price in local currency and update the `purchasePrice` field."},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}},"ProductPropertiesSchema":{"title":"ProductPropertiesSchema","description":"Product property value for `propertyUid`. Supports TEXT, SINGLESELECT (single), and MULTISELECT (multi) property types.\n\nAn empty string for `value` removes the property from the product.","type":"object","required":["propertyUid","value"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string","description":"Text line for TEXT properties, or property option UID for SINGLESELECT/MULTISELECT as applicable. Empty string (`\"\"`) removes this property from the product."}}}}}}
```

## The ProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The ProductGroupResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupResponseSchema":{"title":"ProductGroupResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"hasChildren":{"description":"True when the product group has one or more subgroups.","type":"boolean"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"productCount":{"description":"Number of products in this productGroup.","type":"integer"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"scope":{"$ref":"#/components/schemas/ProductGroupScopeENUM"}},"required":["createdAt","externalId","hasChildren","lastModifiedAt","name","parentUid","productCount","productGroupUid","scope"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]}}}}
```

## The ProductGroupCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupCreateRequestSchema":{"title":"ProductGroupCreateRequestSchema","type":"object","required":["name"],"properties":{"name":{"type":"string"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"externalId":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"scope":{"$ref":"#/components/schemas/ProductGroupScopeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]}}}}
```

## The ProductGroupUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupUpdateRequestSchema":{"title":"ProductGroupUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"externalId":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"scope":{"$ref":"#/components/schemas/ProductGroupScopeENUM"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]}}}}
```

## The OrderPrintTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderPrintTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|RECEIPT| Print sales receipt|\n|EXCHANGENOTE| Print exchange note|\n|GIFTCARD| Print giftcard barcode|\n|PICKUP| Print a pickup label/note |\n|SHORTAGENOTE| Print a missing items note (restlapp) |\n|PICKNOTE| Print a pick note (plukkelapp) |\n","minLength":1,"title":"OrderPrintTypeENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD","PICKUP","SHORTAGENOTE","PICKNOTE"]}}}}
```

## The AvailablePrintActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]}}}}
```

## The OrderEmailTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderEmailTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIPT | Send sales receipt as email|\n| GIFTCARD | Send giftcard as email|\n","minLength":1,"title":"OrderEmailTypeENUM","type":"string","enum":["RECEIPT","GIFTCARD"]}}}}
```

## The OrderPdfTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderPdfTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|RECEIPT|Make pdf file from sales receipt|\n","minLength":1,"title":"OrderPdfTypeENUM","type":"string","enum":["RECEIPT"]}}}}
```

## The ProductGroupScopeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]}}}}
```

## The ProductGroupPathSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductGtinSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"}}}}
```

## The ProductGtinResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}}}}}
```

## The ProductLinkResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"}}}}
```

## The ProductGroupLinkResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupLinkResponseSchema":{"title":"ProductGroupLinkResponseSchema","allOf":[{"properties":{"productGroupLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productGroupLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductGroupLinkRequestSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGroupLinkRequestSchema":{"title":"ProductGroupLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductGroupLinkTypeENUM"},"productGroupLinkUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductGroupLinkTypeENUM":{"enum":["INSURANCE","SERVICE","ACCESSORY","FREIGHT_SERVICE"],"title":"ProductGroupLinkTypeENUM","type":"string"}}}}
```

## The ProductLinkParentResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductLinkParentResponseSchema":{"title":"ProductLinkParentResponseSchema","type":"object","properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"},"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"parentProductUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid","linkType","parentProductUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"}}}}
```

## The ProductLinkRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductGroupLinkRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupLinkRequestSchema":{"title":"ProductGroupLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductGroupLinkTypeENUM"},"productGroupLinkUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductGroupLinkTypeENUM":{"enum":["INSURANCE","SERVICE","ACCESSORY","FREIGHT_SERVICE"],"title":"ProductGroupLinkTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductGroupLinkTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductGroupLinkTypeENUM":{"enum":["INSURANCE","SERVICE","ACCESSORY","FREIGHT_SERVICE"],"title":"ProductGroupLinkTypeENUM","type":"string"}}}}
```

## The ProductLinkTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"}}}}
```

## The ProductPropertyRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPropertyRequestSchema":{"description":"Add a new product option to a product. If a property is of type TEXT, propertyText is mandatory, else propertyOptionUid is mandatory","title":"ProductPropertyRequestSchema","type":"object","properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"propertyText":{"type":"string"},"productPropertyUid":{"$ref":"#/components/schemas/UID"}},"required":["propertyUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductTextPropertyRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductTextPropertyRequestSchema":{"description":"Add a new product text property to a product.","title":"ProductTextPropertyRequestSchema","type":"object","required":["propertyUid","propertyText"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyText":{"type":"string"},"productPropertyUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductOptionPropertyRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductOptionPropertyRequestSchema":{"description":"Add a new product option to a product.","title":"ProductOptionPropertyRequestSchema","type":"object","required":["propertyUid","propertyOptionUid"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"productPropertyUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductTextPropertyUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductTextPropertyUpdateRequestSchema":{"description":"Update a new text option to a product","title":"ProductTextPropertyUpdateRequestSchema","type":"object","properties":{"propertyText":{"type":"string"}},"required":["propertyText"]}}}}
```

## The ProductTextPropertyUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductTextPropertyUpdateSchema":{"description":"Update a text property on a product.","title":"ProductTextPropertyUpdateSchema","type":"object","required":["propertyUid","propertyText"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyText":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductReportResponseItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductReportResponseItemSchema":{"allOf":[{"$ref":"#/components/schemas/StoreReportTurnoverItemSchema"},{"type":"object","required":["brandUid","brandName","productGroupUid","productGroupName","productUid","sku","lastSettledAt"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"lastSettledAt":{"type":"string","format":"date-time"}}}],"title":"ProductReportResponseItemSchema"},"StoreReportTurnoverItemSchema":{"description":"","properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"name":{"type":"string"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"turnoverAmount":{"type":"integer"}},"required":["storeUid","name","turnoverAmount","revenueAmount","revenuePercent","discountAmount","costAmount","count"],"title":"StoreTurnoverReportItem","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductReportResponseSchema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProductReportResponseItemSchema"},"type":"array"}},"required":["items"],"title":"ProductReportResponseSchema","type":"object"},"ProductReportResponseItemSchema":{"allOf":[{"$ref":"#/components/schemas/StoreReportTurnoverItemSchema"},{"type":"object","required":["brandUid","brandName","productGroupUid","productGroupName","productUid","sku","lastSettledAt"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"lastSettledAt":{"type":"string","format":"date-time"}}}],"title":"ProductReportResponseItemSchema"},"StoreReportTurnoverItemSchema":{"description":"","properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"name":{"type":"string"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"turnoverAmount":{"type":"integer"}},"required":["storeUid","name","turnoverAmount","revenueAmount","revenuePercent","discountAmount","costAmount","count"],"title":"StoreTurnoverReportItem","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductSearchSchema":{"title":"ProductSearchSchema","type":"object","description":"ProductSearch model","properties":{"exactMatch":{"type":"boolean"},"productGroupUids":{"type":"array","description":"Filter on product group UIDs","items":{"$ref":"#/components/schemas/UID"}},"productGroupScopes":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupScopeENUM"}},"query":{"type":"string"},"productName":{"type":"string","description":"Filter on product name. Case-insensitive partial match unless exactMatch is true."},"gtin":{"type":"string","description":"Filter on GTIN barcode. Exact match."},"supplierUid":{"$ref":"#/components/schemas/UID"},"propertyUids":{"type":"array","description":"Filter on property UIDs a product must be linked to","items":{"$ref":"#/components/schemas/UID"}},"propertyOptionUids":{"type":"array","description":"Filter on property option UIDs a product must be linked to","items":{"$ref":"#/components/schemas/UID"}},"productUids":{"type":"array","description":"A list of productUids to search for","items":{"$ref":"#/components/schemas/UID"}},"hideVariants":{"type":"boolean","description":"Do not search in variant products."},"visibility":{"type":"array","description":"Filter on product visibility","items":{"$ref":"#/components/schemas/ProductVisibilityENUM"}},"includeDiscontinued":{"type":"boolean"},"productTypes":{"type":"array","items":{"$ref":"#/components/schemas/ProductTypeENUM"}},"hideNotAllowPurchase":{"type":"boolean","description":"when true, only show products with `allowPurchase` = true"},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productSkus":{"type":"array","items":{"type":"string"}},"hasSoaAmounts":{"type":"boolean","description":"optionally filter on products that have \nor do not have SOA amounts"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"}}}}
```

## The ProductSearchStockDetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductSearchStockDetailsSchema":{"description":"","properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSku":{"type":"string"},"totalQuantityReserved":{"type":"integer"},"totalQuantityStock":{"type":"integer"},"warehouseStockDetails":{"items":{"$ref":"#/components/schemas/WarehouseStockDetailsResponseSchema"},"type":"array"}},"required":["productUid","productSku","productName","totalQuantityStock","totalQuantityReserved","warehouseStockDetails"],"title":"ProductSearchStockDetailsSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"WarehouseStockDetailsResponseSchema":{"title":"WarehouseStockDetailsResponseSchema","type":"object","properties":{"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}},"required":["locationLabel","maxStockLevel","minStockLevel","quantityReserved","quantityStock","storeUid","storeName","warehouseUid","warehouseName"]}}}}
```

## The ProductSearchStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductSearchStockRequestSchema":{"title":"ProductSearchStockRequestSchema","type":"object","properties":{"productUids":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productSkus":{"minItems":1,"type":"array","items":{"type":"string"}},"storeUids":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UID"}},"warehouseUids":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductSupplierResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"}}}}
```

## The ProductUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductUpdateSchema":{"title":"ProductUpdateSchema","type":"object","properties":{"allowCredit":{"type":"boolean"},"allowPurchase":{"type":"boolean"},"allowQuantity":{"type":"boolean"},"allowNegativePrice":{"type":"boolean"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to set a discount on this product"},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"priceOverride":{"type":"boolean","description":"Allow to override the price on an order"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"recommendedRetailPrice":{"type":"integer"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean"},"requiredVariantPropertyUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"textProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductTextPropertyUpdateSchema"}},"unitLabel":{"type":"string"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"requirements":{"$ref":"#/components/schemas/ProductRequirementRequestSchema"},"coverImage":{"type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"}}},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"productWarrantyUid":{"$ref":"#/components/schemas/OptionalUID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"currencyPurchasePrice":{"$ref":"#/components/schemas/CurrencyPurchasePriceUpdateSchema"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertiesSchema"}}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductTextPropertyUpdateSchema":{"description":"Update a text property on a product.","title":"ProductTextPropertyUpdateSchema","type":"object","required":["propertyUid","propertyText"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyText":{"type":"string"}}},"ProductRequirementRequestSchema":{"title":"ProductRequirementRequestSchema","type":"object","description":"ProductRequirementRequestSchema","properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"Valid values are `phone`, `email`, `not_empty` or a regular expression.\nTo indicate that no order item reference is required, send a blank value."}}},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CurrencyPurchasePriceUpdateSchema":{"title":"CurrencyPurchasePriceUpdateSchema","type":"object","required":["purchasePrice","currencyCode"],"properties":{"purchasePrice":{"type":"integer"},"currencyCode":{"type":"string"}},"description":"Purchase price in currency. The information here will be used to calculate the purchase price in local currency and update the `purchasePrice` field."},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}},"ProductPropertiesSchema":{"title":"ProductPropertiesSchema","description":"Product property value for `propertyUid`. Supports TEXT, SINGLESELECT (single), and MULTISELECT (multi) property types.\n\nAn empty string for `value` removes the property from the product.","type":"object","required":["propertyUid","value"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string","description":"Text line for TEXT properties, or property option UID for SINGLESELECT/MULTISELECT as applicable. Empty string (`\"\"`) removes this property from the product."}}}}}}
```

## The PropertyResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyResponseSchema":{"description":"A product property that extends the product with new data. It comes in three data types; TEXT, LIST or CHECKLIST.","title":"PropertyResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"propertyName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"propertyUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/PropertyTypeENUM"},"externalId":{"type":"string"}},"required":["createdAt","propertyName","lastModifiedAt","propertyUid","type"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"}}}}
```

## The PropertyCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyCreateRequestSchema":{"description":"A product property that extends the product with new data. It comes in three data types; TEXT, LIST or CHECKLIST.","title":"PropertyCreateRequestSchema","type":"object","properties":{"propertyName":{"type":"string"},"type":{"$ref":"#/components/schemas/PropertyTypeENUM"},"externalId":{"type":"string"},"propertyUid":{"$ref":"#/components/schemas/UID"}},"required":["propertyName","type"]},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PropertySearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertySearchRequestSchema":{"title":"PropertySearchRequestSchema","type":"object","properties":{"propertyName":{"type":"string"},"type":{"$ref":"#/components/schemas/PropertyTypeENUM"},"externalId":{"type":"string"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"}}}}
```

## The PropertyUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyUpdateRequestSchema":{"description":"Update name and externalId for a property","title":"PropertyUpdateRequestSchema","type":"object","properties":{"propertyName":{"type":"string"},"externalId":{"type":"string"}}}}}}
```

## The PropertyOptionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyOptionResponseSchema":{"description":"An pre-defined, allowed value for a list or checklist property.","title":"PropertyOptionResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"propertyOptionName":{"type":"string"},"externalId":{"type":"string"}},"required":["createdAt","lastModifiedAt","propertyUid","propertyName","propertyOptionUid","propertyOptionName","externalId"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PropertyOptionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyOptionCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/PropertyOptionUpdateRequestSchema"},{"properties":{"propertyOptionUid":{"$ref":"#/components/schemas/UID"}},"type":"object"}],"title":"PropertyOptionCreateRequestSchema"},"PropertyOptionUpdateRequestSchema":{"description":"An pre-defined, allowed value for a list or checklist property.","title":"PropertyOptionUpdateRequestSchema","type":"object","properties":{"propertyOptionName":{"type":"string"},"externalId":{"type":"string"}},"required":["propertyOptionName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PropertyOptionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyOptionUpdateRequestSchema":{"description":"An pre-defined, allowed value for a list or checklist property.","title":"PropertyOptionUpdateRequestSchema","type":"object","properties":{"propertyOptionName":{"type":"string"},"externalId":{"type":"string"}},"required":["propertyOptionName"]}}}}
```

## The PropertyTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"}}}}
```

## The PurchaseOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderResponseSchema":{"title":"PurchaseOrderResponseSchema","type":"object","required":["createdAt","createdBy","deliveryAddress","deliveryCity","deliveryCountryCode","deliveryName","deliveryPostalCode","externalId","items","lastModifiedAt","lastModifiedBy","note","purchaseNumber","purchaseOrderUid","status","storeUid","storeName","supplierUid","supplierName","discountRate","freight","currency","supplierReferenceNumber","invoiceAddress","reserveAfter","hasConfirmedReceivements"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"deliveryAddress":{"type":"string"},"deliveryCity":{"type":"string"},"deliveryCountryCode":{"type":"string"},"deliveryName":{"type":"string"},"deliveryPostalCode":{"type":"string"},"externalId":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItemResponseSchema"}},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"note":{"type":"string"},"purchaseNumber":{"description":"Reference to a customer order","type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"status":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierName":{"type":"string"},"discountRate":{"type":"integer"},"freight":{"type":"integer"},"currency":{"$ref":"#/components/schemas/PurchaseOrderCurrencySchema"},"supplierReferenceNumber":{"type":"string","description":"Supplier reference number"},"invoiceAddress":{"$ref":"#/components/schemas/PurchaseOrderInvoiceAddress"},"reserveAfter":{"type":"string","description":"If set, items in this purchase\norder cannot be reserved before this date.","format":"date-time","nullable":true},"interStoreSalesOrder":{"$ref":"#/components/schemas/InterStoreSalesOrderResponseSchema"},"hasConfirmedReceivements":{"type":"boolean"}}},"PurchaseOrderItemResponseSchema":{"title":"PurchaseOrderItemResponseSchema","type":"object","required":["createdAt","createdBy","expectedDeliveryDate","externalId","lastModifiedAt","lastModifiedBy","productUid","productName","productSerialNoRequired","productSku","purchaseOrderItemUid","quantityOrdered","quantityReceived","quantityReserved","supplierSku","unitPrice","receivementItems","discountAmount","freightAmount","unitCost","totalLinePrice","localCurrency","reservations","note","sortOrder","purchaseOrderItemLinks"],"properties":{"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"expectedDeliveryDate":{"format":"date","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSerialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"productSku":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"quantityReceived":{"type":"integer"},"quantityReserved":{"type":"integer"},"supplierSku":{"type":"string"},"interStoreSalesOrder":{"$ref":"#/components/schemas/InterStoreSalesOrderItemResponseSchema"},"unitPrice":{"type":"integer","description":"unitPrice is in purchase price in order currency before discounts"},"receivementItems":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseReceivementItemResponseSchema"}},"discountAmount":{"type":"integer","description":"The discount amount pr unit"},"freightAmount":{"type":"integer","description":"The portion of the shipping cost pr unit."},"unitCost":{"type":"integer","description":"The price pr unit including discount and freight. This is what will be used as cost price during receivement."},"totalLinePrice":{"type":"integer","description":"Total price for all the items including discounts and freight amount."},"currency":{"$ref":"#/components/schemas/DeprecatedPurchaseOrderItemCurrencySchema"},"localCurrency":{"$ref":"#/components/schemas/PurchaseOrderItemCurrencySchema"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}},"note":{"type":"string"},"sortOrder":{"type":"integer"},"purchaseOrderItemLinks":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItemLinkSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"InterStoreSalesOrderItemResponseSchema":{"title":"InterStoreSalesOrderItemResponseSchema","description":"The seller store's sales order line auto-created from and coupled 1:1 to this purchase\norder item in inter-store trade. Carries the same sales order fields as\nInterStoreSalesOrderResponseSchema plus the coupled line itself. Absent when the\npurchase order item is not part of inter-store trade.","allOf":[{"$ref":"#/components/schemas/InterStoreSalesOrderResponseSchema"},{"type":"object","required":["orderItemUid","reservationType","reservationDetails"],"properties":{"orderItemUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The coupled sales order line at the seller store."},"reservationType":{"allOf":[{"$ref":"#/components/schemas/SalesReservationTypeENUM"}],"description":"How the seller is covering its line, and the field to read first — it decides whether reservationDetails is worth looking at.\n`WAREHOUSE` — the seller has the goods in stock now. This is the normal state for a proactive inter-store purchase. The line may still name the purchase order the goods arrived on, kept as history — see reservationDetails.\n`PURCHASEORDER` — the goods are still on their way in to the seller, and reservationDetails.purchaseOrder carries the date this purchase order really depends on.\n`PURCHASEORDER_CONFIRMED` — the seller has a confirmed incoming shipment earmarked for the line, named by reservationDetails.receivement.\n`REQUEST_PURCHASEORDER` — the seller line is waiting for a purchase order that has not been placed yet.\n`NONE` — the seller line holds no reservation."},"reservationDetails":{"allOf":[{"$ref":"#/components/schemas/SalesReservationDetailsSchema"}],"description":"What the seller's line is itself waiting on — the same reservationDetails the seller sees on that line.\n**reservationType says what the line is waiting for; this object says what it is tied to.** They are not the same question, and on a `WAREHOUSE` line they have different answers.\nGoods that arrived keep the purchase order they came in on: the link is deliberately left in place so the sale can be traced back to the purchase it was covered by. So a `WAREHOUSE` line can carry a `purchaseOrder` whose `expectedDeliveryDate` is in the past — that date is a record of when the goods were expected, not a promise about a delivery still to come. Read a delivery date as pending only while reservationType says the line is still waiting for one.\n`purchaseOrder` is the seller's own incoming purchase order line, and its `expectedDeliveryDate` is the date this purchase order really depends on. `receivement` names an earmarked incoming shipment.\nA seller line that is itself sourced from a third store carries `interStorePurchaseOrder` here, which is how a chain of stores becomes visible to the store paying for it — the inter-store markup is applied at every hop. **The chain is only followed one step.** That third store's own reservationDetails is not carried, so this field never nests further than the seller immediately behind this purchase order line.\nNote that `warehouse` is never set, here or on a sales order line — a line's warehouse is reported by the sales line's own `warehouseUid` and `warehouseName`, which are not part of this object. Read reservationType for the stock case."}}}]},"InterStoreSalesOrderResponseSchema":{"title":"InterStoreSalesOrderResponseSchema","type":"object","description":"The seller store's sales order auto-created from and coupled 1:1 to this purchase\norder in inter-store trade. Absent when the purchase order is not part of inter-store\ntrade.","required":["orderUid","orderNumber","orderState","storeUid","storeName"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"storeUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The seller store the coupled sales order belongs to."},"storeName":{"type":"string"}}},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"PurchaseReceivementItemResponseSchema":{"title":"PurchaseReceivementItemResponseSchema","description":"PurchaseReceivementItem","allOf":[{"type":"object","required":["receivementUid","receivementStatus","invoiceApproval"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementStatus":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"invoiceApproval":{"$ref":"#/components/schemas/ReceivementInvoiceApprovalSchema"}}},{"$ref":"#/components/schemas/ReceivementItemResponseSchema"}]},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementInvoiceApprovalSchema":{"title":"ReceivementInvoiceApprovalSchema","type":"object","nullable":true,"description":"Invoice-approval (fakturagodkjent) state. Null when the receivement is not invoice-approved.","required":["approvedAt","tenantUserUid","tenantUserDisplayName"],"properties":{"approvedAt":{"type":"string","format":"date-time"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"ReceivementItemResponseSchema":{"title":"ReceivementItemResponseSchema","type":"object","required":["createdAt","createdBy","externalId","lastModifiedAt","lastModifiedBy","product","purchaseOrderItemUid","quantity","receivementItemUid","status","note","tenantUserUid","tenantUserDisplayName","reservations"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivement line","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/ReceivementItemProductResponseSchema"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"unitPrice":{"type":"integer","deprecated":true,"description":"Deprecated: Use unitcost instead"},"unitCost":{"type":"integer"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"serialnumber":{"type":"string"},"status":{"type":"string"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string","description":"The display name of the user that made the receivement"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}}}},"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"DeprecatedPurchaseOrderItemCurrencySchema":{"title":"DeprecatedPurchaseOrderItemCurrencySchema","type":"object","deprecated":true,"required":["unitPrice","discountAmount","freightAmount","totalLinePrice"],"properties":{"unitPrice":{"type":"integer"},"discountAmount":{"type":"integer"},"freightAmount":{"type":"integer"},"totalLinePrice":{"type":"integer"}}},"PurchaseOrderItemCurrencySchema":{"title":"PurchaseOrderItemCurrencySchema","type":"object","description":"All prices is in the local tenant currency","required":["unitPrice","discountAmount","freightAmount","unitCost","totalLinePrice"],"properties":{"unitPrice":{"type":"integer","description":"unitPrice is in local currency before discount"},"discountAmount":{"type":"integer","description":"The discount amount pr unit"},"freightAmount":{"type":"integer","description":"The portion of the shipping cost for this purchase order line."},"unitCost":{"type":"integer","description":"The price pr unit including discount and freight. This is what will be used as cost price during receivement."},"totalLinePrice":{"type":"integer","description":"Total price for all the items including discounts and freight amount."}}},"PurchaseOrderItemLinkSchema":{"description":"Order reference for an order product item","title":"PurchaseOrderItemLinkSchema","type":"object","required":["purchaseOrderItemUid","type"],"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/PurchaseOrderLinkTypeResponseENUM"}}},"PurchaseOrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n","enum":["PACKAGE","PACKAGE_COMPONENT"],"title":"PurchaseOrderLinkTypeResponseENUM","type":"string"},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"PurchaseOrderCurrencySchema":{"title":"PurchaseOrderCurrencySchema","type":"object","required":["code","exchangeRate"],"properties":{"code":{"type":"string","description":"ISO 4217"},"exchangeRate":{"type":"integer"}}},"PurchaseOrderInvoiceAddress":{"title":"PurchaseOrderInvoiceAddress","type":"object","required":["companyName","address","postalCode","city","countryCode","vatNumber","email"],"properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The PurchaseOrderCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderCreateSchema":{"title":"PurchaseOrderCreateSchema","type":"object","required":["supplierUid"],"properties":{"deliveryAddress":{"type":"string"},"deliveryCity":{"type":"string"},"deliveryCountryCode":{"type":"string"},"deliveryName":{"type":"string"},"deliveryPostalCode":{"type":"string"},"externalId":{"type":"string"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"},"supplierUid":{"$ref":"#/components/schemas/UID"},"discountRate":{"type":"integer"},"freight":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"exchangeRate":{"type":"integer"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItemCreateSchema"}},"autoOrderProposal":{"type":"object","description":"Generate a purchase order proposal based on min/max","required":["warehouseUid"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"countReservedItems":{"type":"boolean","default":true,"description":"Wether or not reserved items will be counted as part of existing stock. Defaults to true."},"honorTradeUnits":{"type":"boolean","description":"Quantities are rounded up to trade units for products where defined."}}},"supplierReferenceNumber":{"type":"string"},"invoiceAddress":{"$ref":"#/components/schemas/PurchaseOrderInvoiceAddressCreateSchema"},"reserveAfter":{"type":"string","format":"date-time","description":"If set, items in this purchase \norder cannot be reserved before this date."}}},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseOrderItemCreateSchema":{"allOf":[{"$ref":"#/components/schemas/PurchaseOrderItemUpdateSchema"},{"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"}},"required":["productUid","quantityOrdered"]}],"title":"PurchaseOrderItemCreateSchema","type":"object"},"PurchaseOrderItemUpdateSchema":{"title":"PurchaseOrderItemUpdateSchema","type":"object","properties":{"expectedDeliveryDate":{"format":"date","type":"string"},"externalId":{"description":"External reference to purchase order line","type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"supplierSku":{"type":"string"},"unitPrice":{"type":"integer","description":"unitPrice is in purchase order currency"},"note":{"type":"string"},"sortOrder":{"type":"integer"}}},"PurchaseOrderInvoiceAddressCreateSchema":{"title":"PurchaseOrderInvoiceAddressCreateSchema","type":"object","required":["companyName","address","postalCode","city","countryCode"],"properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The PurchaseOrderUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderUpdateSchema":{"title":"PurchaseOrderUpdateSchema","type":"object","properties":{"deliveryAddress":{"type":"string"},"deliveryCity":{"type":"string"},"deliveryCountryCode":{"type":"string"},"deliveryName":{"type":"string"},"deliveryPostalCode":{"type":"string"},"externalId":{"type":"string"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"},"supplierUid":{"$ref":"#/components/schemas/UID"},"discountRate":{"type":"integer"},"freight":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"exchangeRate":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItemUpdateQtyDeliveredSchema"}},"supplierReferenceNumber":{"type":"string","description":"Supplier reference number"},"invoiceAddress":{"$ref":"#/components/schemas/PurchaseOrderInvoiceAddressUpdateSchema"},"reserveAfter":{"type":"string","description":"If set, items in this purchase \norder cannot be reserved before this date.","format":"date-time","nullable":true}}},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseOrderItemUpdateQtyDeliveredSchema":{"title":"PurchaseOrderItemUpdateQtyDeliveredSchema","type":"object","description":"Partial line updates on PUT purchase order: received quantity, expected delivery,\nunit price, and/or ordered quantity. Does not adjust stock except via receivement when quantityReceived is set.","required":["purchaseOrderItemUid"],"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantityReceived":{"type":"integer"},"expectedDeliveryDate":{"type":"string","format":"date"},"unitPrice":{"type":"integer"},"quantityOrdered":{"type":"integer","description":"New ordered quantity for this line (same unit as on create)."}}},"PurchaseOrderInvoiceAddressUpdateSchema":{"title":"PurchaseOrderInvoiceAddressUpdateSchema","type":"object","properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The PurchaseOrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemResponseSchema":{"title":"PurchaseOrderItemResponseSchema","type":"object","required":["createdAt","createdBy","expectedDeliveryDate","externalId","lastModifiedAt","lastModifiedBy","productUid","productName","productSerialNoRequired","productSku","purchaseOrderItemUid","quantityOrdered","quantityReceived","quantityReserved","supplierSku","unitPrice","receivementItems","discountAmount","freightAmount","unitCost","totalLinePrice","localCurrency","reservations","note","sortOrder","purchaseOrderItemLinks"],"properties":{"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"expectedDeliveryDate":{"format":"date","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSerialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"productSku":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"quantityReceived":{"type":"integer"},"quantityReserved":{"type":"integer"},"supplierSku":{"type":"string"},"interStoreSalesOrder":{"$ref":"#/components/schemas/InterStoreSalesOrderItemResponseSchema"},"unitPrice":{"type":"integer","description":"unitPrice is in purchase price in order currency before discounts"},"receivementItems":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseReceivementItemResponseSchema"}},"discountAmount":{"type":"integer","description":"The discount amount pr unit"},"freightAmount":{"type":"integer","description":"The portion of the shipping cost pr unit."},"unitCost":{"type":"integer","description":"The price pr unit including discount and freight. This is what will be used as cost price during receivement."},"totalLinePrice":{"type":"integer","description":"Total price for all the items including discounts and freight amount."},"currency":{"$ref":"#/components/schemas/DeprecatedPurchaseOrderItemCurrencySchema"},"localCurrency":{"$ref":"#/components/schemas/PurchaseOrderItemCurrencySchema"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}},"note":{"type":"string"},"sortOrder":{"type":"integer"},"purchaseOrderItemLinks":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItemLinkSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"InterStoreSalesOrderItemResponseSchema":{"title":"InterStoreSalesOrderItemResponseSchema","description":"The seller store's sales order line auto-created from and coupled 1:1 to this purchase\norder item in inter-store trade. Carries the same sales order fields as\nInterStoreSalesOrderResponseSchema plus the coupled line itself. Absent when the\npurchase order item is not part of inter-store trade.","allOf":[{"$ref":"#/components/schemas/InterStoreSalesOrderResponseSchema"},{"type":"object","required":["orderItemUid","reservationType","reservationDetails"],"properties":{"orderItemUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The coupled sales order line at the seller store."},"reservationType":{"allOf":[{"$ref":"#/components/schemas/SalesReservationTypeENUM"}],"description":"How the seller is covering its line, and the field to read first — it decides whether reservationDetails is worth looking at.\n`WAREHOUSE` — the seller has the goods in stock now. This is the normal state for a proactive inter-store purchase. The line may still name the purchase order the goods arrived on, kept as history — see reservationDetails.\n`PURCHASEORDER` — the goods are still on their way in to the seller, and reservationDetails.purchaseOrder carries the date this purchase order really depends on.\n`PURCHASEORDER_CONFIRMED` — the seller has a confirmed incoming shipment earmarked for the line, named by reservationDetails.receivement.\n`REQUEST_PURCHASEORDER` — the seller line is waiting for a purchase order that has not been placed yet.\n`NONE` — the seller line holds no reservation."},"reservationDetails":{"allOf":[{"$ref":"#/components/schemas/SalesReservationDetailsSchema"}],"description":"What the seller's line is itself waiting on — the same reservationDetails the seller sees on that line.\n**reservationType says what the line is waiting for; this object says what it is tied to.** They are not the same question, and on a `WAREHOUSE` line they have different answers.\nGoods that arrived keep the purchase order they came in on: the link is deliberately left in place so the sale can be traced back to the purchase it was covered by. So a `WAREHOUSE` line can carry a `purchaseOrder` whose `expectedDeliveryDate` is in the past — that date is a record of when the goods were expected, not a promise about a delivery still to come. Read a delivery date as pending only while reservationType says the line is still waiting for one.\n`purchaseOrder` is the seller's own incoming purchase order line, and its `expectedDeliveryDate` is the date this purchase order really depends on. `receivement` names an earmarked incoming shipment.\nA seller line that is itself sourced from a third store carries `interStorePurchaseOrder` here, which is how a chain of stores becomes visible to the store paying for it — the inter-store markup is applied at every hop. **The chain is only followed one step.** That third store's own reservationDetails is not carried, so this field never nests further than the seller immediately behind this purchase order line.\nNote that `warehouse` is never set, here or on a sales order line — a line's warehouse is reported by the sales line's own `warehouseUid` and `warehouseName`, which are not part of this object. Read reservationType for the stock case."}}}]},"InterStoreSalesOrderResponseSchema":{"title":"InterStoreSalesOrderResponseSchema","type":"object","description":"The seller store's sales order auto-created from and coupled 1:1 to this purchase\norder in inter-store trade. Absent when the purchase order is not part of inter-store\ntrade.","required":["orderUid","orderNumber","orderState","storeUid","storeName"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"storeUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"The seller store the coupled sales order belongs to."},"storeName":{"type":"string"}}},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"PurchaseReceivementItemResponseSchema":{"title":"PurchaseReceivementItemResponseSchema","description":"PurchaseReceivementItem","allOf":[{"type":"object","required":["receivementUid","receivementStatus","invoiceApproval"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementStatus":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"invoiceApproval":{"$ref":"#/components/schemas/ReceivementInvoiceApprovalSchema"}}},{"$ref":"#/components/schemas/ReceivementItemResponseSchema"}]},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementInvoiceApprovalSchema":{"title":"ReceivementInvoiceApprovalSchema","type":"object","nullable":true,"description":"Invoice-approval (fakturagodkjent) state. Null when the receivement is not invoice-approved.","required":["approvedAt","tenantUserUid","tenantUserDisplayName"],"properties":{"approvedAt":{"type":"string","format":"date-time"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"ReceivementItemResponseSchema":{"title":"ReceivementItemResponseSchema","type":"object","required":["createdAt","createdBy","externalId","lastModifiedAt","lastModifiedBy","product","purchaseOrderItemUid","quantity","receivementItemUid","status","note","tenantUserUid","tenantUserDisplayName","reservations"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivement line","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/ReceivementItemProductResponseSchema"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"unitPrice":{"type":"integer","deprecated":true,"description":"Deprecated: Use unitcost instead"},"unitCost":{"type":"integer"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"serialnumber":{"type":"string"},"status":{"type":"string"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string","description":"The display name of the user that made the receivement"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}}}},"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"DeprecatedPurchaseOrderItemCurrencySchema":{"title":"DeprecatedPurchaseOrderItemCurrencySchema","type":"object","deprecated":true,"required":["unitPrice","discountAmount","freightAmount","totalLinePrice"],"properties":{"unitPrice":{"type":"integer"},"discountAmount":{"type":"integer"},"freightAmount":{"type":"integer"},"totalLinePrice":{"type":"integer"}}},"PurchaseOrderItemCurrencySchema":{"title":"PurchaseOrderItemCurrencySchema","type":"object","description":"All prices is in the local tenant currency","required":["unitPrice","discountAmount","freightAmount","unitCost","totalLinePrice"],"properties":{"unitPrice":{"type":"integer","description":"unitPrice is in local currency before discount"},"discountAmount":{"type":"integer","description":"The discount amount pr unit"},"freightAmount":{"type":"integer","description":"The portion of the shipping cost for this purchase order line."},"unitCost":{"type":"integer","description":"The price pr unit including discount and freight. This is what will be used as cost price during receivement."},"totalLinePrice":{"type":"integer","description":"Total price for all the items including discounts and freight amount."}}},"PurchaseOrderItemLinkSchema":{"description":"Order reference for an order product item","title":"PurchaseOrderItemLinkSchema","type":"object","required":["purchaseOrderItemUid","type"],"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/PurchaseOrderLinkTypeResponseENUM"}}},"PurchaseOrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n","enum":["PACKAGE","PACKAGE_COMPONENT"],"title":"PurchaseOrderLinkTypeResponseENUM","type":"string"}}}}
```

## The InternalPurchaseOrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemResponseSchema":{"title":"InternalPurchaseOrderItemResponseSchema","type":"object","required":["createdAt","createdBy","lastModifiedAt","lastModifiedBy","product","serialnumbers","quantityOrdered","shipFromWarehouseUid","quantitySent","quantityReceived","receiveToWarehouseUid","costPrice","internalPurchaseOrderItemUid"],"properties":{"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/InternalPurchaseOrderItemProductResponseSchema"},"serialnumbers":{"type":"array","items":{"type":"string"}},"quantityOrdered":{"type":"integer"},"shipFromWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"quantitySent":{"type":"integer"},"quantityReceived":{"type":"integer"},"receiveToWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"costPrice":{"type":"integer"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"InternalPurchaseOrderItemProductResponseSchema":{"title":"InternalPurchaseOrderItemProductResponseSchema","type":"object","required":["productUid","productName","productSku","coverImage","serialNoRequired"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSku":{"type":"string"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PurchaseOrderItemCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemCreateSchema":{"allOf":[{"$ref":"#/components/schemas/PurchaseOrderItemUpdateSchema"},{"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"}},"required":["productUid","quantityOrdered"]}],"title":"PurchaseOrderItemCreateSchema","type":"object"},"PurchaseOrderItemUpdateSchema":{"title":"PurchaseOrderItemUpdateSchema","type":"object","properties":{"expectedDeliveryDate":{"format":"date","type":"string"},"externalId":{"description":"External reference to purchase order line","type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"supplierSku":{"type":"string"},"unitPrice":{"type":"integer","description":"unitPrice is in purchase order currency"},"note":{"type":"string"},"sortOrder":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InternalPurchaseOrderItemCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemCreateSchema":{"title":"InternalPurchaseOrderItemCreateSchema","type":"object","required":["quantityOrdered"],"properties":{"quantityOrdered":{"type":"integer"},"costPrice":{"type":"integer"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PurchaseOrderItemUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemUpdateSchema":{"title":"PurchaseOrderItemUpdateSchema","type":"object","properties":{"expectedDeliveryDate":{"format":"date","type":"string"},"externalId":{"description":"External reference to purchase order line","type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"supplierSku":{"type":"string"},"unitPrice":{"type":"integer","description":"unitPrice is in purchase order currency"},"note":{"type":"string"},"sortOrder":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InternalPurchaseOrderItemUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemUpdateSchema":{"title":"InternalPurchaseOrderItemUpdateSchema","type":"object","properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantityOrdered":{"type":"integer"},"serialnumbers":{"type":"array","items":{"type":"string"}},"costPrice":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InternalPurchaseOrderItemSendSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemSendSchema":{"title":"InternalPurchaseOrderItemSendSchema","type":"object","description":"- quantitySent: Quantity to send from wrehouse\n- warehouseUid: warehouse to send stock from","required":["quantitySent","shipFromWarehouseUid"],"properties":{"quantitySent":{"type":"integer","description":"quantity to send from warehouse"},"serialnumbers":{"type":"array","items":{"type":"string"}},"shipFromWarehouseUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The InternalPurchaseOrderItemReceiveSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemReceiveSchema":{"title":"InternalPurchaseOrderItemReceiveSchema","type":"object","description":"- quantityReceived: Quantity to receive to wrehouse\n- warehouseUid: warehouse to receive stock","properties":{"quantityReceived":{"type":"integer"},"receiveToWarehouseUid":{"type":"string"}},"required":["quantityReceived","receiveToWarehouseUid"]}}}}
```

## The PurchaseOrderStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"}}}}
```

## The ReasonResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonResponseSchema":{"title":"ReasonResponseSchema","type":"object","required":["code","description","reasonUid","requiresReference","type"],"properties":{"code":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"reasonUid":{"$ref":"#/components/schemas/UID"},"requiresReference":{"type":"boolean","description":"Requires that a reference is filled when using this reason (discountReference, returnReference, or reference)"},"type":{"$ref":"#/components/schemas/ReasonTypeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ReasonTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DISCOUNT | Reason for discounts|\n| RETURN | Reason for returns|\n| RMA | Reason for return to supplier|","enum":["DISCOUNT","RETURN","RMA"],"title":"ReasonTypeENUM","type":"string"}}}}
```

## The ReasonCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonCreateRequestSchema":{"type":"object","title":"ReasonCreateRequestSchema","required":["code","description","type"],"properties":{"code":{"type":"string"},"description":{"type":"string"},"type":{"$ref":"#/components/schemas/ReasonTypeENUM"},"requiresReference":{"type":"boolean","description":"Requires that a reference is filled when using this reason (discountReference, returnReference, or reference)"},"reasonUid":{"$ref":"#/components/schemas/UID"}}},"ReasonTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DISCOUNT | Reason for discounts|\n| RETURN | Reason for returns|\n| RMA | Reason for return to supplier|","enum":["DISCOUNT","RETURN","RMA"],"title":"ReasonTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReasonUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonUpdateRequestSchema":{"title":"ReasonUpdateRequestSchema","type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"requiresReference":{"type":"boolean","description":"Requires that a reference is filled when using this reason (discountReference, returnReference, or reference)"}}}}}}
```

## The ReasonTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DISCOUNT | Reason for discounts|\n| RETURN | Reason for returns|\n| RMA | Reason for return to supplier|","enum":["DISCOUNT","RETURN","RMA"],"title":"ReasonTypeENUM","type":"string"}}}}
```

## The ReceivementResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementResponseSchema":{"title":"ReceivementResponseSchema","type":"object","required":["createdAt","createdBy","externalId","items","lastModifiedAt","lastModifiedBy","packingList","receivementUid","status","expectedArrival","expectedDispatch","supplierOrderReference","receivedAt","receivedBy","purchaseOrder","supplier","store","organization","warehouse","invoiceApproval"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivment","type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReceivementItemResponseSchema"}},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"packingList":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/DeprecatedUID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"status":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"warehouseUid":{"$ref":"#/components/schemas/DeprecatedUID"},"expectedArrival":{"type":"string","format":"date-time","description":"ETA"},"expectedDispatch":{"type":"string","format":"date-time","description":"ETD"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true},"receivedBy":{"$ref":"#/components/schemas/ReceivementReceivedBySchema"},"purchaseOrder":{"$ref":"#/components/schemas/PurchaseOrderRefResponseSchema"},"supplier":{"$ref":"#/components/schemas/SupplierNameResponseSchema"},"store":{"$ref":"#/components/schemas/StoreNameResponseSchema"},"organization":{"$ref":"#/components/schemas/OrganizationNameResponseSchema"},"warehouse":{"$ref":"#/components/schemas/WarehouseNameResponseSchema"},"invoiceApproval":{"$ref":"#/components/schemas/ReceivementInvoiceApprovalSchema"}}},"ReceivementItemResponseSchema":{"title":"ReceivementItemResponseSchema","type":"object","required":["createdAt","createdBy","externalId","lastModifiedAt","lastModifiedBy","product","purchaseOrderItemUid","quantity","receivementItemUid","status","note","tenantUserUid","tenantUserDisplayName","reservations"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivement line","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/ReceivementItemProductResponseSchema"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"unitPrice":{"type":"integer","deprecated":true,"description":"Deprecated: Use unitcost instead"},"unitCost":{"type":"integer"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"serialnumber":{"type":"string"},"status":{"type":"string"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string","description":"The display name of the user that made the receivement"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}}}},"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementReceivedBySchema":{"title":"ReceivementReceivedBySchema","type":"object","nullable":true,"description":"Who received the goods. Null when the receivement is not yet received.","required":["tenantUserUid","tenantUserDisplayName"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"PurchaseOrderRefResponseSchema":{"title":"PurchaseOrderRefResponseSchema","type":"object","required":["purchaseOrderUid","purchaseNumber","externalId"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseNumber":{"type":"string"},"externalId":{"type":"string","description":"External reference to the purchase order."}}},"SupplierNameResponseSchema":{"title":"SupplierNameResponseSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"StoreNameResponseSchema":{"title":"StoreNameResponseSchema","type":"object","required":["storeUid","name"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"OrganizationNameResponseSchema":{"title":"OrganizationNameResponseSchema","type":"object","required":["organizationUid","name"],"properties":{"organizationUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"WarehouseNameResponseSchema":{"title":"WarehouseNameResponseSchema","type":"object","required":["warehouseUid","name"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"ReceivementInvoiceApprovalSchema":{"title":"ReceivementInvoiceApprovalSchema","type":"object","nullable":true,"description":"Invoice-approval (fakturagodkjent) state. Null when the receivement is not invoice-approved.","required":["approvedAt","tenantUserUid","tenantUserDisplayName"],"properties":{"approvedAt":{"type":"string","format":"date-time"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}}}}}
```

## The ReceivementInvoiceApprovalSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementInvoiceApprovalSchema":{"title":"ReceivementInvoiceApprovalSchema","type":"object","nullable":true,"description":"Invoice-approval (fakturagodkjent) state. Null when the receivement is not invoice-approved.","required":["approvedAt","tenantUserUid","tenantUserDisplayName"],"properties":{"approvedAt":{"type":"string","format":"date-time"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceivementReceivedBySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementReceivedBySchema":{"title":"ReceivementReceivedBySchema","type":"object","nullable":true,"description":"Who received the goods. Null when the receivement is not yet received.","required":["tenantUserUid","tenantUserDisplayName"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceivementItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementItemResponseSchema":{"title":"ReceivementItemResponseSchema","type":"object","required":["createdAt","createdBy","externalId","lastModifiedAt","lastModifiedBy","product","purchaseOrderItemUid","quantity","receivementItemUid","status","note","tenantUserUid","tenantUserDisplayName","reservations"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivement line","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/ReceivementItemProductResponseSchema"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"unitPrice":{"type":"integer","deprecated":true,"description":"Deprecated: Use unitcost instead"},"unitCost":{"type":"integer"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"serialnumber":{"type":"string"},"status":{"type":"string"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string","description":"The display name of the user that made the receivement"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}}}},"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The ReceivementItemProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceivementItemCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementItemCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ReceivementItemUpdateRequestSchema"},{"properties":{"receivementItemUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ReceivementItemCreateRequestSchema"},"ReceivementItemUpdateRequestSchema":{"title":"ReceivementItemUpdateRequestSchema","description":"If you need to receive more than one quantity for items that required serialnumber you need to add one line for each serialnumber.\n\nExample: You are going to receive 3 stk of purchaseorderItemUid 33, then you need to add 3 ReceivementItemCreate lines with quantity 1 and the serialnumber for each item.","type":"object","required":["purchaseOrderItemUid","quantity"],"properties":{"externalId":{"description":"External reference to receivement line","type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"unitCost":{"type":"integer","description":"The unit cost price in local currency"},"note":{"type":"string"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemUpdateReservationSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderItemUpdateReservationSchema":{"title":"OrderItemUpdateReservationSchema","type":"object","required":["orderUid","orderItemUid"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The ReceivementItemUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementItemUpdateRequestSchema":{"title":"ReceivementItemUpdateRequestSchema","description":"If you need to receive more than one quantity for items that required serialnumber you need to add one line for each serialnumber.\n\nExample: You are going to receive 3 stk of purchaseorderItemUid 33, then you need to add 3 ReceivementItemCreate lines with quantity 1 and the serialnumber for each item.","type":"object","required":["purchaseOrderItemUid","quantity"],"properties":{"externalId":{"description":"External reference to receivement line","type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"unitCost":{"type":"integer","description":"The unit cost price in local currency"},"note":{"type":"string"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemUpdateReservationSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderItemUpdateReservationSchema":{"title":"OrderItemUpdateReservationSchema","type":"object","required":["orderUid","orderItemUid"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The ReceivementStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"}}}}
```

## The ReportTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportTypeENUM":{"description":"Available reports are:\n\n|ENUM | Description |\n| --- | --- |\n| SAFT | SAFT reports|\n| SalesPrStore | Sales per store|\n| StoreWarehouseDetails | Monthly warehouse details|\n| WarehouseStockDetails | Details list of all stock on the current warehouse|\n| ART_FEE | Art fee report|\n| ART_PROVISION | Artists' provision report|\n| OPEN_ITEMS | List of outstanding receivables |  \n| SOLD_NOT_DELIVERED | Products sold not delivered |\n","enum":["SAFT","StoreWarehouseDetails","SalesPrStore","WarehouseStockDetails","ART_FEE","ART_PROVISION","OPEN_ITEMS","SOLD_NOT_DELIVERED"],"title":"ReportTypeENUM","type":"string"}}}}
```

## The ReportTurnoverItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportTurnoverItemSchema":{"description":"","properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"id":{"type":"string"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"text":{"type":"string"},"turnoverAmount":{"type":"integer"}},"required":["id","text","turnoverAmount","revenueAmount","revenuePercent","discountAmount","costAmount","count"],"title":"ReportTurnoverItemSchema","type":"object"}}}}
```

## The ReportTurnoverProductGroupResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportTurnoverProductGroupResponseSchema":{"description":"Turnover Report Item For ProductGroups","properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"hasChildren":{"type":"boolean"},"productGroupUid":{"$ref":"#/components/schemas/UID"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"text":{"type":"string"},"turnoverAmount":{"type":"integer"}},"required":["productGroupUid","text","turnoverAmount","revenueAmount","revenuePercent","discountAmount","costAmount","count","hasChildren"],"title":"ReportTurnoverProductGroupResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReportTurnoverTotalSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportTurnoverTotalSchema":{"description":"Turnover Report Total","title":"ReportTurnoverTotalSchema","type":"object","required":["costAmount","count","discountAmount","revenueAmount","revenuePercent","turnoverAmount","orderCount"],"properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"turnoverAmount":{"type":"integer"},"orderCount":{"type":"integer"}}}}}}
```

## The SerialNoRequiredENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"}}}}
```

## The CustomerExtensionCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"}}}}
```

## The ExtensionCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"}}}}
```

## The ExtensionCapabilityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]}}}}
```

## The SettlementResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementResponseSchema":{"title":"SettlementResponseSchema","type":"object","required":["amount","createdAt","displayMessages","externalId","externalPaymentReference","idMethod","lastModifiedAt","parameters","settlementCode","settlementUid","settlementName","state","status","storeSettlementIssuer","tenantUserDisplayName","tenantUserUid","storePaymentMethodUid","currency","additionalDetails","creditCount","creditAmount","paymentCount","paymentAmount","storeUid","storeName","orderReceiptUid","transactions","receiptText","allowedActions"],"properties":{"amount":{"type":"integer"},"createdAt":{"format":"date-time","type":"string"},"displayMessages":{"type":"array","items":{"$ref":"#/components/schemas/SettlementDisplayMessageSchema"}},"externalId":{"type":"string"},"externalPaymentReference":{"type":"string","description":"The external payment reference for this settlement.\nFor invoices, this could contain the KID"},"idMethod":{"$ref":"#/components/schemas/SettlementIdMethodENUM"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterResponseSchema"}},"settledAt":{"format":"date-time","type":"string"},"settlementCode":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementName":{"type":"string"},"state":{"$ref":"#/components/schemas/SettlementStateENUM"},"status":{"$ref":"#/components/schemas/SettlementStatusENUM"},"storeSettlementIssuer":{"$ref":"#/components/schemas/storeSettlementIssuerSchema"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"currency":{"$ref":"#/components/schemas/SettlementCurrencySchema"},"additionalDetails":{"type":"array","items":{"$ref":"#/components/schemas/SettlementAdditionalDetailsSchema"}},"creditCount":{"type":"integer","description":"Number of credits on this settlement. Only applicable for invoice"},"creditAmount":{"type":"integer","description":"The total amount credited. Only applicable for invoice"},"paymentCount":{"type":"integer","description":"Number of payments on this settlement. Only applicable for invoice"},"paymentAmount":{"type":"integer","description":"The total amount of payments. Only applicable for invoice"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"tillName":{"type":"string","description":"Display name of the till where the payment was registered."},"tillNumber":{"type":"integer","description":"Till register number where the payment was registered."},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"storeName":{"type":"string","description":"Display name of the store where the payment was registered."},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"authorizedAmount":{"type":"integer","description":"The total authorized amount on this settlement, calculated from authorize transactions."},"capturedAmount":{"type":"integer","description":"The total captured amount on this settlement, calculated from capture transactions."},"refundedAmount":{"type":"integer","description":"The total refunded amount on this settlement, calculated from refund transactions."},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt for this payment method when configured on the tenant payment method. Empty when not set, when suppressed for this settlement type (e.g. store credit, gift cards), or when cleared."},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/SettlementTransactionSchema"}},"allowedActions":{"description":"What can be done with this settlement. Judged from the settlement alone, so a cancellation offered here can still be turned down by the rules on the order or the receipt.","type":"array","items":{"$ref":"#/components/schemas/AllowedSettlementActionENUM"}}}},"SettlementDisplayMessageSchema":{"description":"Settlement display messages","properties":{"key":{"type":"string"},"message":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}},"required":["key","message","timestamp"],"title":"SettlementDisplayMessageSchema","type":"object"},"SettlementIdMethodENUM":{"enum":["NO_CVM_RULE_PERFORMED","SIGNATURE","PIN_ONLINE","PIN_OFFLINE","PIN_ONLINE_AND_SIGNATURE","PIN_OFFLINE_AND_SIGNATURE","NO_CVM","FAILED","ON_DEVICE","REFUND"],"title":"SettlementIdMethodENUM","type":"string"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"SettlementParameterResponseSchema":{"description":"settlement parameters response","title":"SettlementParameterResponseSchema","type":"object","required":["key","value","name","type"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SettlementStateENUM":{"enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","TERMINATED"],"title":"SettlementCodeENUM","type":"string"},"SettlementStatusENUM":{"enum":["NEW","PROCESSING","AUTHORIZED","CAPTURED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","FAILED","CANCELLED_BY_MERCHANT","CANCELLED_BY_USER","CANCELLED_FORCE","DELETED","DENIED","REJECTED"],"title":"SettlementCodeENUM","type":"string"},"storeSettlementIssuerSchema":{"title":"storeSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["storeSettlementIssuerUid","name","code"],"properties":{"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"SettlementCurrencySchema":{"title":"SettlementCurrencySchema","type":"object","required":["amount","code","exchangeRate"],"properties":{"amount":{"type":"integer"},"code":{"type":"string"},"exchangeRate":{"type":"integer"}}},"SettlementAdditionalDetailsSchema":{"title":"SettlementAdditionalDetailsSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"SettlementTransactionSchema":{"title":"SettlementTransactionSchema","type":"object","required":["transactionType","transactionAmount","orderReceiptUid"],"properties":{"transactionType":{"type":"string"},"pspTransactionId":{"type":"string"},"transactionAmount":{"type":"integer"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"}}},"AllowedSettlementActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CANCEL | Settlement can be cancelled|","enum":["CANCEL"],"title":"AllowedSettlementActionENUM","type":"string"}}}}
```

## The SettlementTransactionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementTransactionSchema":{"title":"SettlementTransactionSchema","type":"object","required":["transactionType","transactionAmount","orderReceiptUid"],"properties":{"transactionType":{"type":"string"},"pspTransactionId":{"type":"string"},"transactionAmount":{"type":"integer"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The SettlementDisplayMessageSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementDisplayMessageSchema":{"description":"Settlement display messages","properties":{"key":{"type":"string"},"message":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}},"required":["key","message","timestamp"],"title":"SettlementDisplayMessageSchema","type":"object"}}}}
```

## The SettlementIdMethodENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementIdMethodENUM":{"enum":["NO_CVM_RULE_PERFORMED","SIGNATURE","PIN_ONLINE","PIN_OFFLINE","PIN_ONLINE_AND_SIGNATURE","PIN_OFFLINE_AND_SIGNATURE","NO_CVM","FAILED","ON_DEVICE","REFUND"],"title":"SettlementIdMethodENUM","type":"string"}}}}
```

## The SettlementParameterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementParameterResponseSchema":{"description":"settlement parameters response","title":"SettlementParameterResponseSchema","type":"object","required":["key","value","name","type"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The SettlementParameterRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementParameterRequestSchema":{"description":"settlement parameters request","title":"SettlementParameterRequestSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}}}}}
```

## The SettlementStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementStateENUM":{"enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","TERMINATED"],"title":"SettlementCodeENUM","type":"string"}}}}
```

## The SettlementStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementStatusENUM":{"enum":["NEW","PROCESSING","AUTHORIZED","CAPTURED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","FAILED","CANCELLED_BY_MERCHANT","CANCELLED_BY_USER","CANCELLED_FORCE","DELETED","DENIED","REJECTED"],"title":"SettlementCodeENUM","type":"string"}}}}
```

## The SortDirectionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SortDirectionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ASC | Sort in ascending order|\n| DESC | Sort in descending order|\n","enum":["ASC","DESC"],"title":"SortDirectionENUM","type":"string"}}}}
```

## The StockResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockResponseSchema":{"title":"StockResponseSchema","type":"object","properties":{"averageCost":{"type":"integer"},"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"},"price":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSku":{"type":"string"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}},"required":["averageCost","locationLabel","maxStockLevel","minStockLevel","price","productUid","productName","productSku","quantityReserved","quantityStock","warehouseUid","warehouseName","storeUid","storeName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogResponseSchema":{"description":"Log data for a product's stock movements. Sorted by timestamp, descending","title":"StockLogResponseSchema","type":"object","required":["costDelta","costNew","costOrigin","costTransaction","createdAt","quantityDelta","quantityNew","quantityNotAvailable","quantityOrigin","reference","serialnumber","tenantUserUid","tenantUserName","transactionType","saleCostPrice","referenceDetails"],"properties":{"costDelta":{"type":"integer","description":"Average cost price delta"},"costNew":{"type":"integer","description":"Average cost price after the transaction"},"costOrigin":{"type":"integer","description":"Average cost price before the transaction"},"costTransaction":{"type":"integer","description":"The cost of the current transaction"},"createdAt":{"format":"date-time","type":"string"},"quantityDelta":{"type":"integer"},"quantityNew":{"type":"integer"},"quantityNotAvailable":{"type":"integer"},"quantityOrigin":{"type":"integer"},"reference":{"type":"integer"},"referenceDetails":{"$ref":"#/components/schemas/StockLogReferenceSchema"},"serialnumber":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserName":{"type":"string"},"transactionType":{"$ref":"#/components/schemas/TransactionTypeENUM"},"saleCostPrice":{"type":"integer"}}},"StockLogReferenceSchema":{"title":"StockLogReferenceSchema","type":"object","required":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","responseType"],"properties":{"salesOrder":{"$ref":"#/components/schemas/StockLogSalesOrderReferenceSchema"},"rmaOrder":{"$ref":"#/components/schemas/StockLogRmaOrderReferenceSchema"},"stocktaking":{"$ref":"#/components/schemas/StockLogStocktakingReferenceSchema"},"internalPurchaseOrder":{"$ref":"#/components/schemas/StockLogInternalPurchaseOrderReferenceSchema"},"serviceOrder":{"$ref":"#/components/schemas/StockLogServiceOrderReferenceSchema"},"receivement":{"$ref":"#/components/schemas/StockLogReceivementReferenceSchema"},"responseType":{"type":"string","enum":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","noReference"]}}},"StockLogSalesOrderReferenceSchema":{"title":"StockLogSalesOrderReferenceSchema","type":"object","nullable":true,"required":["orderNumber","orderUid","storeUid","orderItemUid"],"properties":{"orderNumber":{"type":"string"},"orderUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StockLogRmaOrderReferenceSchema":{"title":"StockLogRmaOrderReferenceSchema","type":"object","nullable":true,"required":["rmaNumber","storeUid","rmaOrderUid","rmaOrderItemUid"],"properties":{"rmaNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"rmaOrderUid":{"$ref":"#/components/schemas/UID"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogStocktakingReferenceSchema":{"title":"StockLogStocktakingReferenceSchema","type":"object","nullable":true,"required":["name","storeUid","stocktakingUid","stocktakingItemUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogInternalPurchaseOrderReferenceSchema":{"title":"StockLogInternalPurchaseOrderReferenceSchema","type":"object","nullable":true,"required":["internalPurchaseNumber","storeUid","internalPurchaseOrderUid","internalPurchaseOrderItemUid"],"properties":{"internalPurchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogServiceOrderReferenceSchema":{"title":"StockLogServiceOrderReferenceSchema","type":"object","nullable":true,"required":["serviceOrderNumber","storeUid","serviceOrderUid","serviceOrderItemUid"],"properties":{"serviceOrderNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogReceivementReferenceSchema":{"title":"StockLogReceivementReferenceSchema","type":"object","nullable":true,"required":["purchaseNumber","storeUid","purchaseOrderUid","purchaseOrderItemUid","receivementUid","receivementItemUid"],"properties":{"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"}}},"TransactionTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE | Receive (Purchase)|\n| DELIVERY | Deliver ( Sales)|\n| MOVE | Move between depts|\n| RETURN | Return of items|\n| INVENTORY_CONTROL | Inventory Control|\n| INTERNAL | Theft / Internal use|\n| SET_STOCK | Set stock|\n| ADJUST_STOCK | Adjust stock|\n| ADJUST_COST | Adjust cost|\n| RMA_ORDER | RMA Order|\n","enum":["RECEIVE","DELIVERY","MOVE","RETURN","INVENTORY_CONTROL","INTERNAL","SET_STOCK","ADJUST_STOCK","ADJUST_COST","RMA_ORDER"],"title":"TransactionTypeENUM","type":"string"}}}}
```

## The StockLogSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogSearchRequestSchema":{"properties":{"fromDateTime":{"format":"date-time","type":"string"},"serialnumber":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"toDateTime":{"format":"date-time","type":"string"}},"title":"StockLogSearchRequestSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingControlTotalsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingControlTotalsResponseSchema":{"title":"StocktakingControlTotalsResponseSchema","type":"object","required":["productsWithPositiveDiffCount","positiveDiffAmount","productsWithNegativeDiffCount","negativeDiffAmount","stockValueAtStart","stockValueRegistered"],"properties":{"productsWithPositiveDiffCount":{"type":"integer"},"positiveDiffAmount":{"type":"integer"},"productsWithNegativeDiffCount":{"type":"integer"},"negativeDiffAmount":{"type":"integer"},"stockValueAtStart":{"type":"integer"},"stockValueRegistered":{"type":"integer"}}}}}}
```

## The StocktakingControlItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingControlItemResponseSchema":{"title":"StocktakingControlItemResponseSchema","type":"object","required":["costPrice","brandName","createdAt","createdBy","name","note","productGroupName","productUid","quantityDiff","quantityRegistered","quantityStock","sku","stocktakingItemUid"],"properties":{"costPrice":{"type":"integer"},"brandName":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"name":{"type":"string"},"note":{"type":"string"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityDiff":{"description":"differenece between quantityStock and quantityRegistered","type":"integer"},"quantityRegistered":{"description":"Registered quantity","type":"integer"},"quantityStock":{"description":"Quantity in stock before registering","type":"integer"},"sku":{"type":"string"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingControlResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingControlResponseSchema":{"description":"StocktakingControlResponseSchema","title":"StocktakingControlResponseSchema","type":"object","required":["createdAt","createdBy","description","totals","items","lastModifiedAt","lastModifiedBy","status","stocktakingUid","warehouseUid","withStock"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"totals":{"$ref":"#/components/schemas/StocktakingControlTotalsResponseSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/StocktakingControlItemResponseSchema"}},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"paging":{"$ref":"#/components/schemas/Paging"},"status":{"$ref":"#/components/schemas/StocktakingStatusENUM"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"withStock":{"type":"boolean"}}},"StocktakingControlTotalsResponseSchema":{"title":"StocktakingControlTotalsResponseSchema","type":"object","required":["productsWithPositiveDiffCount","positiveDiffAmount","productsWithNegativeDiffCount","negativeDiffAmount","stockValueAtStart","stockValueRegistered"],"properties":{"productsWithPositiveDiffCount":{"type":"integer"},"positiveDiffAmount":{"type":"integer"},"productsWithNegativeDiffCount":{"type":"integer"},"negativeDiffAmount":{"type":"integer"},"stockValueAtStart":{"type":"integer"},"stockValueRegistered":{"type":"integer"}}},"StocktakingControlItemResponseSchema":{"title":"StocktakingControlItemResponseSchema","type":"object","required":["costPrice","brandName","createdAt","createdBy","name","note","productGroupName","productUid","quantityDiff","quantityRegistered","quantityStock","sku","stocktakingItemUid"],"properties":{"costPrice":{"type":"integer"},"brandName":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"name":{"type":"string"},"note":{"type":"string"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"quantityDiff":{"description":"differenece between quantityStock and quantityRegistered","type":"integer"},"quantityRegistered":{"description":"Registered quantity","type":"integer"},"quantityStock":{"description":"Quantity in stock before registering","type":"integer"},"sku":{"type":"string"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"Paging":{"description":"totalCount The total number of items in the result set.\n\npageSize The number of items per page.\n\npageNumber The current page in the result set.","properties":{"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"}},"required":["totalCount","pageSize","pageNumber"],"title":"Paging","type":"object"},"StocktakingStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Stock counting not started|\n| IN_PROGRESS | Stock counting is in progress. Registraions can be made.|\n| COMPLETE | Stock counting is complete|\n| DELETED | Stock counting is deleted, stock not adjusted|\n| CONTROL | Stock counting is in control mode, no further registrations can be made|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","DELETED","CONTROL"],"title":"StocktakingStatusENUM","type":"string"}}}}
```

## The StocktakingCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingCreateRequestSchema":{"description":"Stock Counting request schema","title":"StocktakingCreateRequestSchema","type":"object","properties":{"description":{"type":"string"},"type":{"$ref":"#/components/schemas/StocktakingTypeENUM"},"withStock":{"default":false,"type":"boolean"},"stocktakingUid":{"$ref":"#/components/schemas/UID"}},"required":["description","type","withStock"]},"StocktakingTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Stock counting containing all productUids in tenant|\n| PARTIAL | Stock counting containing a list of specific producdIds|\n| RECOUNT | Make a new stock taking with a set of productUids to be recounted|\n","enum":["FULL","PARTIAL","RECOUNT"],"title":"StocktakingTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingItemSchema":{"description":"Items in a stocktaking","title":"StocktakingItemSchema","type":"object","required":["createdAt","createdBy","lastModifiedAt","lastModifiedBy","note","product","serialnumbers","stocktakingItemUid"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"note":{"type":"string"},"product":{"$ref":"#/components/schemas/StocktakingItemProductSchema"},"serialnumbers":{"type":"array","items":{"type":"string"}},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"StocktakingItemProductSchema":{"description":"Items in a stocktaking","title":"StocktakingItemProductSchema","type":"object","required":["brandName","gtins","name","productGroupName","productUid","serialNoRequired","sku"],"properties":{"brandName":{"type":"string"},"gtins":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"}}}}
```

## The StocktakingItemProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingItemProductSchema":{"description":"Items in a stocktaking","title":"StocktakingItemProductSchema","type":"object","required":["brandName","gtins","name","productGroupName","productUid","serialNoRequired","sku"],"properties":{"brandName":{"type":"string"},"gtins":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"productGroupName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sku":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"}}}}
```

## The StocktakingItemUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingItemUpdateSchema":{"description":"Update a stocktaking item","title":"StocktakingItemUpdateSchema","type":"object","required":["note"],"properties":{"note":{"type":"string"}}}}}}
```

## The StocktakingRegistrationItemRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingRegistrationItemRequestSchema":{"description":"Schema for a stocktaking registration","title":"StocktakingRegistrationItemRequestSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingRegistrationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingRegistrationRequestSchema":{"description":"Schema for a list of stocktaking registrations","properties":{"items":{"items":{"$ref":"#/components/schemas/StocktakingRegistrationItemRequestSchema"},"type":"array"}},"required":["items"],"title":"StocktakingRegistrationRequestSchema","type":"object"},"StocktakingRegistrationItemRequestSchema":{"description":"Schema for a stocktaking registration","title":"StocktakingRegistrationItemRequestSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingRegistrationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingRegistrationResponseSchema":{"description":"Schema for a stocktaking registration","title":"StocktakingRegistrationResponseSchema","type":"object","required":["stocktakingRegistrationUid","createdAt","createdBy","quantity","serialnumber","note"],"properties":{"stocktakingRegistrationUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StocktakingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingResponseSchema":{"description":"Stock Counting response schema","properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"description":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"status":{"$ref":"#/components/schemas/StocktakingStatusENUM"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/StocktakingTypeENUM"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"withStock":{"type":"boolean"}},"required":["stocktakingUid","warehouseUid","description","withStock","type","status","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"StocktakingResponseSchema","type":"object"},"StocktakingStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Stock counting not started|\n| IN_PROGRESS | Stock counting is in progress. Registraions can be made.|\n| COMPLETE | Stock counting is complete|\n| DELETED | Stock counting is deleted, stock not adjusted|\n| CONTROL | Stock counting is in control mode, no further registrations can be made|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","DELETED","CONTROL"],"title":"StocktakingStatusENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StocktakingTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Stock counting containing all productUids in tenant|\n| PARTIAL | Stock counting containing a list of specific producdIds|\n| RECOUNT | Make a new stock taking with a set of productUids to be recounted|\n","enum":["FULL","PARTIAL","RECOUNT"],"title":"StocktakingTypeENUM","type":"string"}}}}
```

## The StocktakingStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Stock counting not started|\n| IN_PROGRESS | Stock counting is in progress. Registraions can be made.|\n| COMPLETE | Stock counting is complete|\n| DELETED | Stock counting is deleted, stock not adjusted|\n| CONTROL | Stock counting is in control mode, no further registrations can be made|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","DELETED","CONTROL"],"title":"StocktakingStatusENUM","type":"string"}}}}
```

## The StocktakingTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Stock counting containing all productUids in tenant|\n| PARTIAL | Stock counting containing a list of specific producdIds|\n| RECOUNT | Make a new stock taking with a set of productUids to be recounted|\n","enum":["FULL","PARTIAL","RECOUNT"],"title":"StocktakingTypeENUM","type":"string"}}}}
```

## The StocktakingUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingUpdateRequestSchema":{"properties":{"description":{"type":"string"},"status":{"$ref":"#/components/schemas/StocktakingStatusENUM"}},"required":["description","status"],"title":"StocktakingUpdateRequestSchema","type":"object"},"StocktakingStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Stock counting not started|\n| IN_PROGRESS | Stock counting is in progress. Registraions can be made.|\n| COMPLETE | Stock counting is complete|\n| DELETED | Stock counting is deleted, stock not adjusted|\n| CONTROL | Stock counting is in control mode, no further registrations can be made|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","DELETED","CONTROL"],"title":"StocktakingStatusENUM","type":"string"}}}}
```

## The StoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreResponseSchema":{"title":"StoreResponseSchema","type":"object","required":["address","city","countryCode","createdAt","defaultWarehouseUid","defaultReturnWarehouseUid","defaultDeliveryWarehouseUid","email","externalId","isActive","lastModifiedAt","latitude","longitude","name","postalCode","phone","purchaseNumberSeriesUid","internalPurchaseNumberSeriesUid","rmaOrderNumberSeriesUid","customerLedgerNumberSeriesUid","quicksaleCategoryUid","receiptMessage","emailReceiptMessage","exchangenoteMessage","exchangenoteValidDays","salesPriceUid","purchasePriceListUid","appSettings","storeUid","vatNumber","voucherNumberSeriesUid","serviceNumberSeriesUid","hasWorkShop","organizationUid","availableExtensions","openingHours","bankInfo","websiteUrl","invoiceFooterText","labelComparisonPricelistUid","addresses","enableStoreCashReconciliation","cashReconciliationCutOffTime","logoAssetUid"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"defaultWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultReturnWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultDeliveryWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"lastModifiedAt":{"format":"date-time","type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"postalCode":{"type":"string"},"phone":{"type":"string"},"purchaseNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"customerLedgerNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"quicksaleCategoryUid":{"$ref":"#/components/schemas/OptionalUID"},"receiptMessage":{"type":"string"},"emailReceiptMessage":{"type":"string"},"exchangenoteMessage":{"type":"string"},"exchangenoteValidDays":{"type":"integer","description":"Number of days an exchangenote is valid."},"salesPriceUid":{"$ref":"#/components/schemas/OptionalUID"},"purchasePriceListUid":{"$ref":"#/components/schemas/OptionalUID"},"settings":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/StoreSettingSchema"}},"appSettings":{"$ref":"#/components/schemas/StoreAppSettingResponseSchema"},"storeUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"voucherNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"serviceNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"hasWorkShop":{"type":"boolean"},"organizationUid":{"$ref":"#/components/schemas/UID"},"availableExtensions":{"type":"array","items":{"$ref":"#/components/schemas/AvailableExtensionSchema"}},"openingHours":{"$ref":"#/components/schemas/OpeningHoursResponseSchema"},"bankInfo":{"$ref":"#/components/schemas/BankInfoResponseSchema"},"websiteUrl":{"type":"string"},"invoiceFooterText":{"type":"string"},"labelComparisonPricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/StoreAddressResponseSchema"}},"enableStoreCashReconciliation":{"type":"boolean"},"cashReconciliationCutOffTime":{"type":"string","format":"time","description":"Daily cut-off time (e.g. 4 AM). After this time, tills cannot open until the previous settlement is complete."},"logoAssetUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreSettingSchema":{"description":"","properties":{"key":{"$ref":"#/components/schemas/StoreSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"StoreSettingSchema","type":"object"},"StoreSettingKeyENUM":{"enum":["VIPPS_MSN","ADYEN_API_KEY"],"title":"StoreSettingKey","type":"string"},"StoreAppSettingResponseSchema":{"title":"StoreAppSettingResponseSchema","type":"object","required":["hidePurchase","hideReceivement","enableUnlinkedPayments","requireGtinScanBeforeDeliverOut"],"properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"},"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"AvailableExtensionSchema":{"title":"AvailableExtensionSchema","type":"object","required":["extensionCode","name"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"}}},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"OpeningHoursResponseSchema":{"title":"OpeningHoursResponseSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}},"required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday","note"]},"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"StoreAddressResponseSchema":{"title":"StoreAddressResponseSchema","allOf":[{"type":"object","required":["storeAddressUid","companyName","vatNumber","address","postalCode","city","countryCode","email","phone","type","default"],"properties":{"storeAddressUid":{"$ref":"#/components/schemas/UID"},"companyName":{"type":"string"},"vatNumber":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"type":{"$ref":"#/components/schemas/StoreAddressTypeENUM"},"default":{"type":"boolean"}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"StoreAddressTypeENUM":{"title":"StoreAddressTypeENUM","enum":["PURCHASE_INVOICE_ADDRESS","DELIVERY_ADDRESS"],"type":"string"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The DeviceStoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceStoreResponseSchema":{"title":"DeviceStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid","organizationUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BasicStoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BasicOrganizationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BasicOrganizationResponseSchema":{"title":"BasicOrganizationResponseSchema","type":"object","required":["name","organizationUid"],"properties":{"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PurchaseOrderRefResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderRefResponseSchema":{"title":"PurchaseOrderRefResponseSchema","type":"object","required":["purchaseOrderUid","purchaseNumber","externalId"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseNumber":{"type":"string"},"externalId":{"type":"string","description":"External reference to the purchase order."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplierNameResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierNameResponseSchema":{"title":"SupplierNameResponseSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreNameResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreNameResponseSchema":{"title":"StoreNameResponseSchema","type":"object","required":["storeUid","name"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrganizationNameResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrganizationNameResponseSchema":{"title":"OrganizationNameResponseSchema","type":"object","required":["organizationUid","name"],"properties":{"organizationUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseNameResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseNameResponseSchema":{"title":"WarehouseNameResponseSchema","type":"object","required":["warehouseUid","name"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BasicTenantRoleResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BasicTenantRoleResponseSchema":{"title":"BasicTenantRoleResponseSchema","type":"object","required":["name","tenantRoleUid","isSystemRole"],"properties":{"name":{"type":"string"},"tenantRoleUid":{"$ref":"#/components/schemas/UID"},"isSystemRole":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerStoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerStoreResponseSchema":{"title":"CustomerStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderIntakeStoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderIntakeStoreResponseSchema":{"title":"OrderIntakeStoreResponseSchema","type":"object","required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrganizationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrganizationResponseSchema":{"title":"OrganizationResponseSchema","type":"object","required":["address","city","countryCode","createdAt","email","externalId","isActive","lastModifiedAt","name","postalCode","phone","organizationUid","vatNumber","bankInfo","websiteUrl","appSettings"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"postalCode":{"type":"string"},"phone":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"bankInfo":{"$ref":"#/components/schemas/BankInfoResponseSchema"},"websiteUrl":{"type":"string"},"appSettings":{"$ref":"#/components/schemas/OrgAppSettingResponseSchema"}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"OrgAppSettingResponseSchema":{"title":"OrgAppSettingResponseSchema","type":"object","required":["requireGtinScanBeforeDeliverOut"],"properties":{"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}}}}}
```

## The StoreCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/StoreUpdateRequestSchema"},{"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"voucherNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"purchaseNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"rmaOrderNumberSeriesUid":{"$ref":"#/components/schemas/UID"},"customerLedgerNumberSeriesUid":{"$ref":"#/components/schemas/UID"}},"required":["organizationUid","name","voucherNumberSeriesUid","purchaseNumberSeriesUid"]}],"title":"StoreCreateRequestSchema","type":"object"},"StoreUpdateRequestSchema":{"title":"StoreUpdateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"defaultReturnWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultDeliveryWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"purchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"internalPurchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"customerLedgerNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"quicksaleCategoryUid":{"$ref":"#/components/schemas/OptionalUID"},"receiptMessage":{"type":"string"},"emailReceiptMessage":{"type":"string"},"exchangenoteMessage":{"type":"string"},"exchangenoteValidDays":{"type":"integer","description":"Number of days an exchangenote is valid."},"salesPriceUid":{"$ref":"#/components/schemas/OptionalUID"},"purchasePriceListUid":{"$ref":"#/components/schemas/OptionalUID"},"appSettings":{"$ref":"#/components/schemas/StoreAppSettingRequestSchema"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"voucherNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"hasWorkshop":{"type":"boolean"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"openingHours":{"$ref":"#/components/schemas/OpeningHoursRequestSchema"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"websiteUrl":{"type":"string"},"invoiceFooterText":{"type":"string"},"labelComparisonPricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"enableStoreCashReconciliation":{"type":"boolean"},"cashReconciliationCutOffTime":{"type":"string","format":"time","description":"Daily cut-off time (e.g. 4 AM). After this time, tills cannot open until the previous settlement is complete."},"logoAssetUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"StoreAppSettingRequestSchema":{"title":"StoreAppSettingRequestSchema","type":"object","properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"}}},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OpeningHoursRequestSchema":{"title":"OpeningHoursRequestSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}}},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreUpdateRequestSchema":{"title":"StoreUpdateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"defaultReturnWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"defaultDeliveryWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"purchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"internalPurchaseNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"customerLedgerNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"quicksaleCategoryUid":{"$ref":"#/components/schemas/OptionalUID"},"receiptMessage":{"type":"string"},"emailReceiptMessage":{"type":"string"},"exchangenoteMessage":{"type":"string"},"exchangenoteValidDays":{"type":"integer","description":"Number of days an exchangenote is valid."},"salesPriceUid":{"$ref":"#/components/schemas/OptionalUID"},"purchasePriceListUid":{"$ref":"#/components/schemas/OptionalUID"},"appSettings":{"$ref":"#/components/schemas/StoreAppSettingRequestSchema"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"voucherNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"hasWorkshop":{"type":"boolean"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceNumberSeriesUid":{"$ref":"#/components/schemas/OptionalUID"},"openingHours":{"$ref":"#/components/schemas/OpeningHoursRequestSchema"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"websiteUrl":{"type":"string"},"invoiceFooterText":{"type":"string"},"labelComparisonPricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"enableStoreCashReconciliation":{"type":"boolean"},"cashReconciliationCutOffTime":{"type":"string","format":"time","description":"Daily cut-off time (e.g. 4 AM). After this time, tills cannot open until the previous settlement is complete."},"logoAssetUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"StoreAppSettingRequestSchema":{"title":"StoreAppSettingRequestSchema","type":"object","properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"}}},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"OpeningHoursRequestSchema":{"title":"OpeningHoursRequestSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}}},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}}}}}
```

## The OrganizationCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrganizationCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/OrganizationUpdateRequestSchema"},{"properties":{"organizationUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"OrganizationCreateRequestSchema"},"OrganizationUpdateRequestSchema":{"title":"OrganizationUpdateRequestSchema","type":"object","required":["name"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"websiteUrl":{"type":"string"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"appSettings":{"$ref":"#/components/schemas/OrgAppSettingRequestSchema"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"OrgAppSettingRequestSchema":{"title":"OrgAppSettingRequestSchema","type":"object","properties":{"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrganizationUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrganizationUpdateRequestSchema":{"title":"OrganizationUpdateRequestSchema","type":"object","required":["name"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"websiteUrl":{"type":"string"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"appSettings":{"$ref":"#/components/schemas/OrgAppSettingRequestSchema"}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"OrgAppSettingRequestSchema":{"title":"OrgAppSettingRequestSchema","type":"object","properties":{"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}}}}}
```

## The StorePaymentMethodCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePaymentMethodCreateRequestSchema":{"title":"StorePaymentMethodCreateRequestSchema","type":"object","properties":{"active":{"type":"boolean"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"tenantPaymentMethodUid":{"$ref":"#/components/schemas/UID"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"}},"required":["tenantPaymentMethodUid"]},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StorePaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePaymentMethodResponseSchema":{"description":"","properties":{"active":{"type":"boolean"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"storeSettlementIssuers":{"description":"Bool indication there are storeSettlementIssuer records on this storePaymentMethod","type":"boolean"},"tenantPaymentMethod":{"$ref":"#/components/schemas/TenantPaymentMethodResponseSchema"}},"required":["storePaymentMethodUid","ledgerType","ledgerNumber","storeSettlementIssuers","active","tenantPaymentMethod"],"title":"StorePaymentMethodResponseSchema","type":"object"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TenantPaymentMethodResponseSchema":{"title":"TenantPaymentMethodResponseSchema","type":"object","required":["active","name","description","settlementCode","paymentMethod","allowRefund","tenantPaymentMethodUid","allowSale","allowPrepayment","allowCashback","parameters","externalSystemMappings","position","visibility","requirements","amountInput","useRounding","receiptText"],"properties":{"active":{"type":"boolean"},"name":{"type":"string","description":"The name will be displayed in the clients and on the receipt"},"description":{"type":"string","description":"A description of the payment method, shown in the client"},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt when this payment method is used. Empty when not configured."},"settlementCode":{"type":"string"},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethodResponseSchema"},"allowRefund":{"type":"boolean","description":"if true, paymentMethod can be used when settling a refund."},"tenantPaymentMethodUid":{"$ref":"#/components/schemas/UID"},"allowSale":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowPrepayment":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowCashback":{"type":"boolean","description":"if true, settlement amount can be higher than remainingAmount when settling a sale."},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/TenantPaymentMethodParameterExtractResponseSchema"}},"externalSystemMappings":{"type":"array","items":{"$ref":"#/components/schemas/TenantPaymentMethodMappingResponseSchema"}},"position":{"type":"integer","description":"order of appearance in lists"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"}}},"PaymentMethodResponseSchema":{"title":"PaymentMethodResponseSchema","type":"object","required":["allowRefund","allowSale","allowAmount","allowCashback","allowPrepayment","requireExclusiveUse","name","parameters","paymentCode"],"properties":{"allowRefund":{"type":"boolean","description":"if true, paymentMethod can be used when settling a refund."},"allowSale":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowAmount":{"type":"boolean","description":"if true, settled amount can be != remainingAmount set when settling a sale."},"allowCashback":{"type":"boolean","description":"if true, settlement amount can be higher than remainingAmount when settling a sale."},"allowPrepayment":{"type":"boolean","description":"if true, payment method is allowed as a prepayment settlement"},"requireExclusiveUse":{"type":"boolean","description":"defines whether or not the payment method can be used in combination with other payment methods."},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodParameterSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"}}},"PaymentMethodParameterSchema":{"description":"PaymentMethodParameter","properties":{"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/PaymentMethodParameterTypeENUM"},"name":{"type":"string"},"required":{"type":"boolean"}},"required":["keyType","key","name","required"],"title":"PaymentMethodParameterSchema","type":"object"},"PaymentMethodParameterTypeENUM":{"description":"","enum":["TEXT","INTEGER","DATE","MOBILE","MODULUS10","MODULUS11"],"title":"PaymentMethodParameterTypeENUM","type":"string"},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"TenantPaymentMethodParameterExtractResponseSchema":{"title":"TenantPaymentMethodParameterExtractResponseSchema","description":"TenantPaymentMethodParameterExtractResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","type","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"TenantPaymentMethodMappingResponseSchema":{"title":"TenantPaymentMethodMappingResponseSchema","allOf":[{"$ref":"#/components/schemas/GeneralMappingResponseSchema"},{"type":"object","required":["tenantPaymentMethodMappingUid"],"properties":{"tenantPaymentMethodMappingUid":{"type":"string"}}}]},"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The StorePaymentMethodUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePaymentMethodUpdateRequestSchema":{"title":"StorePaymentMethodUpdateRequestSchema","properties":{"active":{"type":"boolean"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"}},"type":"object"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"}}}}
```

## The StoreProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreProductResponseSchema":{"allOf":[{"type":"object","properties":{"storeProductDetails":{"$ref":"#/components/schemas/StoreProductDetailsSchema"}},"required":["costPrice","grossProfitAmount","grossProfitPercentage","price","quantityReserved","quantityStock","storeProductDetails"]},{"$ref":"#/components/schemas/ProductResponseSchema"}],"description":"StoreProductResponseSchema"},"StoreProductDetailsSchema":{"description":"StoreProductDetailsSchema","type":"object","title":"StoreProductDetailsSchema","required":["grossProfitAmount","grossProfitPercentage","costPrice","price","campaignPrice","campaignName","quantityReserved","quantityStock","quantityOrdered","warehouseStockDetails","soaAmounts"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"price":{"type":"integer"},"campaignPrice":{"type":"integer","description":"Lowest price found in an active campaign"},"campaignName":{"type":"string","description":"Name of campaign for campaignPrice"},"quantityReserved":{"type":"integer","description":"Total reserved quantity on salesorders"},"quantityStock":{"type":"integer","description":"Total quantity in stock"},"quantityOrdered":{"type":"integer","description":"Total Quantity in purchase orders that is not received yet."},"warehouseStockDetails":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductWarehouseStockDetailsSchema"}},"soaAmounts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductSOADetailsSchema"}}}},"StoreProductWarehouseStockDetailsSchema":{"title":"StoreProductWarehouseStockDetailsSchema","type":"object","required":["grossProfitAmount","grossProfitPercentage","costPrice","quantityReserved","quantityStock","locationLabel","storeUid","storeName","warehouseUid","warehouseName"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"locationLabel":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreProductSOADetailsSchema":{"title":"StoreProductSOADetailsSchema","type":"object","required":["soaUid","soaName","amount","fromDateTime","toDateTime","soaAmountUid"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"soaName":{"type":"string"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The StoreProductDetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreProductDetailsSchema":{"description":"StoreProductDetailsSchema","type":"object","title":"StoreProductDetailsSchema","required":["grossProfitAmount","grossProfitPercentage","costPrice","price","campaignPrice","campaignName","quantityReserved","quantityStock","quantityOrdered","warehouseStockDetails","soaAmounts"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"price":{"type":"integer"},"campaignPrice":{"type":"integer","description":"Lowest price found in an active campaign"},"campaignName":{"type":"string","description":"Name of campaign for campaignPrice"},"quantityReserved":{"type":"integer","description":"Total reserved quantity on salesorders"},"quantityStock":{"type":"integer","description":"Total quantity in stock"},"quantityOrdered":{"type":"integer","description":"Total Quantity in purchase orders that is not received yet."},"warehouseStockDetails":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductWarehouseStockDetailsSchema"}},"soaAmounts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductSOADetailsSchema"}}}},"StoreProductWarehouseStockDetailsSchema":{"title":"StoreProductWarehouseStockDetailsSchema","type":"object","required":["grossProfitAmount","grossProfitPercentage","costPrice","quantityReserved","quantityStock","locationLabel","storeUid","storeName","warehouseUid","warehouseName"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"locationLabel":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreProductSOADetailsSchema":{"title":"StoreProductSOADetailsSchema","type":"object","required":["soaUid","soaName","amount","fromDateTime","toDateTime","soaAmountUid"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"soaName":{"type":"string"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The StoreProductSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreProductSearchSchema":{"title":"StoreProductSearchSchema","type":"object","properties":{"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"exactMatch":{"type":"boolean"},"query":{"type":"string"},"productName":{"type":"string","description":"Filter on product name. Case-insensitive partial match unless exactMatch is true."},"gtin":{"type":"string","description":"Filter on GTIN barcode. Exact match."},"productGroupUids":{"type":"array","description":"A list of product group UIDs that you want to include in the search","items":{"$ref":"#/components/schemas/UID"}},"productGroupScopes":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupScopeENUM"}},"supplierUid":{"$ref":"#/components/schemas/UID"},"productUids":{"type":"array","description":"A list of product UIDs to search for","items":{"$ref":"#/components/schemas/UID"}},"hideVariants":{"type":"boolean"},"includeDiscontinued":{"type":"boolean"},"visibility":{"type":"array","description":"Filter on product visibility","items":{"$ref":"#/components/schemas/ProductVisibilityENUM"}},"productTypes":{"type":"array","items":{"$ref":"#/components/schemas/ProductTypeENUM"}},"warehouseUids":{"type":"array","description":"Only included specific warehouses in the result","items":{"$ref":"#/components/schemas/UID"}},"onlyInStock":{"type":"boolean","description":"If true, returns only products with stocklevel > 0"},"hideNotAllowPurchase":{"type":"boolean","description":"when true, only show products with `allowPurchase` = true"},"hasSoaAmounts":{"type":"boolean","description":"optionally filter on products that have or do not have SOA amounts"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGroupScopeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SALE | Sale product scope. Default|\n| SERVICE | Service product scope|\n| NO_SEARCH | Not visible in search scope|\n","minLength":1,"title":"ProductGroupScopeENUM","type":"string","enum":["SALE","SERVICE","NO_SEARCH"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"}}}}
```

## The StoreReportTurnoverItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreReportTurnoverItemSchema":{"description":"","properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"discountAmount":{"type":"integer"},"name":{"type":"string"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"turnoverAmount":{"type":"integer"}},"required":["storeUid","name","turnoverAmount","revenueAmount","revenuePercent","discountAmount","costAmount","count"],"title":"StoreTurnoverReportItem","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreReportTurnoverDateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreReportTurnoverDateSchema":{"title":"StoreReportTurnoverDateSchema","type":"object","required":["costAmount","count","date","discountAmount","revenueAmount","revenuePercent","turnoverAmount"],"properties":{"costAmount":{"type":"integer"},"count":{"type":"integer"},"date":{"type":"string"},"discountAmount":{"type":"integer"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"turnoverAmount":{"type":"integer"}}}}}}
```

## The TenantUserReportTurnoverSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserReportTurnoverSchema":{"title":"TenantUserReportTurnoverSchema","type":"object","properties":{"position":{"type":"integer"},"costAmount":{"type":"integer"},"orderCount":{"type":"integer"},"discountAmount":{"type":"integer"},"revenueAmount":{"type":"integer"},"revenuePercent":{"type":"integer"},"turnoverAmount":{"type":"integer"},"vatAmount":{"type":"integer"},"firstName":{"type":"string"},"lastName":{"type":"string"},"displayName":{"type":"string"},"tenantUserUid":{"type":"string"}},"required":["position","costAmount","orderCount","discountAmount","revenueAmount","revenuePercent","turnoverAmount","vatAmount","firstName","lastName","displayName","tenantUserUid"]}}}}
```

## The StoreRoleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"}}}}
```

## The StoreExtensionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreExtensionCreateRequestSchema":{"title":"StoreExtensionCreateRequestSchema","type":"object","properties":{"active":{"type":"boolean","description":"Activate/Deactivate the extension on the store"},"storeParameters":{"type":"array","description":"A list of store parameters. \nThe valid keys can be found in storeParameterKeys on the tenantExtension.\nIf there are no storeParameterKeys you need to supply an empty list.","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"storeExtensionUid":{"$ref":"#/components/schemas/UID"}},"required":["active","storeParameters","tenantExtensionUid"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The GeneralParameterRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}}}}
```

## The StoreExtensionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreExtensionUpdateRequestSchema":{"title":"StoreExtensionUpdateRequestSchema","type":"object","properties":{"active":{"type":"boolean","description":"Activate/Deactivate the extension on the store"},"storeParameters":{"type":"array","description":"A list of store parameters. \nThe valid keys can be found in storeParameterKeys on the tenantExtension.\nIf there are no storeParameterKeys you need to supply an empty list.","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}}},"required":["active","storeParameters"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}}}}
```

## The StoreExtensionTenantExtensionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreExtensionStoreResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreExtensionStoreResponseSchema":{"description":"StoreExtensionStoreResponseSchema","type":"object","title":"StoreExtensionStoreResponseSchema","properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}},"required":["storeExtensionUid","active","storeUid","storeName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreExtensionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreExtensionResponseSchema":{"description":"StoreExtensionResponseSchema","title":"StoreExtensionResponseSchema","type":"object","required":["storeExtensionUid","active","storeParameters","tenantExtension","statusMessages","capabilities"],"properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"tenantExtension":{"$ref":"#/components/schemas/StoreExtensionTenantExtensionResponseSchema"},"statusMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionCapabilityENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]}}}}
```

## The StoreSettingSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreSettingSchema":{"description":"","properties":{"key":{"$ref":"#/components/schemas/StoreSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"StoreSettingSchema","type":"object"},"StoreSettingKeyENUM":{"enum":["VIPPS_MSN","ADYEN_API_KEY"],"title":"StoreSettingKey","type":"string"}}}}
```

## The StoreAppSettingRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreAppSettingRequestSchema":{"title":"StoreAppSettingRequestSchema","type":"object","properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"}}}}}}
```

## The StoreAppSettingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreAppSettingResponseSchema":{"title":"StoreAppSettingResponseSchema","type":"object","required":["hidePurchase","hideReceivement","enableUnlinkedPayments","requireGtinScanBeforeDeliverOut"],"properties":{"hidePurchase":{"type":"boolean"},"hideReceivement":{"type":"boolean"},"enableUnlinkedPayments":{"type":"boolean"},"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}}}}}
```

## The OrgAppSettingRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrgAppSettingRequestSchema":{"title":"OrgAppSettingRequestSchema","type":"object","properties":{"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}}}}}
```

## The OrgAppSettingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrgAppSettingResponseSchema":{"title":"OrgAppSettingResponseSchema","type":"object","required":["requireGtinScanBeforeDeliverOut"],"properties":{"requireGtinScanBeforeDeliverOut":{"type":"boolean"}}}}}}
```

## The StoreSettingKeyENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreSettingKeyENUM":{"enum":["VIPPS_MSN","ADYEN_API_KEY"],"title":"StoreSettingKey","type":"string"}}}}
```

## The StoreSettlementIssuerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreSettlementIssuerResponseSchema":{"description":"","properties":{"code":{"type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"name":{"type":"string"},"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"}},"required":["storeSettlementIssuerUid","ledgerType","ledgerNumber","name","code"],"title":"StoreSettlementIssuerResponseSchema","type":"object"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreSettlementIssuerUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreSettlementIssuerUpdateRequestSchema":{"title":"StoreSettlementIssuerUpdateRequestSchema","properties":{"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"}},"type":"object"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"}}}}
```

## The SupplierResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierResponseSchema":{"title":"SupplierResponseSchema","type":"object","required":["address","city","contactEmail","contactName","countryCode","createdAt","email","externalId","lastModifiedAt","name","phone","postalCode","supplierUid","vatNumber","active","bankInfo","fixedDiscountRate","currency","freightPercentage"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"contactEmail":{"$ref":"#/components/schemas/EmailTYPE"},"contactName":{"type":"string"},"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"active":{"type":"boolean"},"bankInfo":{"$ref":"#/components/schemas/BankInfoResponseSchema"},"fixedDiscountRate":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"freightPercentage":{"type":"integer"},"representedStoreUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"Inter-store trade: the store this supplier represents (the seller). Only set when the INTER_STORE_TRADE extension is active."}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}}}}}
```

## The SupplierCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/SupplierUpdateRequestSchema"},{"required":["name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"countryCode":{"type":"string"},"name":{"type":"string"}}}],"title":"SupplierCreateRequestSchema","type":"object"},"SupplierUpdateRequestSchema":{"title":"SupplierUpdateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"contactEmail":{"$ref":"#/components/schemas/EmailTYPE"},"contactName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"active":{"type":"boolean"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"fixedDiscountRate":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"freightPercentage":{"type":"integer"},"representedStoreUid":{"allOf":[{"$ref":"#/components/schemas/OptionalUID"}],"description":"Inter-store trade: the store this supplier represents (the seller). Only settable when the INTER_STORE_TRADE extension is active."}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplierUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierUpdateRequestSchema":{"title":"SupplierUpdateRequestSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"contactEmail":{"$ref":"#/components/schemas/EmailTYPE"},"contactName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"active":{"type":"boolean"},"bankInfo":{"$ref":"#/components/schemas/BankInfoRequestSchema"},"fixedDiscountRate":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"freightPercentage":{"type":"integer"},"representedStoreUid":{"allOf":[{"$ref":"#/components/schemas/OptionalUID"}],"description":"Inter-store trade: the store this supplier represents (the seller). Only settable when the INTER_STORE_TRADE extension is active."}}},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The SupplierProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierProductResponseSchema":{"title":"SupplierProductResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"supplierUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"supplierSku":{"type":"string"}},"required":["createdAt","lastModifiedAt","productUid","supplierUid","purchasePrice","supplierProductUid","supplierSku"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplierProductCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierProductCreateRequestSchema":{"properties":{"supplierProductUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"supplierSku":{"type":"string"}},"required":["productUid","purchasePrice"],"type":"object","title":"SupplierProductCreateRequestSchema"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplierProductUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierProductUpdateRequestSchema":{"title":"SupplierProductUpdateRequestSchema","type":"object","properties":{"purchasePrice":{"type":"integer"},"supplierSku":{"type":"string"}}}}}}
```

## The TenantResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantResponseSchema":{"title":"TenantResponseSchema","type":"object","required":["countryCode","createdAt","lastModifiedAt","name","pricelistUid","tenantUid","vatNumber","settings","appSettings","extensions","assets","timezone","languageCode","currency"],"properties":{"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"settings":{"$ref":"#/components/schemas/TenantSettingsResponseSchema"},"appSettings":{"$ref":"#/components/schemas/TenantAppSettingsResponseSchema"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/TenantExtensionSchema"}},"assets":{"$ref":"#/components/schemas/TenantAssetSchema"},"timezone":{"$ref":"#/components/schemas/TimezoneTYPE"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"currency":{"$ref":"#/components/schemas/TenantCurrencySchema"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"TenantSettingsResponseSchema":{"title":"TenantSettings","type":"object","required":["allowExternalCashDrawer","autoLogout","autoPrintReceipt","numericSkuCounter","printCardPaymentDetails","sendInvoicesExternally","duplicateCheckCustomerPhoneNumber","duplicateCheckCustomerVatNumber","useOriginalSellerOnCreditLine","printReceiptNumber","requiredCustomerFields","requiredCompanyFields","requiredCompanyDepartmentFields","requiredContactFields","enforceStrongPin","customerContactsRequiresEmail","customerContactsEmailDuplicateCheck"],"properties":{"allowExternalCashDrawer":{"type":"boolean","default":false},"autoLogout":{"type":"integer","description":"time in seconds, 0 means not enabled"},"autoPrintReceipt":{"type":"boolean"},"numericSkuCounter":{"type":"integer"},"printCardPaymentDetails":{"type":"boolean","description":"toogle on/off payment terminal details on receipt","default":false},"sendInvoicesExternally":{"type":"boolean"},"duplicateCheckCustomerPhoneNumber":{"type":"boolean","description":"For PERSON customers: Check for unique phone number and email if true"},"duplicateCheckCustomerVatNumber":{"type":"boolean","description":"For COMPANY customers: Check for unique vat number if true"},"useOriginalSellerOnCreditLine":{"type":"boolean","description":"toogle on/off if the original seller should be used in a existing referenced order"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"},"printReceiptNumber":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer","description":"Default lifespan in days for parked orders before expiration","deprecated":true},"autoSendWelcomeSms":{"type":"boolean","deprecated":true},"autoSendWelcomeMail":{"type":"boolean","deprecated":true},"requirePinCodeForSale":{"type":"boolean","description":"description: Turn on/off PIN requirement for sale","deprecated":true},"requirePinCodeForCredit":{"type":"boolean","description":"description: Turn on/off PIN requirement for credit","deprecated":true},"requiredCustomerFields":{"type":"array","items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"}},"requiredCompanyFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredCompanyDepartmentFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredContactFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"enforceStrongPin":{"type":"boolean","description":"For user's app PIN/password creation"},"customerContactsRequiresEmail":{"type":"boolean","description":"Indicate if the customer contacts requires email."},"customerContactsEmailDuplicateCheck":{"type":"boolean","description":"This will enable duplicate check on email\nfor contacts, so it is not possible to have two\ncontacts with the same email."}}},"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]},"NullableCustomerRequiredFieldArray":{"title":"NullableCustomerRequiredFieldArray","type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"},"description":"Type-specific required-field override. Null means inherit requiredCustomerFields.\nAn empty array means no required fields for this type (explicit override).\n"},"TenantAppSettingsResponseSchema":{"title":"TenantAppSettingsResponseSchema","type":"object","required":["showOutOfStockWarning","defaultParkedOrderLifespanDays","requirePinCodeForSale","requirePinCodeForCredit","autoSendWelcomeSms","autoSendWelcomeMail","defaultCustomerGroupUid"],"properties":{"showOutOfStockWarning":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer"},"requirePinCodeForSale":{"type":"boolean"},"requirePinCodeForCredit":{"type":"boolean"},"autoSendWelcomeSms":{"type":"boolean"},"autoSendWelcomeMail":{"type":"boolean"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"}}},"TenantExtensionSchema":{"title":"TenantExtensionSchema","type":"object","required":["extensionCode","name","active","tenantExtensionUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"}}},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"TenantAssetSchema":{"title":"TenantAssetSchema","type":"object","required":["logo","splash"],"properties":{"logo":{"$ref":"#/components/schemas/AssetUrlSchema"},"splash":{"$ref":"#/components/schemas/AssetUrlSchema"}}},"AssetUrlSchema":{"title":"AssetUrlSchema","type":"object","required":["url","assetUid"],"properties":{"url":{"type":"string"},"assetUid":{"$ref":"#/components/schemas/UID"}}},"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"},"TenantCurrencySchema":{"title":"TenantCurrencySchema","type":"object","required":["code","name","symbol","symbolPosition","decimalSeparator","thousandSeparator","cashRounding"],"properties":{"code":{"type":"string","description":"ISO 4217"},"name":{"type":"string"},"symbol":{"type":"string","description":"symbol or short name, e.g. `$`, `kr` etc. "},"symbolPosition":{"type":"string","description":"prefix or suffix to the amount"},"decimalSeparator":{"type":"string"},"thousandSeparator":{"type":"string"},"cashRounding":{"type":"integer","description":"the smallest amount accepted as cash"}}}}}}
```

## The TenantAccountAcceptInviteSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantAccountAcceptInviteSchema":{"description":"Accept an invitation","title":"TenantAccountAcceptInviteSchema","type":"object","properties":{"inviteToken":{"type":"string"}},"required":["inviteToken"]}}}}
```

## The TenantAccountTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantAccountTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Access to backoffice and onboarding of new devices|\n| REGULAR | Can only login to already onboarded devices|\n| SUPPORT | Support account|\n| INTEGRATION | Computer integration account|","enum":["FULL","REGULAR","SUPPORT","INTEGRATION"],"title":"TenantAccountTypeENUM","type":"string"}}}}
```

## The TenantAccountUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantAccountUpdateSchema":{"description":"Update the tenant account","title":"TenantAccountUpdateSchema","type":"object","properties":{"defaultStoreUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"password":{"type":"string"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"}}}}
```

## The TenantCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantCreateSchema":{"title":"TenantCreateSchema","type":"object","required":["countryCode","name","vatNumber"],"properties":{"tenantUid":{"$ref":"#/components/schemas/UID"},"countryCode":{"type":"string"},"name":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"timezone":{"$ref":"#/components/schemas/TimezoneTYPE"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"duplicateCheckCustomerPhoneNumber":{"type":"boolean","description":"For PERSON customers: Check for unique phone number and email if true"},"duplicateCheckCustomerVatNumber":{"type":"boolean","description":"For COMPANY customers: Check for unique vat number if true"},"useOriginalSellerOnCreditLine":{"type":"boolean","description":"Toogle on/off if the original seller should be used in a existing referenced order"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"}}}}
```

## The TenantOnboardRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantOnboardRequestSchema":{"title":"TenantOnboardRequestSchema","type":"object","required":["owner","tenant"],"properties":{"owner":{"type":"object","required":["email","firstname","lastname"],"properties":{"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"}}},"tenant":{"type":"object","required":["countryCode","name","vatNumber"],"properties":{"countryCode":{"type":"string"},"name":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"timezone":{"$ref":"#/components/schemas/TimezoneTYPE"},"tenantUid":{"$ref":"#/components/schemas/UID"}}},"organization":{"type":"object","required":["name"],"properties":{"organizationUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"store":{"type":"object","required":["name"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"warehouse":{"type":"object","required":["name"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"}}}}
```

## The TenantOnboardResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantOnboardResponseSchema":{"properties":{"message":{"type":"string"},"tenantUid":{"$ref":"#/components/schemas/UID"}},"required":["tenantUid","message"],"title":"TenantOnboardResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantPaymentMethodCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodCreateRequestSchema":{"title":"TenantPaymentMethodCreateRequestSchema","type":"object","required":["paymentMethodCode","position","visibility"],"properties":{"active":{"type":"boolean"},"name":{"type":"string","description":"Name of the payment method as it should be displayed on screen and receipts"},"description":{"type":"string","description":"A description of the payment method, shown in the client"},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt when this payment method is used (optional)."},"tenantPaymentMethodUid":{"$ref":"#/components/schemas/UID"},"settlementCode":{"type":"string"},"paymentMethodCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"},"position":{"type":"integer","description":"order of appearance in lists"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]}}}}
```

## The TenantPaymentMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodResponseSchema":{"title":"TenantPaymentMethodResponseSchema","type":"object","required":["active","name","description","settlementCode","paymentMethod","allowRefund","tenantPaymentMethodUid","allowSale","allowPrepayment","allowCashback","parameters","externalSystemMappings","position","visibility","requirements","amountInput","useRounding","receiptText"],"properties":{"active":{"type":"boolean"},"name":{"type":"string","description":"The name will be displayed in the clients and on the receipt"},"description":{"type":"string","description":"A description of the payment method, shown in the client"},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt when this payment method is used. Empty when not configured."},"settlementCode":{"type":"string"},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethodResponseSchema"},"allowRefund":{"type":"boolean","description":"if true, paymentMethod can be used when settling a refund."},"tenantPaymentMethodUid":{"$ref":"#/components/schemas/UID"},"allowSale":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowPrepayment":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowCashback":{"type":"boolean","description":"if true, settlement amount can be higher than remainingAmount when settling a sale."},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/TenantPaymentMethodParameterExtractResponseSchema"}},"externalSystemMappings":{"type":"array","items":{"$ref":"#/components/schemas/TenantPaymentMethodMappingResponseSchema"}},"position":{"type":"integer","description":"order of appearance in lists"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"requirements":{"$ref":"#/components/schemas/PaymentMethodRequirementResponseSchema"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"}}},"PaymentMethodResponseSchema":{"title":"PaymentMethodResponseSchema","type":"object","required":["allowRefund","allowSale","allowAmount","allowCashback","allowPrepayment","requireExclusiveUse","name","parameters","paymentCode"],"properties":{"allowRefund":{"type":"boolean","description":"if true, paymentMethod can be used when settling a refund."},"allowSale":{"type":"boolean","description":"if true, paymentMethod can be used when settling a sale."},"allowAmount":{"type":"boolean","description":"if true, settled amount can be != remainingAmount set when settling a sale."},"allowCashback":{"type":"boolean","description":"if true, settlement amount can be higher than remainingAmount when settling a sale."},"allowPrepayment":{"type":"boolean","description":"if true, payment method is allowed as a prepayment settlement"},"requireExclusiveUse":{"type":"boolean","description":"defines whether or not the payment method can be used in combination with other payment methods."},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodParameterSchema"}},"paymentCode":{"$ref":"#/components/schemas/PaymentMethodCodeENUM"}}},"PaymentMethodParameterSchema":{"description":"PaymentMethodParameter","properties":{"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/PaymentMethodParameterTypeENUM"},"name":{"type":"string"},"required":{"type":"boolean"}},"required":["keyType","key","name","required"],"title":"PaymentMethodParameterSchema","type":"object"},"PaymentMethodParameterTypeENUM":{"description":"","enum":["TEXT","INTEGER","DATE","MOBILE","MODULUS10","MODULUS11"],"title":"PaymentMethodParameterTypeENUM","type":"string"},"PaymentMethodCodeENUM":{"enum":["CASH","INVOICE","VIPPS","ADYEN_CARD","PAYEX_CARD","SANTANDER","EXTERNAL","TRANSFER_MONEY","FLOWGIFTCARD","STORE_CREDIT","STRIPE_CARD","TWO_INVOICE","NETS_CARD","VERIFONE_CARD","FOREIGN_CASH","SWISH","DINTERO_PAYMENT_LINK","DINTERO_CARD","BRITANNIA","PREPAYMENT","SOFTPAY_CARD","PAYMENT_GATEWAY","LOYALTY_POINTS","PAYEX_GIFTCARD"],"title":"PaymentMethodCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TenantPaymentMethodParameterExtractResponseSchema":{"title":"TenantPaymentMethodParameterExtractResponseSchema","description":"TenantPaymentMethodParameterExtractResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","type","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"TenantPaymentMethodMappingResponseSchema":{"title":"TenantPaymentMethodMappingResponseSchema","allOf":[{"$ref":"#/components/schemas/GeneralMappingResponseSchema"},{"type":"object","required":["tenantPaymentMethodMappingUid"],"properties":{"tenantPaymentMethodMappingUid":{"type":"string"}}}]},"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The TenantPaymentMethodUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodUpdateRequestSchema":{"title":"TenantPaymentMethodUpdateRequestSchema","type":"object","properties":{"active":{"type":"boolean"},"name":{"type":"string","description":"The name will be displayed in the clients and on the receipt"},"description":{"type":"string","description":"A description of the payment method, shown in the client"},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt when this payment method is used. Omit to leave unchanged."},"allowSale":{"type":"boolean"},"allowRefund":{"type":"boolean"},"allowCashback":{"type":"boolean"},"allowPrepayment":{"type":"boolean"},"settlementCode":{"type":"string"},"position":{"type":"integer","description":"order of appearance in lists"},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"useRounding":{"type":"boolean"},"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"}}},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]}}}}
```

## The TenantRoleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| BLOCKED | Blocked from this tenant|\n| ACCESS | Only access to the tenant.|\n| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores.|\n| BACKOFFICE | Access to product, pricelists, etc.|","enum":["ACCESS","ADMIN","BACKOFFICE","BLOCKED"],"title":"TenantRoleENUM","type":"string"}}}}
```

## The TenantExtensionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantExtensionResponseSchema":{"title":"TenantExtensionResponseSchema","type":"object","description":"TenantExtensionResponseSchema","required":["tenantExtensionUid","name","active","extensionCode","hasStoreExtensionSettings","tenantParameters","statusMessages","availableTenantParameters","availableStoreParameters"],"properties":{"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"active":{"type":"boolean"},"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"hasStoreExtensionSettings":{"type":"boolean","description":"Indicate if the extension needs to be activated and configured pr store"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"statusMessages":{"type":"array","items":{"type":"string"}},"availableTenantParameters":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/AvailableExtensionParameterSchema"}},"availableStoreParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"AvailableExtensionParameterSchema":{"title":"AvailableExtensionParameterSchema","type":"object","required":["key","type","required"],"properties":{"key":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtensionParameterDataTypeENUM"},"required":{"type":"boolean"}}},"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."}}}}
```

## The TenantExtensionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantExtensionCreateRequestSchema":{"title":"TenantExtensionCreateRequestSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantExtensionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantExtensionUpdateRequestSchema":{"title":"TenantExtensionUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"active":{"type":"boolean"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}}},"required":["active"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}}}}
```

## The TenantUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUpdateSchema":{"title":"TenantUpdateSchema","type":"object","properties":{"name":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"allowExternalCashDrawer":{"type":"boolean"},"autoLogout":{"type":"integer","description":"time in seconds, 0 means not enabled"},"autoPrintReceipt":{"type":"boolean"},"showOutOfStockWarning":{"type":"boolean"},"logoAssetUid":{"$ref":"#/components/schemas/OptionalUID"},"splashAssetUid":{"$ref":"#/components/schemas/OptionalUID"},"timezone":{"$ref":"#/components/schemas/TimezoneTYPE"},"numericSkuCounter":{"type":"integer"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"printCardPaymentDetails":{"type":"boolean","description":"toogle on/off payment terminal details on receipt"},"sendInvoicesExternally":{"type":"boolean"},"duplicateCheckCustomerPhoneNumber":{"type":"boolean","description":"For PERSON customers: Check for unique phone number and email if true"},"duplicateCheckCustomerVatNumber":{"type":"boolean","description":"For COMPANY customers: Check for unique vat number if true"},"defaultParkedOrderLifespanDays":{"type":"integer","description":"Default lifespan in days for parked orders before expiration"},"useOriginalSellerOnCreditLine":{"type":"boolean","description":"toogle on/off if the original seller should be used in a existing referenced order\n"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"},"autoSendWelcomeSms":{"type":"boolean"},"autoSendWelcomeMail":{"type":"boolean"},"requirePinCodeForSale":{"type":"boolean"},"requirePinCodeForCredit":{"type":"boolean"},"printReceiptNumber":{"type":"boolean"},"requiredCustomerFields":{"type":"array","items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"}},"requiredCompanyFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredCompanyDepartmentFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredContactFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"enforceStrongPin":{"type":"boolean","description":"For user's app PIN/password creation"},"customerContactsRequiresEmail":{"type":"boolean","description":"Indicate if the customer contacts requires email."},"customerContactsEmailDuplicateCheck":{"type":"boolean","description":"This will enable duplicate check on email\nfor contacts, so it is not possible to have two\ncontacts with the same email."}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"},"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]},"NullableCustomerRequiredFieldArray":{"title":"NullableCustomerRequiredFieldArray","type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"},"description":"Type-specific required-field override. Null means inherit requiredCustomerFields.\nAn empty array means no required fields for this type (explicit override).\n"}}}}
```

## The TenantUserResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserResponseSchema":{"title":"TenantUserResponseSchema","type":"object","required":["accountType","createdAt","displayName","email","externalId","firstname","lastAccessed","lastModifiedAt","lastname","mobile","status","storeAccess","tenantUid","tenantName","tenantRole","tenantUserUid","userCode","languageCode","permissions"],"properties":{"accountType":{"$ref":"#/components/schemas/TenantAccountTypeENUM"},"createdAt":{"format":"date-time","type":"string"},"defaultStoreUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastAccessed":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"status":{"$ref":"#/components/schemas/TenantUserStatusENUM"},"storeAccess":{"type":"array","items":{"$ref":"#/components/schemas/UserStoreAccessResponseSchema"}},"tenantUid":{"$ref":"#/components/schemas/UID"},"tenantName":{"type":"string"},"tenantRole":{"$ref":"#/components/schemas/TenantRoleENUM"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"userCode":{"type":"string"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"permissions":{"$ref":"#/components/schemas/TenantUserPermissionResponseSchema"}},"description":""},"TenantAccountTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Access to backoffice and onboarding of new devices|\n| REGULAR | Can only login to already onboarded devices|\n| SUPPORT | Support account|\n| INTEGRATION | Computer integration account|","enum":["FULL","REGULAR","SUPPORT","INTEGRATION"],"title":"TenantAccountTypeENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"EmailTYPE":{"title":"Email","type":"string"},"TenantUserStatusENUM":{"title":"TenantUserStatusENUM","enum":["PENDING_INVITE","ACTIVE","INACTIVE"],"type":"string"},"UserStoreAccessResponseSchema":{"title":"UserStoreAccessResponseSchema","type":"object","required":["createdAt","lastModifiedAt","storeAccessUid","storeUid","storeRole"],"properties":{"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"storeAccessUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeRole":{"$ref":"#/components/schemas/StoreRoleENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"},"TenantRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| BLOCKED | Blocked from this tenant|\n| ACCESS | Only access to the tenant.|\n| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores.|\n| BACKOFFICE | Access to product, pricelists, etc.|","enum":["ACCESS","ADMIN","BACKOFFICE","BLOCKED"],"title":"TenantRoleENUM","type":"string"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"},"TenantUserPermissionResponseSchema":{"title":"TenantUserPermissionResponseSchema","type":"object","required":["tenant","stores","organizations"],"properties":{"tenant":{"type":"array","items":{"type":"string"}},"stores":{"type":"array","items":{"$ref":"#/components/schemas/StorePermissionResponseSchema"}},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationPermissionResponseSchema"}}}},"StorePermissionResponseSchema":{"title":"StorePermissionResponseSchema","type":"object","required":["store","permissions"],"properties":{"store":{"$ref":"#/components/schemas/BasicStoreResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"OrganizationPermissionResponseSchema":{"title":"OrganizationPermissionResponseSchema","type":"object","required":["organization","permissions"],"properties":{"organization":{"$ref":"#/components/schemas/BasicOrganizationResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicOrganizationResponseSchema":{"title":"BasicOrganizationResponseSchema","type":"object","required":["name","organizationUid"],"properties":{"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The TenantUserRoleAssignmentRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserRoleAssignmentRequestSchema":{"title":"TenantUserRoleAssignmentRequestSchema","type":"object","required":["tenantRoleUid"],"properties":{"tenantRoleUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"description":"A tenantRole can be assigned at three levels:\n- Only set a tenantRoleUid in the request: The role will be assigned at tenant level\n- Set organizationUid and tenantRoleUid: The role will be assigned at organization level\n- Set storeUid and tenantRoleUid: The role will be assigned at store level\n\nAn error occurs if both storeUid and organizationUid is set in the request.\n\nThe levels are ranked this way, from top to bottom: tenant, organization, store\n\nA permission set at higher level overrides lower level assignments.\n"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantUserRoleAssignmentResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserRoleAssignmentResponseSchema":{"title":"TenantUserRoleAssignmentResponseSchema","type":"object","required":["tenantRole","assignedAt","assignedBy","createdAt","lastModifiedAt","tenantUserRoleAssignmentUid","isSystemRole"],"properties":{"tenantRole":{"$ref":"#/components/schemas/BasicTenantRoleResponseSchema"},"organization":{"$ref":"#/components/schemas/BasicOrganizationResponseSchema"},"store":{"$ref":"#/components/schemas/BasicStoreResponseSchema"},"assignedAt":{"type":"string","format":"date-time","description":"When the role was assigned"},"assignedBy":{"$ref":"#/components/schemas/OptionalUID"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"tenantUserRoleAssignmentUid":{"$ref":"#/components/schemas/UID"},"isSystemRole":{"type":"boolean"}}},"BasicTenantRoleResponseSchema":{"title":"BasicTenantRoleResponseSchema","type":"object","required":["name","tenantRoleUid","isSystemRole"],"properties":{"name":{"type":"string"},"tenantRoleUid":{"$ref":"#/components/schemas/UID"},"isSystemRole":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"BasicOrganizationResponseSchema":{"title":"BasicOrganizationResponseSchema","type":"object","required":["name","organizationUid"],"properties":{"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"}}},"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The TenantUserTokenResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserTokenResponseSchema":{"properties":{"tenantUserTokenUid":{"$ref":"#/components/schemas/UID"},"token":{"type":"string"}},"required":["token","tenantUserTokenUid"],"title":"TenantUserTokenResponseSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TillResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillResponseSchema":{"title":"TillResponseSchema","type":"object","required":["cashDrawer","createdAt","lastModifiedAt","lastOrderUid","lastOrderNumber","name","paymentTerminal","settings","status","tillUid","tillNumber","device"],"properties":{"cashDrawer":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastOrderUid":{"$ref":"#/components/schemas/UID"},"lastOrderNumber":{"type":"string"},"name":{"type":"string"},"paymentTerminal":{"$ref":"#/components/schemas/TillPaymentTerminalENUM"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/TillSettingSchema"}},"status":{"$ref":"#/components/schemas/TillOpenStatusENUM","description":"Current open/closed state of the till. OPEN means a cash-register session is active; CLOSED means none is. For full session details (counted amounts, cash revenue, open/close users) use the till status endpoint."},"tillUid":{"$ref":"#/components/schemas/UID"},"tillNumber":{"type":"integer"},"device":{"$ref":"#/components/schemas/TillDeviceResponseSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TillPaymentTerminalENUM":{"enum":["NONE","ADYEN","PAYEX","STRIPE","NETS","VERIFONE","SOFTPAY","DINTERO"],"title":"TillPaymentTerminalENUM","type":"string"},"TillSettingSchema":{"description":"Till specific settings","properties":{"key":{"$ref":"#/components/schemas/TillSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"TillSettingSchema","type":"object"},"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"},"TillOpenStatusENUM":{"type":"string","title":"TillOpenStatus","description":"Whether the till currently has an open cash-register session. Distinct from TillStatusENUM (the tri-state cash-report status): this collapses CLOSED_NOT_COUNTED into CLOSED.","enum":["OPEN","CLOSED"]},"TillDeviceResponseSchema":{"title":"TillDeviceResponseSchema","type":"object","nullable":true,"required":["deviceUid","identifier","name"],"properties":{"deviceUid":{"$ref":"#/components/schemas/UID"},"identifier":{"type":"string"},"name":{"type":"string"}}}}}}
```

## The TillCashReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillCashReportResponseSchema":{"description":" Cash report for a till","title":"TillCashReportResponseSchema","type":"object","properties":{"bankdepositAmount":{"type":"integer","nullable":true},"bankdepositReference":{"type":"string"},"cashDifferenceAmount":{"description":"The cash difference amount.  \nCalculation: (countedAmount + withdrawalAmount ) - (changeAmount + cashRevenueAmount)","type":"integer"},"cashRevenueAmount":{"description":"After the till is closed the cash revenue will be calculated in this field","type":"integer"},"cashreportUid":{"$ref":"#/components/schemas/UID"},"changeAmount":{"type":"integer"},"closedAt":{"format":"date-time","type":"string","nullable":true},"closedByDisplayName":{"type":"string"},"comment":{"type":"string"},"countedAmount":{"type":"integer","nullable":true},"openAt":{"format":"date-time","type":"string"},"openByDisplayName":{"type":"string"},"status":{"$ref":"#/components/schemas/TillStatusENUM"},"withdrawalAmount":{"type":"integer","nullable":true},"cashDetailsAtOpen":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}},"cashDetailsAtClose":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}},"required":["bankdepositAmount","bankdepositReference","cashDifferenceAmount","cashRevenueAmount","cashreportUid","changeAmount","closedAt","closedByDisplayName","comment","countedAmount","openAt","openByDisplayName","status","withdrawalAmount"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The TillCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillCreateSchema":{"description":"Create a new till","title":"TillCreateSchema","type":"object","required":["name","tillNumber"],"properties":{"cashDrawer":{"type":"string"},"name":{"type":"string"},"paymentTerminal":{"$ref":"#/components/schemas/TillPaymentTerminalENUM"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/TillSettingSchema"}},"tillNumber":{"type":"integer"},"tillUid":{"$ref":"#/components/schemas/UID"}}},"TillPaymentTerminalENUM":{"enum":["NONE","ADYEN","PAYEX","STRIPE","NETS","VERIFONE","SOFTPAY","DINTERO"],"title":"TillPaymentTerminalENUM","type":"string"},"TillSettingSchema":{"description":"Till specific settings","properties":{"key":{"$ref":"#/components/schemas/TillSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"TillSettingSchema","type":"object"},"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TillDeviceRegisterSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillDeviceRegisterSchema":{"description":"","properties":{"deviceIdentifier":{"type":"string"}},"required":["deviceIdentifier"],"title":"TillDeviceRegisterSchema","type":"object"}}}}
```

## The TillPaymentTerminalENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillPaymentTerminalENUM":{"enum":["NONE","ADYEN","PAYEX","STRIPE","NETS","VERIFONE","SOFTPAY","DINTERO"],"title":"TillPaymentTerminalENUM","type":"string"}}}}
```

## The TillSettingSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillSettingSchema":{"description":"Till specific settings","properties":{"key":{"$ref":"#/components/schemas/TillSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"TillSettingSchema","type":"object"},"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"}}}}
```

## The TillSettingKeyENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"}}}}
```

## The TillOpenStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillOpenStatusENUM":{"type":"string","title":"TillOpenStatus","description":"Whether the till currently has an open cash-register session. Distinct from TillStatusENUM (the tri-state cash-report status): this collapses CLOSED_NOT_COUNTED into CLOSED.","enum":["OPEN","CLOSED"]}}}}
```

## The TillStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"}}}}
```

## The TillUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillUpdateSchema":{"description":"Update till","title":"TillUpdateSchema","type":"object","properties":{"cashDrawer":{"type":"string"},"name":{"type":"string"},"paymentTerminal":{"$ref":"#/components/schemas/TillPaymentTerminalENUM"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/TillSettingSchema"}},"tillNumber":{"type":"integer"}}},"TillPaymentTerminalENUM":{"enum":["NONE","ADYEN","PAYEX","STRIPE","NETS","VERIFONE","SOFTPAY","DINTERO"],"title":"TillPaymentTerminalENUM","type":"string"},"TillSettingSchema":{"description":"Till specific settings","properties":{"key":{"$ref":"#/components/schemas/TillSettingKeyENUM"},"value":{"type":"string"}},"required":["key","value"],"title":"TillSettingSchema","type":"object"},"TillSettingKeyENUM":{"enum":["STRIPE_TERMINAL_ID","ADYEN_POS_TERMINAL_ID","PAYEX_TERMINAL_IP","PAYEX_TERMINAL_PORT","PAYEX_COMMAND_QUEUE","NETS_TERMINAL_ID","VERIFONE_TERMINAL_POI_ID","DINTERO_TERMINAL_ID","SOFTPAY_APP_ID"],"title":"TillSettingKeyENUM","type":"string"}}}}
```

## The TransactionTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransactionTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE | Receive (Purchase)|\n| DELIVERY | Deliver ( Sales)|\n| MOVE | Move between depts|\n| RETURN | Return of items|\n| INVENTORY_CONTROL | Inventory Control|\n| INTERNAL | Theft / Internal use|\n| SET_STOCK | Set stock|\n| ADJUST_STOCK | Adjust stock|\n| ADJUST_COST | Adjust cost|\n| RMA_ORDER | RMA Order|\n","enum":["RECEIVE","DELIVERY","MOVE","RETURN","INVENTORY_CONTROL","INTERNAL","SET_STOCK","ADJUST_STOCK","ADJUST_COST","RMA_ORDER"],"title":"TransactionTypeENUM","type":"string"}}}}
```

## The TransportHeaderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransportHeaderSchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"description":"Transport Header Schema","title":"TransportHeaderSchema","type":"object"}}}}
```

## The TransportCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransportCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/TransportUpdateRequestSchema"},{"properties":{"httpTransportUid":{"$ref":"#/components/schemas/UID"}},"type":"object"}],"title":"TransportCreateRequestSchema"},"TransportUpdateRequestSchema":{"description":"Transport Request Schema","title":"TransportUpdateRequestSchema","type":"object","properties":{"headers":{"type":"array","items":{"$ref":"#/components/schemas/TransportHeaderSchema"}},"name":{"type":"string"},"password":{"type":"string"},"securityType":{"enum":["NONE","BASIC_AUTH","BEARER_TOKEN"],"type":"string"},"token":{"type":"string"},"url":{"type":"string"},"username":{"type":"string"}},"required":["name","securityType","url"]},"TransportHeaderSchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"description":"Transport Header Schema","title":"TransportHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TransportUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransportUpdateRequestSchema":{"description":"Transport Request Schema","title":"TransportUpdateRequestSchema","type":"object","properties":{"headers":{"type":"array","items":{"$ref":"#/components/schemas/TransportHeaderSchema"}},"name":{"type":"string"},"password":{"type":"string"},"securityType":{"enum":["NONE","BASIC_AUTH","BEARER_TOKEN"],"type":"string"},"token":{"type":"string"},"url":{"type":"string"},"username":{"type":"string"}},"required":["name","securityType","url"]},"TransportHeaderSchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"description":"Transport Header Schema","title":"TransportHeaderSchema","type":"object"}}}}
```

## The HttpTransportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HttpTransportResponseSchema":{"properties":{"headers":{"items":{"$ref":"#/components/schemas/TransportHeaderSchema"},"type":"array"},"name":{"type":"string"},"password":{"type":"string"},"securityType":{"enum":["NONE","BASIC_AUTH","BEARER_TOKEN"],"type":"string"},"token":{"type":"string"},"httpTransportUid":{"$ref":"#/components/schemas/UID"},"url":{"type":"string"},"username":{"type":"string"}},"required":["httpTransportUid","name","url","securityType","username","password","token","headers"],"description":"Transport Response Schema","title":"HttpTransportResponseSchema","type":"object"},"TransportHeaderSchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"description":"Transport Header Schema","title":"TransportHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The UserStoreAccessResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"UserStoreAccessResponseSchema":{"title":"UserStoreAccessResponseSchema","type":"object","required":["createdAt","lastModifiedAt","storeAccessUid","storeUid","storeRole"],"properties":{"createdAt":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"storeAccessUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeRole":{"$ref":"#/components/schemas/StoreRoleENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"}}}}
```

## The UserStoreAccessCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"UserStoreAccessCreateSchema":{"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeRole":{"$ref":"#/components/schemas/StoreRoleENUM"}},"required":["storeUid","storeRole"],"title":"UserStoreAccessCreateSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"}}}}
```

## The VatCodeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"VatCodeSchema":{"title":"VatCodeSchema","type":"object","required":["createdAt","fromDate","lastModifiedAt","name","rate","vatCodeUid","countryCode"],"properties":{"createdAt":{"format":"date-time","type":"string"},"fromDate":{"format":"date-time","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"rate":{"type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"countryCode":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The VatNumberTYPE object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"}}}}
```

## The VatPrintENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"VatPrintENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|SUM| Print as a part of orderlines.|\n|SEPARATE| Print as a separate field.|\n","enum":["SUM","SEPARATE"],"title":"vatPrintENUM","type":"string"}}}}
```

## The WarehouseResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseResponseSchema":{"title":"WarehouseResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"accessList":{"type":"array","items":{"$ref":"#/components/schemas/MyWarehouseAccessResponseSchema"}}},"required":["createdAt","externalId","lastModifiedAt","name","warehouseUid","accessList"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"MyWarehouseAccessResponseSchema":{"title":"MyWarehouseAccessResponseSchema","type":"object","properties":{"role":{"$ref":"#/components/schemas/WarehouseAccessRoleENUM"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"warehouseAccessUid":{"$ref":"#/components/schemas/UID"}},"required":["role","storeUid","storeName","warehouseUid","warehouseName","warehouseAccessUid"]},"WarehouseAccessRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELIVER | Can deliver products using stock from this warehouse. |\n| MOVE | Can move stock to and from this warehouse. |\n| RECEIVE | Can receive purchase orders to this warehouse. |\n| RESERVE | Can make stock reservations from this warehouse. |\n| RETURN | Can return stock to this warehouse. |\n| VIEW | Only able to view quantity.|","enum":["DELIVER","MOVE","RECEIVE","RESERVE","RETURN","VIEW"],"title":"WarehouseAccessRoleENUM","type":"string"}}}}
```

## The WarehouseAccessResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseAccessResponseSchema":{"properties":{"role":{"$ref":"#/components/schemas/WarehouseAccessRoleENUM"},"storeUid":{"$ref":"#/components/schemas/UID"},"warehouse":{"$ref":"#/components/schemas/WarehouseResponseSchema"},"warehouseAccessUid":{"$ref":"#/components/schemas/UID"}},"required":["warehouseAccessUid","role"],"title":"WarehouseAccessResponseSchema","type":"object"},"WarehouseAccessRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELIVER | Can deliver products using stock from this warehouse. |\n| MOVE | Can move stock to and from this warehouse. |\n| RECEIVE | Can receive purchase orders to this warehouse. |\n| RESERVE | Can make stock reservations from this warehouse. |\n| RETURN | Can return stock to this warehouse. |\n| VIEW | Only able to view quantity.|","enum":["DELIVER","MOVE","RECEIVE","RESERVE","RETURN","VIEW"],"title":"WarehouseAccessRoleENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"WarehouseResponseSchema":{"title":"WarehouseResponseSchema","type":"object","properties":{"createdAt":{"format":"date-time","type":"string"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"accessList":{"type":"array","items":{"$ref":"#/components/schemas/MyWarehouseAccessResponseSchema"}}},"required":["createdAt","externalId","lastModifiedAt","name","warehouseUid","accessList"]},"MyWarehouseAccessResponseSchema":{"title":"MyWarehouseAccessResponseSchema","type":"object","properties":{"role":{"$ref":"#/components/schemas/WarehouseAccessRoleENUM"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"warehouseAccessUid":{"$ref":"#/components/schemas/UID"}},"required":["role","storeUid","storeName","warehouseUid","warehouseName","warehouseAccessUid"]}}}}
```

## The MyWarehouseAccessResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MyWarehouseAccessResponseSchema":{"title":"MyWarehouseAccessResponseSchema","type":"object","properties":{"role":{"$ref":"#/components/schemas/WarehouseAccessRoleENUM"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"warehouseAccessUid":{"$ref":"#/components/schemas/UID"}},"required":["role","storeUid","storeName","warehouseUid","warehouseName","warehouseAccessUid"]},"WarehouseAccessRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELIVER | Can deliver products using stock from this warehouse. |\n| MOVE | Can move stock to and from this warehouse. |\n| RECEIVE | Can receive purchase orders to this warehouse. |\n| RESERVE | Can make stock reservations from this warehouse. |\n| RETURN | Can return stock to this warehouse. |\n| VIEW | Only able to view quantity.|","enum":["DELIVER","MOVE","RECEIVE","RESERVE","RETURN","VIEW"],"title":"WarehouseAccessRoleENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseAccessGrantSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseAccessGrantSchema":{"properties":{"role":{"$ref":"#/components/schemas/WarehouseAccessRoleENUM"},"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid","role"],"title":"WarehouseAccessGrantSchema","type":"object"},"WarehouseAccessRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELIVER | Can deliver products using stock from this warehouse. |\n| MOVE | Can move stock to and from this warehouse. |\n| RECEIVE | Can receive purchase orders to this warehouse. |\n| RESERVE | Can make stock reservations from this warehouse. |\n| RETURN | Can return stock to this warehouse. |\n| VIEW | Only able to view quantity.|","enum":["DELIVER","MOVE","RECEIVE","RESERVE","RETURN","VIEW"],"title":"WarehouseAccessRoleENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseAccessRoleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseAccessRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| DELIVER | Can deliver products using stock from this warehouse. |\n| MOVE | Can move stock to and from this warehouse. |\n| RECEIVE | Can receive purchase orders to this warehouse. |\n| RESERVE | Can make stock reservations from this warehouse. |\n| RETURN | Can return stock to this warehouse. |\n| VIEW | Only able to view quantity.|","enum":["DELIVER","MOVE","RECEIVE","RESERVE","RETURN","VIEW"],"title":"WarehouseAccessRoleENUM","type":"string"}}}}
```

## The WarehouseCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/WarehouseUpdateRequestSchema"},{"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"WarehouseCreateRequestSchema"},"WarehouseUpdateRequestSchema":{"title":"WarehouseUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}},"required":["name"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseUpdateRequestSchema":{"title":"WarehouseUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"}},"required":["name"]}}}}
```

## The StockDetailResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockDetailResponseSchema":{"title":"StockDetails","type":"object","properties":{"costPrice":{"type":"integer","nullable":true},"createdAt":{"format":"date-time","type":"string"},"deliveredAt":{"type":"string","format":"date-time","nullable":true},"lastModifiedAt":{"format":"date-time","type":"string"},"origin":{"$ref":"#/components/schemas/TransactionTypeENUM"},"receivedAt":{"type":"string","format":"date-time"},"serialnumber":{"type":"string"}},"required":["costPrice","createdAt","deliveredAt","lastModifiedAt","origin","receivedAt","serialnumber"]},"TransactionTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE | Receive (Purchase)|\n| DELIVERY | Deliver ( Sales)|\n| MOVE | Move between depts|\n| RETURN | Return of items|\n| INVENTORY_CONTROL | Inventory Control|\n| INTERNAL | Theft / Internal use|\n| SET_STOCK | Set stock|\n| ADJUST_STOCK | Adjust stock|\n| ADJUST_COST | Adjust cost|\n| RMA_ORDER | RMA Order|\n","enum":["RECEIVE","DELIVERY","MOVE","RETURN","INVENTORY_CONTROL","INTERNAL","SET_STOCK","ADJUST_STOCK","ADJUST_COST","RMA_ORDER"],"title":"TransactionTypeENUM","type":"string"}}}}
```

## The WarehouseStockDetailsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseStockDetailsResponseSchema":{"title":"WarehouseStockDetailsResponseSchema","type":"object","properties":{"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}},"required":["locationLabel","maxStockLevel","minStockLevel","quantityReserved","quantityStock","storeUid","storeName","warehouseUid","warehouseName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreProductWarehouseStockDetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreProductWarehouseStockDetailsSchema":{"title":"StoreProductWarehouseStockDetailsSchema","type":"object","required":["grossProfitAmount","grossProfitPercentage","costPrice","quantityReserved","quantityStock","locationLabel","storeUid","storeName","warehouseUid","warehouseName"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"locationLabel":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WebhookActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WebhookActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCT_CREATE | Create new product |\n| PRODUCT_UPDATE | Update existing product |\n| PRODUCT_DELETE | Product deleted |\n| CUSTOMER_CREATE | Create new customer|\n| CUSTOMER_UPDATE | Update existing customer|\n| CUSTOMER_DELETE | Customer deleted|\n| ORDER_SETTLED | New order. Order status is SETTLED|\n| ORDER_STATE_CHANGE | Order changes state|\n| ORDER_RECEIPT_SETTLED | A receipt is SETTLED |\n| ORDER_DELIVERED | Existing order. Order status DELIVERED|\n| ORDER_LINE_DELIVERED | An order line has been delivered |\n| ORDER_HANDLING_STATE_CHANGED | An order handling state changed (notably when set to NOT_STARTED, IN_PROGRESS, ON_HOLD, or COMPLETE) |\n| TILL_CLOSED | Till has been counted and closed.|\n| TILL_OPEN | Till has been opened.|\n| PRICE_CREATE | Create new price.|\n| PRICE_UPDATE | Update Price.|\n| PRICE_DELETE | Price deleted |\n| STOCK_CHANGE | Stock for a warehouseUid and productUid has changed.|\n| PRODUCT_MEDIA_CHANGE | Product media has changed (create/update/delete).|\n| PURCHASE_RECEIVED | Purchase order fully received |\n| ORDER_LINE_RESERVATION_CHANGE | Order line reservation changed |","enum":["PRODUCT_CREATE","PRODUCT_UPDATE","PRODUCT_DELETE","CUSTOMER_CREATE","CUSTOMER_UPDATE","CUSTOMER_DELETE","ORDER_SETTLED","ORDER_DELIVERED","ORDER_STATE_CHANGE","ORDER_LINE_DELIVERED","TILL_CLOSED","TILL_OPEN","PRICE_CREATE","PRICE_UPDATE","PRICE_DELETE","STOCK_CHANGE","PRODUCT_MEDIA_CHANGE","PURCHASE_RECEIVED","ORDER_HANDLING_STATE_CHANGED","ORDER_RECEIPT_SETTLED","ORDER_LINE_RESERVATION_CHANGE"],"title":"WebhookActionENUM","type":"string"}}}}
```

## The WebhookCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WebhookCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/WebhookUpdateRequestSchema"},{"properties":{"webhookUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"WebhookCreateRequestSchema","description":"Webhook Create Request Schema"},"WebhookUpdateRequestSchema":{"description":"Webhook Update Request Schema","title":"WebhookUpdateRequestSchema","type":"object","properties":{"action":{"$ref":"#/components/schemas/WebhookActionENUM"}},"required":["action"]},"WebhookActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCT_CREATE | Create new product |\n| PRODUCT_UPDATE | Update existing product |\n| PRODUCT_DELETE | Product deleted |\n| CUSTOMER_CREATE | Create new customer|\n| CUSTOMER_UPDATE | Update existing customer|\n| CUSTOMER_DELETE | Customer deleted|\n| ORDER_SETTLED | New order. Order status is SETTLED|\n| ORDER_STATE_CHANGE | Order changes state|\n| ORDER_RECEIPT_SETTLED | A receipt is SETTLED |\n| ORDER_DELIVERED | Existing order. Order status DELIVERED|\n| ORDER_LINE_DELIVERED | An order line has been delivered |\n| ORDER_HANDLING_STATE_CHANGED | An order handling state changed (notably when set to NOT_STARTED, IN_PROGRESS, ON_HOLD, or COMPLETE) |\n| TILL_CLOSED | Till has been counted and closed.|\n| TILL_OPEN | Till has been opened.|\n| PRICE_CREATE | Create new price.|\n| PRICE_UPDATE | Update Price.|\n| PRICE_DELETE | Price deleted |\n| STOCK_CHANGE | Stock for a warehouseUid and productUid has changed.|\n| PRODUCT_MEDIA_CHANGE | Product media has changed (create/update/delete).|\n| PURCHASE_RECEIVED | Purchase order fully received |\n| ORDER_LINE_RESERVATION_CHANGE | Order line reservation changed |","enum":["PRODUCT_CREATE","PRODUCT_UPDATE","PRODUCT_DELETE","CUSTOMER_CREATE","CUSTOMER_UPDATE","CUSTOMER_DELETE","ORDER_SETTLED","ORDER_DELIVERED","ORDER_STATE_CHANGE","ORDER_LINE_DELIVERED","TILL_CLOSED","TILL_OPEN","PRICE_CREATE","PRICE_UPDATE","PRICE_DELETE","STOCK_CHANGE","PRODUCT_MEDIA_CHANGE","PURCHASE_RECEIVED","ORDER_HANDLING_STATE_CHANGED","ORDER_RECEIPT_SETTLED","ORDER_LINE_RESERVATION_CHANGE"],"title":"WebhookActionENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WebhookUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WebhookUpdateRequestSchema":{"description":"Webhook Update Request Schema","title":"WebhookUpdateRequestSchema","type":"object","properties":{"action":{"$ref":"#/components/schemas/WebhookActionENUM"}},"required":["action"]},"WebhookActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCT_CREATE | Create new product |\n| PRODUCT_UPDATE | Update existing product |\n| PRODUCT_DELETE | Product deleted |\n| CUSTOMER_CREATE | Create new customer|\n| CUSTOMER_UPDATE | Update existing customer|\n| CUSTOMER_DELETE | Customer deleted|\n| ORDER_SETTLED | New order. Order status is SETTLED|\n| ORDER_STATE_CHANGE | Order changes state|\n| ORDER_RECEIPT_SETTLED | A receipt is SETTLED |\n| ORDER_DELIVERED | Existing order. Order status DELIVERED|\n| ORDER_LINE_DELIVERED | An order line has been delivered |\n| ORDER_HANDLING_STATE_CHANGED | An order handling state changed (notably when set to NOT_STARTED, IN_PROGRESS, ON_HOLD, or COMPLETE) |\n| TILL_CLOSED | Till has been counted and closed.|\n| TILL_OPEN | Till has been opened.|\n| PRICE_CREATE | Create new price.|\n| PRICE_UPDATE | Update Price.|\n| PRICE_DELETE | Price deleted |\n| STOCK_CHANGE | Stock for a warehouseUid and productUid has changed.|\n| PRODUCT_MEDIA_CHANGE | Product media has changed (create/update/delete).|\n| PURCHASE_RECEIVED | Purchase order fully received |\n| ORDER_LINE_RESERVATION_CHANGE | Order line reservation changed |","enum":["PRODUCT_CREATE","PRODUCT_UPDATE","PRODUCT_DELETE","CUSTOMER_CREATE","CUSTOMER_UPDATE","CUSTOMER_DELETE","ORDER_SETTLED","ORDER_DELIVERED","ORDER_STATE_CHANGE","ORDER_LINE_DELIVERED","TILL_CLOSED","TILL_OPEN","PRICE_CREATE","PRICE_UPDATE","PRICE_DELETE","STOCK_CHANGE","PRODUCT_MEDIA_CHANGE","PURCHASE_RECEIVED","ORDER_HANDLING_STATE_CHANGED","ORDER_RECEIPT_SETTLED","ORDER_LINE_RESERVATION_CHANGE"],"title":"WebhookActionENUM","type":"string"}}}}
```

## The WebhookResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WebhookResponseSchema":{"properties":{"action":{"$ref":"#/components/schemas/WebhookActionENUM"},"httpTransport":{"$ref":"#/components/schemas/HttpTransportResponseSchema"},"webhookUid":{"$ref":"#/components/schemas/UID"}},"required":["action","webhookUid","httpTransport"],"description":"Webhook Response","title":"WebhookResponseSchema","type":"object"},"WebhookActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCT_CREATE | Create new product |\n| PRODUCT_UPDATE | Update existing product |\n| PRODUCT_DELETE | Product deleted |\n| CUSTOMER_CREATE | Create new customer|\n| CUSTOMER_UPDATE | Update existing customer|\n| CUSTOMER_DELETE | Customer deleted|\n| ORDER_SETTLED | New order. Order status is SETTLED|\n| ORDER_STATE_CHANGE | Order changes state|\n| ORDER_RECEIPT_SETTLED | A receipt is SETTLED |\n| ORDER_DELIVERED | Existing order. Order status DELIVERED|\n| ORDER_LINE_DELIVERED | An order line has been delivered |\n| ORDER_HANDLING_STATE_CHANGED | An order handling state changed (notably when set to NOT_STARTED, IN_PROGRESS, ON_HOLD, or COMPLETE) |\n| TILL_CLOSED | Till has been counted and closed.|\n| TILL_OPEN | Till has been opened.|\n| PRICE_CREATE | Create new price.|\n| PRICE_UPDATE | Update Price.|\n| PRICE_DELETE | Price deleted |\n| STOCK_CHANGE | Stock for a warehouseUid and productUid has changed.|\n| PRODUCT_MEDIA_CHANGE | Product media has changed (create/update/delete).|\n| PURCHASE_RECEIVED | Purchase order fully received |\n| ORDER_LINE_RESERVATION_CHANGE | Order line reservation changed |","enum":["PRODUCT_CREATE","PRODUCT_UPDATE","PRODUCT_DELETE","CUSTOMER_CREATE","CUSTOMER_UPDATE","CUSTOMER_DELETE","ORDER_SETTLED","ORDER_DELIVERED","ORDER_STATE_CHANGE","ORDER_LINE_DELIVERED","TILL_CLOSED","TILL_OPEN","PRICE_CREATE","PRICE_UPDATE","PRICE_DELETE","STOCK_CHANGE","PRODUCT_MEDIA_CHANGE","PURCHASE_RECEIVED","ORDER_HANDLING_STATE_CHANGED","ORDER_RECEIPT_SETTLED","ORDER_LINE_RESERVATION_CHANGE"],"title":"WebhookActionENUM","type":"string"},"HttpTransportResponseSchema":{"properties":{"headers":{"items":{"$ref":"#/components/schemas/TransportHeaderSchema"},"type":"array"},"name":{"type":"string"},"password":{"type":"string"},"securityType":{"enum":["NONE","BASIC_AUTH","BEARER_TOKEN"],"type":"string"},"token":{"type":"string"},"httpTransportUid":{"$ref":"#/components/schemas/UID"},"url":{"type":"string"},"username":{"type":"string"}},"required":["httpTransportUid","name","url","securityType","username","password","token","headers"],"description":"Transport Response Schema","title":"HttpTransportResponseSchema","type":"object"},"TransportHeaderSchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"description":"Transport Header Schema","title":"TransportHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ZReportCountAmountNameSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportCountAmountNameSchema":{"properties":{"amount":{"type":"integer"},"count":{"type":"integer"},"name":{"type":"string"}},"required":["name","count","amount"],"title":"ZReportCountAmountNameSchema","type":"object"}}}}
```

## The ZReportTotalsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportTotalsSchema":{"title":"ZReportTotalsSchema","type":"object","properties":{"sales":{"$ref":"#/components/schemas/ZReportCountAmountSchema"},"returns":{"$ref":"#/components/schemas/ZReportCountAmountSchema"},"grandTotal":{"$ref":"#/components/schemas/ZReportCountAmountSchema"}},"required":["sales","returns","grandTotal"]},"ZReportCountAmountSchema":{"properties":{"amount":{"type":"integer"},"count":{"type":"integer"}},"required":["count","amount"],"title":"ZReportCountAmountSchema","type":"object"}}}}
```

## The ZReportCountAmountSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportCountAmountSchema":{"properties":{"amount":{"type":"integer"},"count":{"type":"integer"}},"required":["count","amount"],"title":"ZReportCountAmountSchema","type":"object"}}}}
```

## The ZReportCountSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportCountSchema":{"properties":{"count":{"type":"integer"}},"required":["count"],"title":"ZReportCountSchema","type":"object"}}}}
```

## The ZReportHeaderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportHeaderSchema":{"properties":{"companyName":{"type":"string"},"date":{"format":"date","type":"string"},"shopName":{"type":"string"},"tillUid":{"$ref":"#/components/schemas/UID"},"userName":{"type":"string"},"vatNumber":{"type":"string"},"xz":{"type":"string"},"zreportId":{"type":"string"}},"required":["xz","zreportId","companyName","vatNumber","shopName","tillUid","userName","date"],"title":"ZReportHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ZReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ZReportResponseSchema":{"title":"ZReportResponseSchema","type":"object","properties":{"cashAtStart":{"type":"integer"},"cashDrawerOpening":{"$ref":"#/components/schemas/ZReportCountSchema"},"discountSale":{"$ref":"#/components/schemas/ZReportCountAmountSchema"},"header":{"$ref":"#/components/schemas/ZReportHeaderSchema"},"lineCorrections":{"$ref":"#/components/schemas/ZReportCountSchema"},"productLookups":{"type":"array","items":{"$ref":"#/components/schemas/ZReportCountAmountNameSchema"}},"receiptCopies":{"$ref":"#/components/schemas/ZReportCountSchema"},"saleByMainGroup":{"type":"array","items":{"$ref":"#/components/schemas/ZReportCountAmountNameSchema"}},"saleBySettlementId":{"type":"array","items":{"$ref":"#/components/schemas/ZReportCountAmountNameSchema"}},"saleByVATCode":{"type":"array","items":{"$ref":"#/components/schemas/ZReportCountAmountNameSchema"}},"orderTotals":{"$ref":"#/components/schemas/ZReportTotalsSchema"}},"required":["cashAtStart","cashDrawerOpening","discountSale","header","lineCorrections","productLookups","receiptCopies","saleByMainGroup","saleBySettlementId","saleByVATCode","orderTotals"]},"ZReportCountSchema":{"properties":{"count":{"type":"integer"}},"required":["count"],"title":"ZReportCountSchema","type":"object"},"ZReportCountAmountSchema":{"properties":{"amount":{"type":"integer"},"count":{"type":"integer"}},"required":["count","amount"],"title":"ZReportCountAmountSchema","type":"object"},"ZReportHeaderSchema":{"properties":{"companyName":{"type":"string"},"date":{"format":"date","type":"string"},"shopName":{"type":"string"},"tillUid":{"$ref":"#/components/schemas/UID"},"userName":{"type":"string"},"vatNumber":{"type":"string"},"xz":{"type":"string"},"zreportId":{"type":"string"}},"required":["xz","zreportId","companyName","vatNumber","shopName","tillUid","userName","date"],"title":"ZReportHeaderSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ZReportCountAmountNameSchema":{"properties":{"amount":{"type":"integer"},"count":{"type":"integer"},"name":{"type":"string"}},"required":["name","count","amount"],"title":"ZReportCountAmountNameSchema","type":"object"},"ZReportTotalsSchema":{"title":"ZReportTotalsSchema","type":"object","properties":{"sales":{"$ref":"#/components/schemas/ZReportCountAmountSchema"},"returns":{"$ref":"#/components/schemas/ZReportCountAmountSchema"},"grandTotal":{"$ref":"#/components/schemas/ZReportCountAmountSchema"}},"required":["sales","returns","grandTotal"]}}}}
```

## The ServiceOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderResponseSchema":{"title":"ServiceOrderResponseSchema","type":"object","required":["serviceOrderUid","tenantUid","storeUid","orderProductLineUid","orderUid","customerUid","customerName","createdFromStoreUid","assignedUserUid","assignedUserDisplayName","serviceTypeUid","serviceTypeName","serviceStatusUid","serviceStatusName","serviceState","title","serviceNumber","externalServiceNumber","description","locationLabel","priority","requiresPriceEstimate","estimatedPrice","maxPrice","readyAtEstimate","readyAtNeeded","publicPageHash","warranty","createdAt","createdBy","lastModifiedAt","lastModifiedBy","totals","items","assets","rmaOrderItemUid","rmaOrderUid"],"properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/OptionalUID"},"orderUid":{"$ref":"#/components/schemas/OptionalUID"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerName":{"type":"string"},"createdFromStoreUid":{"$ref":"#/components/schemas/UID"},"assignedUserUid":{"$ref":"#/components/schemas/OptionalUID"},"assignedUserDisplayName":{"type":"string"},"serviceTypeUid":{"$ref":"#/components/schemas/UID"},"serviceTypeName":{"type":"string"},"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"serviceStatusName":{"type":"string"},"serviceState":{"$ref":"#/components/schemas/ServiceStateENUM"},"title":{"type":"string"},"serviceNumber":{"type":"string"},"externalServiceNumber":{"type":"string"},"description":{"type":"string"},"locationLabel":{"type":"string"},"priority":{"$ref":"#/components/schemas/PriorityENUM"},"requiresPriceEstimate":{"type":"boolean"},"estimatedPrice":{"type":"integer"},"maxPrice":{"type":"integer"},"readyAtEstimate":{"type":"string","format":"date-time"},"readyAtNeeded":{"type":"string","format":"date-time"},"publicPageHash":{"type":"string"},"warranty":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"totals":{"$ref":"#/components/schemas/ServiceOrderTotalsSchema"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOrderItemResponseSchema"}},"assets":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOrderAssetResponse"}},"rmaOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"rmaOrderUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]},"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"},"ServiceOrderTotalsSchema":{"title":"ServiceOrderTotalsSchema","type":"object","required":["grandTotal","partsTotal","workTotal"],"properties":{"grandTotal":{"type":"integer"},"partsTotal":{"type":"integer"},"workTotal":{"type":"integer"}}},"ServiceOrderItemResponseSchema":{"title":"ServiceOrderItemResponseSchema","type":"object","required":["serviceOrderItemUid","serviceOrderUid","warehouseUid","tenantUserUid","productUid","salesOrderUid","quantity","name","sku","price","costPrice","originalPrice","totalPrice","totalCostPrice","serialNumber","note","tenantUserDisplayName","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"salesOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"quantity":{"type":"integer"},"name":{"type":"string"},"sku":{"type":"string"},"price":{"type":"integer"},"costPrice":{"type":"integer"},"originalPrice":{"type":"integer"},"totalPrice":{"type":"integer"},"totalCostPrice":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"},"tenantUserDisplayName":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"ServiceOrderAssetResponse":{"title":"ServiceOrderAssetResponse","type":"object","required":["assetUid","name","description","isPublic","publicUrl","mimeType"],"properties":{"assetUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"isPublic":{"type":"boolean","description":"For private assets use download endpoint to get signed access."},"publicUrl":{"type":"string"},"mimeType":{"type":"string"}}}}}}
```

## The ServiceTypeResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceTypeResponseSchema":{"title":"ServiceTypeResponseSchema","type":"object","properties":{"serviceTypeUid":{"$ref":"#/components/schemas/UID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"serviceStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ServiceStatusWithPosition"}},"name":{"type":"string"},"deprecated":{"type":"boolean"}},"required":["serviceTypeUid","tenantUid","serviceStatuses","name","deprecated"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceStatusWithPosition":{"title":"ServiceStatusWithPosition","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"serviceStatusName":{"type":"string"},"position":{"type":"integer"},"state":{"$ref":"#/components/schemas/ServiceStateENUM"}},"required":["serviceStatusUid","serviceStatusName","position","state"]},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The ServiceStatusResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceStatusResponseSchema":{"title":"ServiceStatusResponseSchema","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"state":{"$ref":"#/components/schemas/ServiceStateENUM"},"deprecated":{"type":"boolean","default":false}},"required":["serviceStatusUid","tenantUid","name","state","deprecated"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The ServiceStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The VisibilityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"VisibilityENUM":{"title":"VisibilityENUM","type":"string","enum":["INTERNAL","PUBLIC","REPORT"]}}}}
```

## The ServiceHoursResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceHoursResponseSchema":{"title":"ServiceHoursResponseSchema","type":"object","required":["serviceHoursUid","serviceOrderUid","tenantUserUid","note","serviceDate","usedMinutes","billedMinutes","hourPrice","totalPrice","tenantUserDisplayName","createdAt","createdBy","lastModifiedAt","lastModifiedBy","hourlyRateUid","salesOrderUid"],"properties":{"serviceHoursUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"note":{"type":"string"},"serviceDate":{"type":"string","format":"date-time"},"usedMinutes":{"type":"integer"},"billedMinutes":{"type":"integer"},"hourPrice":{"type":"integer"},"totalPrice":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"hourlyRateUid":{"$ref":"#/components/schemas/UID"},"salesOrderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The MessageTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]}}}}
```

## The PriorityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"}}}}
```

## The ServiceOrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderItemResponseSchema":{"title":"ServiceOrderItemResponseSchema","type":"object","required":["serviceOrderItemUid","serviceOrderUid","warehouseUid","tenantUserUid","productUid","salesOrderUid","quantity","name","sku","price","costPrice","originalPrice","totalPrice","totalCostPrice","serialNumber","note","tenantUserDisplayName","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"},"salesOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"quantity":{"type":"integer"},"name":{"type":"string"},"sku":{"type":"string"},"price":{"type":"integer"},"costPrice":{"type":"integer"},"originalPrice":{"type":"integer"},"totalPrice":{"type":"integer"},"totalCostPrice":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"},"tenantUserDisplayName":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ServiceEventResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceEventResponseSchema":{"title":"ServiceEventResponseSchema","type":"object","required":["serviceEventUid","serviceOrderUid","serviceStatusUid","tenantUserUid","tenantUserDisplayName","note","visibility","createdAt","createdBy","lastModifiedAt","lastModifiedBy","notifications"],"properties":{"serviceEventUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"},"note":{"type":"string"},"visibility":{"$ref":"#/components/schemas/VisibilityENUM"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/ServiceEventNotificationResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VisibilityENUM":{"title":"VisibilityENUM","type":"string","enum":["INTERNAL","PUBLIC","REPORT"]},"ServiceEventNotificationResponseSchema":{"title":"ServiceEventNotificationResponseSchema","type":"object","required":["notificationUid","type","state","recipient"],"properties":{"notificationUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/MessageTypeENUM"},"state":{"$ref":"#/components/schemas/NotificationStateENUM"},"recipient":{"type":"string"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]}}}}
```

## The OrderPDFSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderPDFSchema":{"title":"OrderPDFSchema","type":"object","properties":{"type":{"$ref":"#/components/schemas/OrderPdfTypeENUM"}},"required":["type"]},"OrderPdfTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|RECEIPT|Make pdf file from sales receipt|\n","minLength":1,"title":"OrderPdfTypeENUM","type":"string","enum":["RECEIPT"]}}}}
```

## The OrderPrintSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderPrintSchema":{"title":"OrderPrintSchema","type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/OrderPrintTypeENUM"},"printerUid":{"description":"The printer to send the print to","$ref":"#/components/schemas/UID"},"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"exchangenoteValidUntil":{"type":"string","description":"Only valid for type EXCHANGENOTE.\nSets a date that the exchange note is valid until.\nIf not set, exchangeNoteValidUntil is calculated from the store's exchangeNoteValidDays setting.\nStored on all orderItemUids in request, usually only one item.","format":"date"},"orderHandlingUid":{"description":"Only valid for type PICKUP, SHORTAGENOTE and PICKNOTE.\nWhen set, only the name of this order handling is shown on the note.\nWhen omitted, all order handlings on the order are shown.","$ref":"#/components/schemas/UID"}}},"OrderPrintTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|RECEIPT| Print sales receipt|\n|EXCHANGENOTE| Print exchange note|\n|GIFTCARD| Print giftcard barcode|\n|PICKUP| Print a pickup label/note |\n|SHORTAGENOTE| Print a missing items note (restlapp) |\n|PICKNOTE| Print a pick note (plukkelapp) |\n","minLength":1,"title":"OrderPrintTypeENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD","PICKUP","SHORTAGENOTE","PICKNOTE"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderEmailSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderEmailSchema":{"title":"OrderEmailSchema","type":"object","properties":{"type":{"$ref":"#/components/schemas/OrderEmailTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}},"required":["type","email"]},"OrderEmailTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIPT | Send sales receipt as email|\n| GIFTCARD | Send giftcard as email|\n","minLength":1,"title":"OrderEmailTypeENUM","type":"string","enum":["RECEIPT","GIFTCARD"]},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductBarcodeTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductBarcodeTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|BARCODE|        Print barcode labels|\n","minLength":1,"title":"ProductBarcodeTypeENUM","type":"string","enum":["BARCODE"]}}}}
```

## The ImportEntityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportEntityENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTS | Import products |\n| PRICES | Import prices|\n| PRODUCT_GROUPS | Import product groups |\n| BRANDS | Import brands|\n| CUSTOMERS | Import customers|\n| STOCK | Import stock values|\n| SUPPLIER_PRODUCT | Import Product supplier information|\n| SUPPLIERS | Import suppliers|","minLength":1,"title":"ImportEntityENUM","type":"string","enum":["PRODUCTS","PRICES","PRODUCT_GROUPS","BRANDS","CUSTOMERS","STOCK","SUPPLIER_PRODUCT","SUPPLIERS"]}}}}
```

## The ImportFormatENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFormatENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXCEL | XLS file |\n","minLength":1,"title":"ImportFormatENUM","type":"string","enum":["EXCEL"]}}}}
```

## The ImportStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Import not started |\n| IMPORT_IN_PROGRESS | Import is running |\n| IMPORT_ABORT | Import is aborting| \n| IMPORT_ABORTED | Import has been aborted |\n| VALIDATE_IN_PROGRESS | Validate is running| \n| COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |\n| COMPLETE | Import complete |\n| VALIDATE_FAILED | Validate failed |\n| IMPORT_FAILED | Import failed |\n| IMPORT_ABORT | Import is aborting |\n| IMPORT_ABORTED | Import has been aborted  |\n| READY_TO_IMPORT | Validation OK, import is ready |\n","minLength":1,"title":"ImportStateENUM","type":"string","enum":["NOT_STARTED","COMPLETE","COMPLETE_NOTHING_TO_IMPORT","IMPORT_FAILED","IMPORT_ABORT","IMPORT_ABORTED","VALIDATE_FAILED","VALIDATE_ABORT","VALIDATE_ABORTED","IMPORT_IN_PROGRESS","VALIDATE_IN_PROGRESS","READY_TO_IMPORT"]}}}}
```

## The ImportActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SIMULATE | Do a simulate on import. Return content without saving |\n| PROCESS | Process file with given template. Save file if no errors|\n","minLength":1,"title":"ImportActionENUM","type":"string","enum":["SIMULATE","PROCESS"]}}}}
```

## The ImportOperationENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]}}}}
```

## The ProductBarcodePrintSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductBarcodePrintSchema":{"title":"ProductBarcodePrintSchema","type":"object","required":["type","template"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/ProductBarcodeTypeENUM"},"template":{"type":"string","description":"Must be a valid template name from /v2/metadata/labels"},"peripheralUid":{"$ref":"#/components/schemas/DeprecatedUID"},"printerUid":{"$ref":"#/components/schemas/UID"},"copies":{"type":"integer"},"serialnumbers":{"type":"array","description":"Prints a label for each serial number, appending the serial number as barcode and plain text.","items":{"type":"string"}}},"description":"The `printerUid` will be required when the peripheralUid is removed."},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductBarcodeTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|BARCODE|        Print barcode labels|\n","minLength":1,"title":"ProductBarcodeTypeENUM","type":"string","enum":["BARCODE"]},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true}}}}
```

## The ImportTemplateCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportTemplateCreateRequestSchema":{"title":"ImportTemplateCreateRequestSchema","type":"object","required":["name","entity","importFormat"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"entity":{"$ref":"#/components/schemas/ImportEntityENUM"},"importFormat":{"$ref":"#/components/schemas/ImportFormatENUM"},"templateUid":{"$ref":"#/components/schemas/UID"}}},"ImportEntityENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTS | Import products |\n| PRICES | Import prices|\n| PRODUCT_GROUPS | Import product groups |\n| BRANDS | Import brands|\n| CUSTOMERS | Import customers|\n| STOCK | Import stock values|\n| SUPPLIER_PRODUCT | Import Product supplier information|\n| SUPPLIERS | Import suppliers|","minLength":1,"title":"ImportEntityENUM","type":"string","enum":["PRODUCTS","PRICES","PRODUCT_GROUPS","BRANDS","CUSTOMERS","STOCK","SUPPLIER_PRODUCT","SUPPLIERS"]},"ImportFormatENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXCEL | XLS file |\n","minLength":1,"title":"ImportFormatENUM","type":"string","enum":["EXCEL"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ImportTemplateUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportTemplateUpdateRequestSchema":{"title":"ImportTemplateUpdateRequestSchema","type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The ImportLayoutCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportLayoutCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ImportLayoutUpdateRequestSchema"},{"properties":{"layoutUid":{"$ref":"#/components/schemas/UID"}},"type":"object"}],"title":"ImportLayoutCreateRequestSchema"},"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ImportLayoutUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]}}}}
```

## The ImportConversionCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportConversionCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"},{"properties":{"conversionUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ImportConversionCreateRequestSchema"},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ImportConversionUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]}}}}
```

## The ImportTemplateResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportTemplateResponseSchema":{"title":"ImportTemplateResponseSchema","type":"object","required":["templateUid","name","description","createdBy","createdAt","lastModifiedBy","lastModifiedAt","layouts","entity","importFormat","fields"],"properties":{"templateUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"layouts":{"type":"array","items":{"$ref":"#/components/schemas/ImportLayoutResponseSchema"}},"entity":{"$ref":"#/components/schemas/ImportEntityENUM"},"importFormat":{"$ref":"#/components/schemas/ImportFormatENUM"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ImportFieldDefinitionSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportLayoutResponseSchema":{"title":"ImportLayoutResponseSchema","allOf":[{"type":"object","properties":{"layoutUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"conversions":{"type":"array","items":{"$ref":"#/components/schemas/ImportConversionResponseSchema"}}},"required":["layoutUid","conversions","createdBy","createdAt","lastModifiedBy","lastModifiedAt"]},{"$ref":"#/components/schemas/ImportLayoutUpdateRequestSchema"}]},"ImportConversionResponseSchema":{"title":"ImportConversionResponseSchema","allOf":[{"type":"object","properties":{"conversionUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["conversionUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"}]},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]},"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]},"ImportEntityENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTS | Import products |\n| PRICES | Import prices|\n| PRODUCT_GROUPS | Import product groups |\n| BRANDS | Import brands|\n| CUSTOMERS | Import customers|\n| STOCK | Import stock values|\n| SUPPLIER_PRODUCT | Import Product supplier information|\n| SUPPLIERS | Import suppliers|","minLength":1,"title":"ImportEntityENUM","type":"string","enum":["PRODUCTS","PRICES","PRODUCT_GROUPS","BRANDS","CUSTOMERS","STOCK","SUPPLIER_PRODUCT","SUPPLIERS"]},"ImportFormatENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXCEL | XLS file |\n","minLength":1,"title":"ImportFormatENUM","type":"string","enum":["EXCEL"]},"ImportFieldDefinitionSchema":{"title":"ImportFieldDefinitionSchema","type":"object","required":["name","type","allowedValues","createUsage","updateUsage"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}},"createUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"},"updateUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"}}},"ImportFieldUsageSchema":{"title":"ImportFieldUsageSchema","type":"object","required":["usage","requiredExchangeableWith"],"properties":{"usage":{"$ref":"#/components/schemas/ImportFieldUsageENUM"},"requiredExchangeableWith":{"type":"array","description":"List of field names that can substitute this field. \nAt least one field in an exchangeable group must be mapped in the layout. \nEmpty array if the field is unconditionally required.","items":{"type":"string"}}}},"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ImportLayoutResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportLayoutResponseSchema":{"title":"ImportLayoutResponseSchema","allOf":[{"type":"object","properties":{"layoutUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"conversions":{"type":"array","items":{"$ref":"#/components/schemas/ImportConversionResponseSchema"}}},"required":["layoutUid","conversions","createdBy","createdAt","lastModifiedBy","lastModifiedAt"]},{"$ref":"#/components/schemas/ImportLayoutUpdateRequestSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportConversionResponseSchema":{"title":"ImportConversionResponseSchema","allOf":[{"type":"object","properties":{"conversionUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["conversionUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"}]},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]},"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]}}}}
```

## The ImportConversionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportConversionResponseSchema":{"title":"ImportConversionResponseSchema","allOf":[{"type":"object","properties":{"conversionUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["conversionUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]}}}}
```

## The ImportFileBasicResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileBasicResponseSchema":{"title":"ImportFileBasicResponseSchema","type":"object","required":["importFileUid","createdBy","createdAt","lastModifiedBy","lastModifiedAt","state","filename","columnCount","rowCount","progressCount","errorCount","ignoredCount","estimatedRemainingTime","estimatedRemainingTimeText","totalTime","operation","errorMessage"],"properties":{"importFileUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/ImportStateENUM"},"filename":{"type":"string"},"columnCount":{"type":"integer"},"rowCount":{"type":"integer","description":"header row is not counted"},"progressCount":{"type":"integer"},"errorCount":{"type":"integer"},"ignoredCount":{"type":"integer","description":"unprocessed rows"},"estimatedRemainingTime":{"type":"integer","description":"in hundreths of a second"},"estimatedRemainingTimeText":{"type":"string"},"totalTime":{"type":"integer","description":"in hundreths of a second"},"operation":{"$ref":"#/components/schemas/ImportOperationENUM"},"errorMessage":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Import not started |\n| IMPORT_IN_PROGRESS | Import is running |\n| IMPORT_ABORT | Import is aborting| \n| IMPORT_ABORTED | Import has been aborted |\n| VALIDATE_IN_PROGRESS | Validate is running| \n| COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |\n| COMPLETE | Import complete |\n| VALIDATE_FAILED | Validate failed |\n| IMPORT_FAILED | Import failed |\n| IMPORT_ABORT | Import is aborting |\n| IMPORT_ABORTED | Import has been aborted  |\n| READY_TO_IMPORT | Validation OK, import is ready |\n","minLength":1,"title":"ImportStateENUM","type":"string","enum":["NOT_STARTED","COMPLETE","COMPLETE_NOTHING_TO_IMPORT","IMPORT_FAILED","IMPORT_ABORT","IMPORT_ABORTED","VALIDATE_FAILED","VALIDATE_ABORT","VALIDATE_ABORTED","IMPORT_IN_PROGRESS","VALIDATE_IN_PROGRESS","READY_TO_IMPORT"]},"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]}}}}
```

## The ImportFileResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileResponseSchema":{"title":"ImportFileResponseSchema","allOf":[{"$ref":"#/components/schemas/ImportFileBasicResponseSchema"},{"type":"object","required":["template"],"properties":{"template":{"$ref":"#/components/schemas/ImportTemplateResponseSchema"}}}]},"ImportFileBasicResponseSchema":{"title":"ImportFileBasicResponseSchema","type":"object","required":["importFileUid","createdBy","createdAt","lastModifiedBy","lastModifiedAt","state","filename","columnCount","rowCount","progressCount","errorCount","ignoredCount","estimatedRemainingTime","estimatedRemainingTimeText","totalTime","operation","errorMessage"],"properties":{"importFileUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/ImportStateENUM"},"filename":{"type":"string"},"columnCount":{"type":"integer"},"rowCount":{"type":"integer","description":"header row is not counted"},"progressCount":{"type":"integer"},"errorCount":{"type":"integer"},"ignoredCount":{"type":"integer","description":"unprocessed rows"},"estimatedRemainingTime":{"type":"integer","description":"in hundreths of a second"},"estimatedRemainingTimeText":{"type":"string"},"totalTime":{"type":"integer","description":"in hundreths of a second"},"operation":{"$ref":"#/components/schemas/ImportOperationENUM"},"errorMessage":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Import not started |\n| IMPORT_IN_PROGRESS | Import is running |\n| IMPORT_ABORT | Import is aborting| \n| IMPORT_ABORTED | Import has been aborted |\n| VALIDATE_IN_PROGRESS | Validate is running| \n| COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |\n| COMPLETE | Import complete |\n| VALIDATE_FAILED | Validate failed |\n| IMPORT_FAILED | Import failed |\n| IMPORT_ABORT | Import is aborting |\n| IMPORT_ABORTED | Import has been aborted  |\n| READY_TO_IMPORT | Validation OK, import is ready |\n","minLength":1,"title":"ImportStateENUM","type":"string","enum":["NOT_STARTED","COMPLETE","COMPLETE_NOTHING_TO_IMPORT","IMPORT_FAILED","IMPORT_ABORT","IMPORT_ABORTED","VALIDATE_FAILED","VALIDATE_ABORT","VALIDATE_ABORTED","IMPORT_IN_PROGRESS","VALIDATE_IN_PROGRESS","READY_TO_IMPORT"]},"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]},"ImportTemplateResponseSchema":{"title":"ImportTemplateResponseSchema","type":"object","required":["templateUid","name","description","createdBy","createdAt","lastModifiedBy","lastModifiedAt","layouts","entity","importFormat","fields"],"properties":{"templateUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"layouts":{"type":"array","items":{"$ref":"#/components/schemas/ImportLayoutResponseSchema"}},"entity":{"$ref":"#/components/schemas/ImportEntityENUM"},"importFormat":{"$ref":"#/components/schemas/ImportFormatENUM"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ImportFieldDefinitionSchema"}}}},"ImportLayoutResponseSchema":{"title":"ImportLayoutResponseSchema","allOf":[{"type":"object","properties":{"layoutUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"conversions":{"type":"array","items":{"$ref":"#/components/schemas/ImportConversionResponseSchema"}}},"required":["layoutUid","conversions","createdBy","createdAt","lastModifiedBy","lastModifiedAt"]},{"$ref":"#/components/schemas/ImportLayoutUpdateRequestSchema"}]},"ImportConversionResponseSchema":{"title":"ImportConversionResponseSchema","allOf":[{"type":"object","properties":{"conversionUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["conversionUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"}]},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]},"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]},"ImportEntityENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTS | Import products |\n| PRICES | Import prices|\n| PRODUCT_GROUPS | Import product groups |\n| BRANDS | Import brands|\n| CUSTOMERS | Import customers|\n| STOCK | Import stock values|\n| SUPPLIER_PRODUCT | Import Product supplier information|\n| SUPPLIERS | Import suppliers|","minLength":1,"title":"ImportEntityENUM","type":"string","enum":["PRODUCTS","PRICES","PRODUCT_GROUPS","BRANDS","CUSTOMERS","STOCK","SUPPLIER_PRODUCT","SUPPLIERS"]},"ImportFormatENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXCEL | XLS file |\n","minLength":1,"title":"ImportFormatENUM","type":"string","enum":["EXCEL"]},"ImportFieldDefinitionSchema":{"title":"ImportFieldDefinitionSchema","type":"object","required":["name","type","allowedValues","createUsage","updateUsage"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}},"createUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"},"updateUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"}}},"ImportFieldUsageSchema":{"title":"ImportFieldUsageSchema","type":"object","required":["usage","requiredExchangeableWith"],"properties":{"usage":{"$ref":"#/components/schemas/ImportFieldUsageENUM"},"requiredExchangeableWith":{"type":"array","description":"List of field names that can substitute this field. \nAt least one field in an exchangeable group must be mapped in the layout. \nEmpty array if the field is unconditionally required.","items":{"type":"string"}}}},"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ImportFileRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileRequestSchema":{"title":"ImportFileRequestSchema","type":"object","properties":{"templateUid":{"$ref":"#/components/schemas/UID"},"base64Data":{"type":"string","description":"base64 encoded data to be processed"},"operation":{"$ref":"#/components/schemas/ImportOperationENUM"},"action":{"$ref":"#/components/schemas/ImportActionENUM"},"importFileUid":{"$ref":"#/components/schemas/UID"}},"required":["templateUid","base64Data","operation","action"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]},"ImportActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SIMULATE | Do a simulate on import. Return content without saving |\n| PROCESS | Process file with given template. Save file if no errors|\n","minLength":1,"title":"ImportActionENUM","type":"string","enum":["SIMULATE","PROCESS"]}}}}
```

## The ImportFileDetailResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileDetailResponseSchema":{"title":"ImportFileResponseSchema","allOf":[{"$ref":"#/components/schemas/ImportFileResponseSchema"},{"type":"object","properties":{"base64Data":{"type":"string","description":"base64 encoded data of response.\nDeprecated: Use the download endpoint instead","deprecated":true}}}]},"ImportFileResponseSchema":{"title":"ImportFileResponseSchema","allOf":[{"$ref":"#/components/schemas/ImportFileBasicResponseSchema"},{"type":"object","required":["template"],"properties":{"template":{"$ref":"#/components/schemas/ImportTemplateResponseSchema"}}}]},"ImportFileBasicResponseSchema":{"title":"ImportFileBasicResponseSchema","type":"object","required":["importFileUid","createdBy","createdAt","lastModifiedBy","lastModifiedAt","state","filename","columnCount","rowCount","progressCount","errorCount","ignoredCount","estimatedRemainingTime","estimatedRemainingTimeText","totalTime","operation","errorMessage"],"properties":{"importFileUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/ImportStateENUM"},"filename":{"type":"string"},"columnCount":{"type":"integer"},"rowCount":{"type":"integer","description":"header row is not counted"},"progressCount":{"type":"integer"},"errorCount":{"type":"integer"},"ignoredCount":{"type":"integer","description":"unprocessed rows"},"estimatedRemainingTime":{"type":"integer","description":"in hundreths of a second"},"estimatedRemainingTimeText":{"type":"string"},"totalTime":{"type":"integer","description":"in hundreths of a second"},"operation":{"$ref":"#/components/schemas/ImportOperationENUM"},"errorMessage":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Import not started |\n| IMPORT_IN_PROGRESS | Import is running |\n| IMPORT_ABORT | Import is aborting| \n| IMPORT_ABORTED | Import has been aborted |\n| VALIDATE_IN_PROGRESS | Validate is running| \n| COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |\n| COMPLETE | Import complete |\n| VALIDATE_FAILED | Validate failed |\n| IMPORT_FAILED | Import failed |\n| IMPORT_ABORT | Import is aborting |\n| IMPORT_ABORTED | Import has been aborted  |\n| READY_TO_IMPORT | Validation OK, import is ready |\n","minLength":1,"title":"ImportStateENUM","type":"string","enum":["NOT_STARTED","COMPLETE","COMPLETE_NOTHING_TO_IMPORT","IMPORT_FAILED","IMPORT_ABORT","IMPORT_ABORTED","VALIDATE_FAILED","VALIDATE_ABORT","VALIDATE_ABORTED","IMPORT_IN_PROGRESS","VALIDATE_IN_PROGRESS","READY_TO_IMPORT"]},"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]},"ImportTemplateResponseSchema":{"title":"ImportTemplateResponseSchema","type":"object","required":["templateUid","name","description","createdBy","createdAt","lastModifiedBy","lastModifiedAt","layouts","entity","importFormat","fields"],"properties":{"templateUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"layouts":{"type":"array","items":{"$ref":"#/components/schemas/ImportLayoutResponseSchema"}},"entity":{"$ref":"#/components/schemas/ImportEntityENUM"},"importFormat":{"$ref":"#/components/schemas/ImportFormatENUM"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ImportFieldDefinitionSchema"}}}},"ImportLayoutResponseSchema":{"title":"ImportLayoutResponseSchema","allOf":[{"type":"object","properties":{"layoutUid":{"$ref":"#/components/schemas/UID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"conversions":{"type":"array","items":{"$ref":"#/components/schemas/ImportConversionResponseSchema"}}},"required":["layoutUid","conversions","createdBy","createdAt","lastModifiedBy","lastModifiedAt"]},{"$ref":"#/components/schemas/ImportLayoutUpdateRequestSchema"}]},"ImportConversionResponseSchema":{"title":"ImportConversionResponseSchema","allOf":[{"type":"object","properties":{"conversionUid":{"$ref":"#/components/schemas/UID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["conversionUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},{"$ref":"#/components/schemas/ImportConversionUpdateRequestSchema"}]},"ImportConversionUpdateRequestSchema":{"title":"ImportConversionUpdateRequestSchema","type":"object","properties":{"fromValue":{"type":"string"},"toValue":{"type":"string"}},"required":["fromValue","toValue"]},"ImportLayoutUpdateRequestSchema":{"title":"ImportLayoutUpdateRequestSchema","type":"object","properties":{"fieldName":{"type":"string","description":"Entity field name in FlowRetail"},"value":{"type":"string","description":"Static value, or reference to field in import file.\n\nExample: For EXCEL import use `A` to get the value from column A"}},"required":["fieldName","value"]},"ImportEntityENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| PRODUCTS | Import products |\n| PRICES | Import prices|\n| PRODUCT_GROUPS | Import product groups |\n| BRANDS | Import brands|\n| CUSTOMERS | Import customers|\n| STOCK | Import stock values|\n| SUPPLIER_PRODUCT | Import Product supplier information|\n| SUPPLIERS | Import suppliers|","minLength":1,"title":"ImportEntityENUM","type":"string","enum":["PRODUCTS","PRICES","PRODUCT_GROUPS","BRANDS","CUSTOMERS","STOCK","SUPPLIER_PRODUCT","SUPPLIERS"]},"ImportFormatENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXCEL | XLS file |\n","minLength":1,"title":"ImportFormatENUM","type":"string","enum":["EXCEL"]},"ImportFieldDefinitionSchema":{"title":"ImportFieldDefinitionSchema","type":"object","required":["name","type","allowedValues","createUsage","updateUsage"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}},"createUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"},"updateUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"}}},"ImportFieldUsageSchema":{"title":"ImportFieldUsageSchema","type":"object","required":["usage","requiredExchangeableWith"],"properties":{"usage":{"$ref":"#/components/schemas/ImportFieldUsageENUM"},"requiredExchangeableWith":{"type":"array","description":"List of field names that can substitute this field. \nAt least one field in an exchangeable group must be mapped in the layout. \nEmpty array if the field is unconditionally required.","items":{"type":"string"}}}},"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ProductVariantResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductVariantResponseSchema":{"title":"ProductVariantResponseSchema","allOf":[{"type":"object","properties":{"productVariantUid":{"$ref":"#/components/schemas/UID"}},"required":["productVariantUid"]},{"$ref":"#/components/schemas/ProductResponseSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The ProductAddonResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductAddonResponseSchema":{"title":"ProductAddonResponseSchema","allOf":[{"type":"object","required":["productLinkType"],"properties":{"productLinkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"}}},{"$ref":"#/components/schemas/ProductResponseSchema"}]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The ProductVariantRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductVariantRequestSchema":{"title":"ProductVariantRequestSchema","type":"object","properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productVariantUid":{"$ref":"#/components/schemas/UID"}},"required":["productUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductPropertyResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"}}}}
```

## The PurchaseReceivementItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseReceivementItemResponseSchema":{"title":"PurchaseReceivementItemResponseSchema","description":"PurchaseReceivementItem","allOf":[{"type":"object","required":["receivementUid","receivementStatus","invoiceApproval"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementStatus":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"invoiceApproval":{"$ref":"#/components/schemas/ReceivementInvoiceApprovalSchema"}}},{"$ref":"#/components/schemas/ReceivementItemResponseSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementInvoiceApprovalSchema":{"title":"ReceivementInvoiceApprovalSchema","type":"object","nullable":true,"description":"Invoice-approval (fakturagodkjent) state. Null when the receivement is not invoice-approved.","required":["approvedAt","tenantUserUid","tenantUserDisplayName"],"properties":{"approvedAt":{"type":"string","format":"date-time"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"ReceivementItemResponseSchema":{"title":"ReceivementItemResponseSchema","type":"object","required":["createdAt","createdBy","externalId","lastModifiedAt","lastModifiedBy","product","purchaseOrderItemUid","quantity","receivementItemUid","status","note","tenantUserUid","tenantUserDisplayName","reservations"],"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"externalId":{"description":"External reference to receivement line","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/ReceivementItemProductResponseSchema"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"unitPrice":{"type":"integer","deprecated":true,"description":"Deprecated: Use unitcost instead"},"unitCost":{"type":"integer"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"serialnumber":{"type":"string"},"status":{"type":"string"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserDisplayName":{"type":"string","description":"The display name of the user that made the receivement"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemReservationSchema"}}}},"ReceivementItemProductResponseSchema":{"title":"ReceivementItemProductResponseSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The UID object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeprecatedUID object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true}}}}
```

## The OptionalUID object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The OptionalNullableUID object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OptionalNullableUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","nullable":true}}}}
```

## The DeprecatedOptionalUID object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedOptionalUID":{"title":"DeprecatedOptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","deprecated":true}}}}
```

## The ServiceTypeCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceTypeCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceTypeUpdateRequestSchema"},{"properties":{"serviceTypeUid":{"$ref":"#/components/schemas/UID"}}}],"title":"ServiceTypeCreateRequestSchema","type":"object"},"ServiceTypeUpdateRequestSchema":{"title":"ServiceTypeUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"serviceStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ServiceTypeStatusSchema"}},"deprecated":{"type":"boolean"}},"required":["name","serviceStatuses"]},"ServiceTypeStatusSchema":{"title":"ServiceTypeStatusSchema","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"position":{"type":"integer"}},"required":["serviceStatusUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceTypeUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceTypeUpdateRequestSchema":{"title":"ServiceTypeUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"serviceStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ServiceTypeStatusSchema"}},"deprecated":{"type":"boolean"}},"required":["name","serviceStatuses"]},"ServiceTypeStatusSchema":{"title":"ServiceTypeStatusSchema","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"position":{"type":"integer"}},"required":["serviceStatusUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceStatusCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceStatusCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceStatusUpdateRequestSchema"},{"properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ServiceStatusCreateRequestSchema"},"ServiceStatusUpdateRequestSchema":{"title":"ServiceStatusUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"state":{"$ref":"#/components/schemas/ServiceStateENUM"},"deprecated":{"type":"boolean"}},"required":["name","state"]},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceStatusUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceStatusUpdateRequestSchema":{"title":"ServiceStatusUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"state":{"$ref":"#/components/schemas/ServiceStateENUM"},"deprecated":{"type":"boolean"}},"required":["name","state"]},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The ServiceHoursCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceHoursCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceHoursUpdateRequestSchema"},{"required":["hourlyRateUid","serviceDate","usedMinutes"],"properties":{"serviceHoursUid":{"$ref":"#/components/schemas/UID"},"hourlyRateUid":{"$ref":"#/components/schemas/UID"},"serviceDate":{"type":"string","format":"date-time"},"usedMinutes":{"type":"integer"}}}],"title":"ServiceHoursCreateRequestSchema","type":"object"},"ServiceHoursUpdateRequestSchema":{"title":"ServiceHoursUpdateRequestSchema","type":"object","properties":{"serviceDate":{"type":"string","format":"date-time"},"usedMinutes":{"type":"integer"},"note":{"type":"string"},"billedMinutes":{"type":"integer"},"hourlyRateUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceHoursUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceHoursUpdateRequestSchema":{"title":"ServiceHoursUpdateRequestSchema","type":"object","properties":{"serviceDate":{"type":"string","format":"date-time"},"usedMinutes":{"type":"integer"},"note":{"type":"string"},"billedMinutes":{"type":"integer"},"hourlyRateUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ServiceEventCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceEventCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceEventUpdateRequestSchema"},{"properties":{"serviceEventUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ServiceEventCreateRequestSchema"},"ServiceEventUpdateRequestSchema":{"title":"ServiceEventUpdateRequestSchema","type":"object","required":["serviceStatusUid","visibility"],"properties":{"note":{"type":"string"},"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"visibility":{"$ref":"#/components/schemas/VisibilityENUM"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/MessageTypeENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VisibilityENUM":{"title":"VisibilityENUM","type":"string","enum":["INTERNAL","PUBLIC","REPORT"]},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]}}}}
```

## The ServiceEventUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceEventUpdateRequestSchema":{"title":"ServiceEventUpdateRequestSchema","type":"object","required":["serviceStatusUid","visibility"],"properties":{"note":{"type":"string"},"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"visibility":{"$ref":"#/components/schemas/VisibilityENUM"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/MessageTypeENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VisibilityENUM":{"title":"VisibilityENUM","type":"string","enum":["INTERNAL","PUBLIC","REPORT"]},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]}}}}
```

## The ServiceOrderItemCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderItemCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceOrderItemUpdateRequestSchema"},{"required":["productUid"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"}}}],"title":"ServiceOrderItemCreateRequestSchema","type":"object"},"ServiceOrderItemUpdateRequestSchema":{"title":"ServiceOrderItemUpdateRequestSchema","type":"object","required":["quantity"],"properties":{"price":{"type":"integer"},"quantity":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ServiceOrderItemUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderItemUpdateRequestSchema":{"title":"ServiceOrderItemUpdateRequestSchema","type":"object","required":["quantity"],"properties":{"price":{"type":"integer"},"quantity":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"}}}}}}
```

## The ServiceOrderCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ServiceOrderUpdateRequestSchema"},{"properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ServiceOrderCreateRequestSchema"},"ServiceOrderUpdateRequestSchema":{"title":"ServiceOrderUpdateRequestSchema","type":"object","required":["customerUid","serviceTypeUid","title","description","priority"],"properties":{"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceTypeUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/OptionalUID"},"title":{"type":"string"},"description":{"type":"string"},"locationLabel":{"type":"string"},"priority":{"$ref":"#/components/schemas/PriorityENUM"},"requiresPriceEstimate":{"type":"boolean"},"estimatedPrice":{"type":"integer"},"maxPrice":{"type":"integer"},"readyAtEstimate":{"type":"string","format":"date-time"},"readyAtNeeded":{"type":"string","format":"date-time"},"assignedUserUid":{"$ref":"#/components/schemas/OptionalUID"},"warranty":{"type":"boolean"},"rmaOrderItemUid":{"$ref":"#/components/schemas/OptionalNullableUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"},"OptionalNullableUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","nullable":true}}}}
```

## The ServiceOrderUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderUpdateRequestSchema":{"title":"ServiceOrderUpdateRequestSchema","type":"object","required":["customerUid","serviceTypeUid","title","description","priority"],"properties":{"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceTypeUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/OptionalUID"},"title":{"type":"string"},"description":{"type":"string"},"locationLabel":{"type":"string"},"priority":{"$ref":"#/components/schemas/PriorityENUM"},"requiresPriceEstimate":{"type":"boolean"},"estimatedPrice":{"type":"integer"},"maxPrice":{"type":"integer"},"readyAtEstimate":{"type":"string","format":"date-time"},"readyAtNeeded":{"type":"string","format":"date-time"},"assignedUserUid":{"$ref":"#/components/schemas/OptionalUID"},"warranty":{"type":"boolean"},"rmaOrderItemUid":{"$ref":"#/components/schemas/OptionalNullableUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"},"OptionalNullableUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","nullable":true}}}}
```

## The DeviceSystemInformationUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceSystemInformationUpdateRequestSchema":{"title":"DeviceSystemInformationUpdateRequestSchema","type":"object","properties":{"systemInformation":{"type":"string","description":"Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers"}},"required":["systemInformation"]}}}}
```

## The DeviceRegisterRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceRegisterRequestSchema":{"title":"DeviceRegisterRequestSchema","type":"object","properties":{"clientId":{"type":"string"},"name":{"type":"string","nullable":true},"systemInformation":{"type":"string","description":"Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers","nullable":true}},"required":["clientId"]}}}}
```

## The DeviceLinkRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceLinkRequestSchema":{"title":"DeviceLinkRequestSchema","type":"object","required":["appId","userCode","password"],"properties":{"appId":{"type":"string","description":"This is a predefined app id that Flow will provide"},"userCode":{"type":"string","description":"A user code from the tenant"},"password":{"type":"string","description":"The password for the user"},"systemInformation":{"type":"string","description":"Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers"}}}}}}
```

## The XZReportPDFRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"XZReportPDFRequestSchema":{"title":"XZReportPDFRequestSchema","properties":{"date":{"format":"date","type":"string"}},"required":["date"],"type":"object"}}}}
```

## The CashControlReportPDFRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashControlReportPDFRequestSchema":{"title":"CashControlReportPDFRequestSchema","properties":{"date":{"format":"date","type":"string"}},"required":["date"],"type":"object"}}}}
```

## The SAFTReportCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SAFTReportCreateRequestSchema":{"title":"SAFTReportCreateRequestSchema","type":"object","properties":{"fromDate":{"format":"date","type":"string"},"toDate":{"format":"date","type":"string"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}},"required":["fromDate","toDate"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The GeneralReportCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralReportCreateRequestSchema":{"title":"GeneralReportCreateRequestSchema","type":"object","properties":{"fromDate":{"format":"date","type":"string"},"toDate":{"format":"date","type":"string"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}},"required":["fromDate","toDate"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseStockDetailsReportCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseStockDetailsReportCreateRequestSchema":{"title":"WarehouseStockDetailsReportCreateRequestSchema","type":"object","properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReportAbortRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportAbortRequestSchema":{"title":"ReportAbortRequestSchema","type":"object","properties":{"action":{"$ref":"#/components/schemas/ReportActionENUM"}},"required":["action"]},"ReportActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ABORT | Abort running job |\n","title":"ReportActionENUM","type":"string","enum":["ABORT"]}}}}
```

## The TurnoverReportBasisENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TurnoverReportBasisENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| settled | Report on settled orders using settled_at. Includes only orders with status COMPLETE and settleState COMPLETE. |\n| ordered | Report on orders using order_date. Includes orders with status COMPLETE or CONFIRMED. |","enum":["settled","ordered"],"default":"settled","title":"TurnoverReportBasisENUM","type":"string"}}}}
```

## The TurnoverRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TurnoverRequestSchema":{"title":"TurnoverRequestSchema","type":"object","description":"Turnover Request Body","required":["fromDateTime","toDateTime"],"properties":{"fromDateTime":{"format":"date-time","minLength":20,"type":"string"},"toDateTime":{"format":"date-time","minLength":20,"type":"string"},"reportBasis":{"$ref":"#/components/schemas/TurnoverReportBasisENUM"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"TurnoverReportBasisENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| settled | Report on settled orders using settled_at. Includes only orders with status COMPLETE and settleState COMPLETE. |\n| ordered | Report on orders using order_date. Includes orders with status COMPLETE or CONFIRMED. |","enum":["settled","ordered"],"default":"settled","title":"TurnoverReportBasisENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantUserTurnoverRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserTurnoverRequestSchema":{"title":"TenantUserTurnoverRequestSchema","type":"object","description":"Turnover Request Body","properties":{"fromDateTime":{"format":"date-time","minLength":20,"type":"string"},"toDateTime":{"format":"date-time","minLength":20,"type":"string"},"reportBasis":{"$ref":"#/components/schemas/TurnoverReportBasisENUM"}},"required":["fromDateTime","toDateTime"]},"TurnoverReportBasisENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| settled | Report on settled orders using settled_at. Includes only orders with status COMPLETE and settleState COMPLETE. |\n| ordered | Report on orders using order_date. Includes orders with status COMPLETE or CONFIRMED. |","enum":["settled","ordered"],"default":"settled","title":"TurnoverReportBasisENUM","type":"string"}}}}
```

## The TillStatusRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillStatusRequestSchema":{"title":"TillStatusRequestSchema","type":"object","properties":{"bankdepositAmount":{"description":"The amount that should be withdrawed from the till and deposited to night safe when the till is closed.","type":"integer"},"bankdepositReference":{"description":"An optional reference to the bank deposit","type":"string"},"cashAmount":{"description":"When the till is opened this is the change amount.\nWhen the till is closed this is the counted amount","type":"integer"},"status":{"$ref":"#/components/schemas/TillStatusENUM"},"cashDetails":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}},"required":["status"]},"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The TenantUserUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserUpdateRequestSchema":{"title":"TenantUserUpdateRequestSchema","type":"object","properties":{"accountType":{"$ref":"#/components/schemas/TenantAccountTypeENUM"},"defaultStoreUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"password":{"type":"string"},"storeAccess":{"type":"array","items":{"$ref":"#/components/schemas/UserStoreAccessCreateSchema"}},"tenantRole":{"$ref":"#/components/schemas/TenantRoleENUM"},"userCode":{"type":"string"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"active":{"type":"boolean"}}},"TenantAccountTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Access to backoffice and onboarding of new devices|\n| REGULAR | Can only login to already onboarded devices|\n| SUPPORT | Support account|\n| INTEGRATION | Computer integration account|","enum":["FULL","REGULAR","SUPPORT","INTEGRATION"],"title":"TenantAccountTypeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"EmailTYPE":{"title":"Email","type":"string"},"UserStoreAccessCreateSchema":{"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeRole":{"$ref":"#/components/schemas/StoreRoleENUM"}},"required":["storeUid","storeRole"],"title":"UserStoreAccessCreateSchema","type":"object"},"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"},"TenantRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| BLOCKED | Blocked from this tenant|\n| ACCESS | Only access to the tenant.|\n| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores.|\n| BACKOFFICE | Access to product, pricelists, etc.|","enum":["ACCESS","ADMIN","BACKOFFICE","BLOCKED"],"title":"TenantRoleENUM","type":"string"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"}}}}
```

## The TenantUserCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserCreateRequestSchema":{"title":"TenantUserCreateRequestSchema","type":"object","description":"Email is required when accountType is FULL.\ntenantRole is optional; tenant-level permissions are managed via tenant user role assignments.\nWhen omitted, the legacy tenantRole stored on the user defaults to ACCESS.","required":["accountType","password","userCode"],"properties":{"accountType":{"$ref":"#/components/schemas/TenantAccountTypeENUM"},"displayName":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"password":{"type":"string"},"tenantRole":{"$ref":"#/components/schemas/TenantRoleENUM"},"userCode":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"languageCode":{"$ref":"#/components/schemas/LanguageCode"},"storeAccess":{"type":"array","items":{"$ref":"#/components/schemas/UserStoreAccessCreateSchema"}},"defaultStoreUid":{"$ref":"#/components/schemas/OptionalUID"}}},"TenantAccountTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| FULL | Access to backoffice and onboarding of new devices|\n| REGULAR | Can only login to already onboarded devices|\n| SUPPORT | Support account|\n| INTEGRATION | Computer integration account|","enum":["FULL","REGULAR","SUPPORT","INTEGRATION"],"title":"TenantAccountTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"TenantRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| BLOCKED | Blocked from this tenant|\n| ACCESS | Only access to the tenant.|\n| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores.|\n| BACKOFFICE | Access to product, pricelists, etc.|","enum":["ACCESS","ADMIN","BACKOFFICE","BLOCKED"],"title":"TenantRoleENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"},"UserStoreAccessCreateSchema":{"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeRole":{"$ref":"#/components/schemas/StoreRoleENUM"}},"required":["storeUid","storeRole"],"title":"UserStoreAccessCreateSchema","type":"object"},"StoreRoleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ADMIN | Store admin.|\n| BACKOFFICE | Access to all backoffice functionality (price changes, purhcase order, etc)|\n| REGULAR | Access to app funtionality (product lookup, create sales, delivery)|","enum":["ADMIN","BACKOFFICE","REGULAR"],"title":"StoreRoleENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The StocktakingItemListCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StocktakingItemListCreateRequestSchema":{"title":"StocktakingItemListCreateRequestSchema","type":"object","properties":{"productUids":{"description":"List of productUids to be added to a stocktaking","items":{"$ref":"#/components/schemas/UID"},"type":"array"}},"required":["productUids"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderDeliveryUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryUpdateRequestSchema":{"title":"OrderDeliveryUpdateRequestSchema","type":"object","properties":{"signature":{"description":"base64 encoded png formatted binary data","type":"string"},"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/DeprecatedUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeprecatedDeliveryAddressRequestSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date","nullable":true},"externalDeliveryReference":{"type":"string"},"note":{"type":"string"},"trackingNumber":{"deprecated":true,"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/DeprecatedOptionalUID"},"timeslot":{"$ref":"#/components/schemas/DeprecatedOrderDeliveryTimeslotRequestSchema"},"shipping":{"$ref":"#/components/schemas/OrderDeliveryShippingRequestSchema"}}},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"DeprecatedDeliveryAddressRequestSchema":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"DeprecatedOptionalUID":{"title":"DeprecatedOptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","deprecated":true},"DeprecatedOrderDeliveryTimeslotRequestSchema":{"deprecated":true,"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}},"OrderDeliveryShippingRequestSchema":{"title":"OrderDeliveryShippingRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointRequestSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotRequestSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"freightPrice":{"type":"integer"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The ReceivementUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementUpdateRequestSchema":{"title":"ReceivementUpdateRequestSchema","type":"object","properties":{"externalId":{"description":"External reference to receivement","type":"string"},"packingList":{"type":"string"},"status":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"supplierOrderReference":{"type":"string"},"invoiceApproved":{"type":"boolean","description":"Mark the receivement as invoice-approved (fakturagodkjent). Allowed even when the receivement is RECEIVED; no other field may change in that state. false clears the approval."},"warehouseUid":{"$ref":"#/components/schemas/UID"}}},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceivementCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceivementCreateRequestSchema":{"title":"ReceivementCreateRequestSchema","type":"object","required":["purchaseOrderUid","status","warehouseUid"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"externalId":{"description":"External reference to receivement","type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReceivementItemCreateRequestSchema"}},"packingList":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"status":{"$ref":"#/components/schemas/ReceivementStatusENUM"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"supplierOrderReference":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ReceivementItemCreateRequestSchema":{"allOf":[{"$ref":"#/components/schemas/ReceivementItemUpdateRequestSchema"},{"properties":{"receivementItemUid":{"$ref":"#/components/schemas/UID"}}}],"type":"object","title":"ReceivementItemCreateRequestSchema"},"ReceivementItemUpdateRequestSchema":{"title":"ReceivementItemUpdateRequestSchema","description":"If you need to receive more than one quantity for items that required serialnumber you need to add one line for each serialnumber.\n\nExample: You are going to receive 3 stk of purchaseorderItemUid 33, then you need to add 3 ReceivementItemCreate lines with quantity 1 and the serialnumber for each item.","type":"object","required":["purchaseOrderItemUid","quantity"],"properties":{"externalId":{"description":"External reference to receivement line","type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"serialnumber":{"type":"string"},"unitCost":{"type":"integer","description":"The unit cost price in local currency"},"note":{"type":"string"},"reservations":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemUpdateReservationSchema"}}}},"OrderItemUpdateReservationSchema":{"title":"OrderItemUpdateReservationSchema","type":"object","required":["orderUid","orderItemUid"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"}}}}
```

## The ProductReportRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductReportRequestSchema":{"title":"ProductReportRequestSchema","type":"object","required":["fromDateTime","storeUids","toDateTime"],"properties":{"brandUids":{"description":"Array of brandUids","type":"array","items":{"$ref":"#/components/schemas/UID"}},"fromDateTime":{"format":"date-time","minLength":10,"type":"string"},"productGroupUids":{"description":"Array of productGroup ids","type":"array","items":{"$ref":"#/components/schemas/UID"}},"storeUids":{"description":"Array of storeUids","type":"array","items":{"$ref":"#/components/schemas/UID"}},"toDateTime":{"format":"date-time","minLength":10,"type":"string"},"groupByUserCode":{"type":"boolean","description":"if true, the excel report returns a response with order items grouped by userCode"},"reportBasis":{"$ref":"#/components/schemas/TurnoverReportBasisENUM"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"includeDeliveryCostAdjustments":{"type":"boolean","description":"When true, the spreadsheet includes extra cost-only rows for items delivered on a later date than the sale, where the delivery cost differs from the sale cost price. Used to verify R9 report cost figures.\n"},"includeProductGroupLevels":{"type":"boolean","description":"When true, the spreadsheet appends one column pair per level in the product group hierarchy at the end of each row, one column for the uid and one for the name. The number of column pairs follows the deepest product group path in the report.\n"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TurnoverReportBasisENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| settled | Report on settled orders using settled_at. Includes only orders with status COMPLETE and settleState COMPLETE. |\n| ordered | Report on orders using order_date. Includes orders with status COMPLETE or CONFIRMED. |","enum":["settled","ordered"],"default":"settled","title":"TurnoverReportBasisENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The EmailNotificationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"EmailNotificationRequestSchema":{"title":"EmailNotificationRequestSchema","type":"object","required":["recepients"],"properties":{"recepients":{"type":"array","items":{"$ref":"#/components/schemas/EmailTYPE"}},"subject":{"type":"string"},"body":{"type":"string"},"includePDF":{"type":"boolean","default":true},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Base64EncodedFileContentSchema"}}}},"EmailTYPE":{"title":"Email","type":"string"},"Base64EncodedFileContentSchema":{"title":"Base64EncodedFileContentSchema","type":"object","properties":{"content":{"type":"string","description":" base64 encoded"},"contentType":{"description":"mime type","type":"string"},"filename":{"type":"string"}},"required":["content","contentType","filename"]}}}}
```

## The PurchaseOrderEmailNotificationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderEmailNotificationRequestSchema":{"title":"PurchaseOrderEmailNotificationRequestSchema","type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/EmailTYPE"},"recepients":{"type":"array","items":{"$ref":"#/components/schemas/EmailTYPE"}},"subject":{"type":"string"},"body":{"type":"string"},"includePDF":{"type":"boolean","default":true},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Base64EncodedFileContentSchema"}}}},"EmailTYPE":{"title":"Email","type":"string"},"Base64EncodedFileContentSchema":{"title":"Base64EncodedFileContentSchema","type":"object","properties":{"content":{"type":"string","description":" base64 encoded"},"contentType":{"description":"mime type","type":"string"},"filename":{"type":"string"}},"required":["content","contentType","filename"]}}}}
```

## The PurchaseOrderSendEmailRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderSendEmailRequestSchema":{"title":"PurchaseOrderSendEmailRequestSchema","type":"object","required":["recipients"],"properties":{"recipients":{"type":"array","items":{"$ref":"#/components/schemas/EmailTYPE"}},"subject":{"type":"string"},"body":{"type":"string"},"includePDF":{"type":"boolean","default":true},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Base64EncodedFileContentSchema"}}}},"EmailTYPE":{"title":"Email","type":"string"},"Base64EncodedFileContentSchema":{"title":"Base64EncodedFileContentSchema","type":"object","properties":{"content":{"type":"string","description":" base64 encoded"},"contentType":{"description":"mime type","type":"string"},"filename":{"type":"string"}},"required":["content","contentType","filename"]}}}}
```

## The MoveStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MoveStockRequestSchema":{"title":"MoveStockRequestSchema","type":"object","properties":{"quantity":{"type":"integer"},"serialnumbers":{"items":{"type":"string"},"type":"array"},"warehouseUid":{"$ref":"#/components/schemas/UID"}},"required":["quantity","warehouseUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CategoryUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CategoryUpdateRequestSchema":{"title":"CategoryUpdateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}},"required":["name"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CategoryCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CategoryCreateRequestSchema":{"title":"CategoryCreateRequestSchema","type":"object","properties":{"externalId":{"type":"string"},"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/OptionalUID"},"categoryUid":{"$ref":"#/components/schemas/UID"}},"required":["name"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CashReportWithdrawalRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashReportWithdrawalRequestSchema":{"title":"CashReportWithdrawalRequestSchema","type":"object","properties":{"amount":{"type":"integer"},"comment":{"type":"string"}},"required":["amount","comment"]}}}}
```

## The CashReportUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashReportUpdateRequestSchema":{"title":"CashReportUpdateRequestSchema","type":"object","properties":{"comment":{"type":"string"},"bankDepositAmount":{"type":"integer"},"bankDepositReference":{"type":"string"},"cashAmount":{"type":"integer","description":"When till is opened this is the change amount, when closed this is the counted amount."},"status":{"$ref":"#/components/schemas/TillStatusENUM"},"cashDetails":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}}},"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The BatchAdjustStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchAdjustStockRequestSchema":{"title":"BatchAdjustStockRequestSchema","type":"object","properties":{"upsert":{"items":{"$ref":"#/components/schemas/BatchAdjustStockSchema"},"maxItems":1000,"type":"array"}},"required":["upsert"]},"BatchAdjustStockSchema":{"title":"BatchAdjustStockSchema","type":"object","required":["productUid","reason"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"averageCost":{"description":"set new average cost","type":"integer"},"quantity":{"description":"set new stock quantity","type":"integer","minimum":0},"changeQuantity":{"type":"integer","description":"make stock adjustment"},"reason":{"type":"string"},"serialnumbers":{"description":"the number of serialnumbers must match the quantity/changeQuantity","type":"array","items":{"type":"string"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BatchAdjustStockResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BatchAdjustStockResponseSchema":{"title":"BatchAdjustStockResponseSchema","type":"object","properties":{"upsert":{"items":{"$ref":"#/components/schemas/BatchResponseItemProductSchema"},"maxItems":1000,"type":"array"}},"required":["upsert"]},"BatchResponseItemProductSchema":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/BatchErrorProductSchema"},"type":"array"},"success":{"type":"integer"}},"required":["success","errors"],"title":"BatchResponseItemProductSchema","type":"object"},"BatchErrorProductSchema":{"properties":{"errorCode":{"type":"string"},"message":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["productUid","errorCode","message"],"title":"BatchErrorProductSchema","type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AdjustStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AdjustStockRequestSchema":{"title":"AdjustStockRequestSchema","type":"object","required":["reason"],"properties":{"averageCost":{"description":"set new average cost","type":"integer"},"quantity":{"description":"set new stock quantity","type":"integer"},"changeQuantity":{"description":"make stock adjustment","type":"integer"},"reason":{"type":"string"},"serialnumbers":{"description":"Array of strings to identify serial numbers for the quantity in stock. Length of array must match the quantity value.\nThis field is required when product has serialNoRequired = \"ON_RECEIVE\"\n","type":"array","items":{"type":"string"}}}}}}}
```

## The AccountingRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingRequestSchema":{"title":"AccountingRequestSchema","type":"object","properties":{"fromDate":{"format":"date","minLength":10,"type":"string"},"toDate":{"format":"date","minLength":10,"type":"string"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"},"storeUids":{"type":"array","description":"List of storeUids to include in report.","items":{"$ref":"#/components/schemas/UID"}}},"required":["fromDate","toDate","organizationUid"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountLoginRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountLoginRequestSchema":{"title":"AccountLoginRequestSchema","type":"object","properties":{"password":{"type":"string"},"userCode":{"type":"string"}},"required":["userCode","password"]}}}}
```

## The DeviceAuthorizeRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceAuthorizeRequestSchema":{"title":"DeviceAuthorizeRequestSchema","type":"object","properties":{"deviceCode":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"tenantUid":{"$ref":"#/components/schemas/UID"},"tillUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["deviceCode","storeUid","tenantUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeprecatedDeviceTokenRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedDeviceTokenRequestSchema":{"title":"DeprecatedDeviceTokenRequestSchema","type":"object","properties":{"clientId":{"type":"string"},"deviceIdentifier":{"type":"string"}},"required":["clientId","deviceIdentifier"]}}}}
```

## The OrderDeliveryCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryCreateRequestSchema":{"title":"OrderDeliveryCreateRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/DeprecatedUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeprecatedDeliveryAddressRequestSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date","nullable":true},"externalDeliveryReference":{"type":"string"},"note":{"type":"string"},"trackingNumber":{"deprecated":true,"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/DeprecatedUID"},"deliveryUid":{"$ref":"#/components/schemas/UID"},"autoPrint":{"type":"boolean","description":"Used for Profrakt consignment auto print"},"timeslot":{"$ref":"#/components/schemas/DeprecatedOrderDeliveryTimeslotRequestSchema"},"shipping":{"$ref":"#/components/schemas/OrderDeliveryShippingRequestSchema"}}},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"DeprecatedDeliveryAddressRequestSchema":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeprecatedOrderDeliveryTimeslotRequestSchema":{"deprecated":true,"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}},"OrderDeliveryShippingRequestSchema":{"title":"OrderDeliveryShippingRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointRequestSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotRequestSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"freightPrice":{"type":"integer"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The DeviceCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceCreateRequestSchema":{"title":"DeviceCreateRequestSchema","type":"object","required":["name","appCode"],"properties":{"deviceUid":{"$ref":"#/components/schemas/OptionalUID"},"name":{"type":"string"},"appCode":{"$ref":"#/components/schemas/DeviceAppCodeENUM"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}},"printerUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeviceUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceUpdateRequestSchema":{"title":"DeviceUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"appCode":{"$ref":"#/components/schemas/DeviceAppCodeENUM"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"status":{"$ref":"#/components/schemas/DeviceStatusENUM"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}},"printerUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeviceStatusENUM":{"enum":["ACTIVE","BLOCKED","READY_TO_LINK"],"title":"DeviceAuthorizationStatusENUM","type":"string","description":"| Enum | Description|\n|-----|-----|\n|READY_TO_LINK | The device is ready to a physical device through the link endpoint |\n|ACTIVE| The device is linked and active |\n|BLOCKED| The device is linked, but blocked for usage |"},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliverySearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliverySearchRequestSchema":{"title":"DeliverySearchRequestSchema","type":"object","required":["storeUids"],"properties":{"fromDateTime":{"type":"string","format":"date-time","nullable":true},"toDateTime":{"type":"string","format":"date-time","nullable":true},"deliveryStates":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryStateENUM"}},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"query":{"type":"string"},"deliveryProviders":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryProviderSearchSchema"}},"orderSettleStates":{"type":"array","items":{"$ref":"#/components/schemas/OrderSettleStateENUM"}},"orderOrderStates":{"type":"array","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}}}},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeliveryProviderSearchSchema":{"title":"DeliveryProviderSearchSchema","type":"object","required":["uid"],"properties":{"uid":{"$ref":"#/components/schemas/UID"},"deliveryProviderMethodUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"}}}}
```

## The OrderImportItemCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderImportItemCreateSchema":{"title":"OrderImportItemCreateSchema","allOf":[{"$ref":"#/components/schemas/OrderItemCreateSchema"},{"type":"object","required":["itemPrice","quantityOrdered"]}]},"OrderItemCreateSchema":{"title":"OrderItemCreateSchema","type":"object","required":["productUid"],"properties":{"discountReasonCode":{"type":"string"},"externalId":{"description":"External reference to order line","type":"string"},"itemDiscountAmount":{"type":"integer"},"itemDiscountPercentage":{"description":"Used to calculate itemDiscountAmount.","type":"integer"},"itemPrice":{"type":"integer"},"note":{"type":"string"},"orderItemLink":{"$ref":"#/components/schemas/OrderItemLinkSchema"},"productUid":{"$ref":"#/components/schemas/UID"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}},"quantityOrdered":{"type":"integer"},"reserveStock":{"default":false,"description":"Set this to true to only resevere the stock from the warehouse when the order is settled.","type":"boolean","deprecated":true},"deliveryUid":{"$ref":"#/components/schemas/UID"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"description":"Product SKU","type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"orderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"sortOrder":{"type":"integer"},"itemCostPrice":{"type":"integer","description":"When a product has orderSpecificCost=true: Can set costPrice on the orderItem\nIf itemCostPrice is set and orderSpecificCost=false for the product, an error is returned"},"productName":{"type":"string","description":"When a product has orderSpecificName=true: Can set productName on the orderItem\nIf itemCostPrice is set and orderSpecificName=false for the product, an error is returned"}}},"OrderItemLinkSchema":{"description":"OrderItemLinkSchema","title":"OrderItemLinkSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/OrderLinkTypeRequestENUM"},"orderItemUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","orderItemUid"]},"OrderLinkTypeRequestENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link   |\n| INSURANCE | Reference to the orderline with the product to insure |\n| COMPENSATION | Reference to the orderline with the product to compensate |\n| SERVICE | Reference to orderline with service product |\n| FREIGHT_SERVICE | Reference to orderline with freight service product |","enum":["CREDIT","INSURANCE","COMPENSATION","SERVICE","FREIGHT_SERVICE"],"title":"OrderLinkTypeRequestENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The OrderImportOrderDeliveryCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderImportOrderDeliveryCreateRequestSchema":{"title":"OrderImportOrderDeliveryCreateRequestSchema","type":"object","properties":{"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"deliveryState":{"$ref":"#/components/schemas/DeliveryStateENUM"},"deliveryDate":{"type":"string","format":"date-time"},"externalDeliveryReference":{"type":"string"},"trackingNumber":{"deprecated":true,"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/DeprecatedUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/DeprecatedUID"},"signature":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"deliveryUid":{"$ref":"#/components/schemas/UID"},"shipping":{"$ref":"#/components/schemas/OrderDeliveryShippingRequestSchema"}},"required":["warehouseUid","deliveryUid"]},"DeliveryAddressRequestSchema":{"allOf":[{"$ref":"#/components/schemas/BaseAddressSchema"}],"title":"DeliveryAddressRequestSchema","type":"object"},"BaseAddressSchema":{"title":"BaseAddressSchema","type":"object","properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"postalCode":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"DeliveryStateENUM":{"enum":["NOT_DELIVERED","IN_TRANSIT","DELIVERED","NEW","STARTED"],"title":"DeliveryStateENUM","type":"string"},"DeprecatedUID":{"title":"DeprecatedUID","type":"string","pattern":"^[A-Za-z0-9-_]+","deprecated":true},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderDeliveryShippingRequestSchema":{"title":"OrderDeliveryShippingRequestSchema","type":"object","properties":{"deliveryCustomerAddressUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryAddress":{"$ref":"#/components/schemas/DeliveryAddressRequestSchema"},"pickupPoint":{"$ref":"#/components/schemas/OrderDeliveryPickupPointRequestSchema"},"trackingNumber":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/OptionalUID"},"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/OptionalUID"},"timeslot":{"$ref":"#/components/schemas/OrderDeliveryTimeslotRequestSchema"},"deliveryProviderProcessIndicator":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"freightPrice":{"type":"integer"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}},"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The FlowboxTokenCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"FlowboxTokenCreateSchema":{"title":"FlowboxTokenCreateSchema","type":"object","properties":{"deviceIdentifier":{"type":"string"}},"required":["deviceIdentifier"]}}}}
```

## The GeneralNotificationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralNotificationRequestSchema":{"title":"GeneralNotificationRequestSchema","type":"object","required":["messageType","recipient"],"properties":{"messageType":{"$ref":"#/components/schemas/MessageTypeENUM"},"recipient":{"type":"string","description":"The recipient must be a valid phone number \nif the messageType is `SMS`, \nand a valid email if the messageType is `EMAIL`"},"subject":{"type":"string","description":"This is only valid for messageType `EMAIL`"},"message":{"type":"string","description":"The message that should be sent to the recipient"},"templateType":{"type":"string","description":"This must be a valid template type from the `/metadata/templates` endpoint"},"templateData":{"type":"array","description":"Optional overrides for template variables. Use the `name` values from `/metadata/templates`\n (e.g. `OrderNumber`). \n Server-filled values from `orderUid`, `customerUid`, etc. apply when a variable is still empty after merging.","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"notificationUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The NotificationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NotificationResponseSchema":{"title":"NotificationResponseSchema","type":"object","required":["messageType","recipient","message","subject","state","errorText","notificationUid","customerUid","orderUid","serviceOrderUid","serviceEventUid","tenantUserUid","supplierUid","receivementUid","purchaseOrderUid","createdBy","createdAt","lastModifiedBy","lastModifiedAt","source"],"properties":{"messageType":{"$ref":"#/components/schemas/MessageTypeENUM"},"recipient":{"type":"string"},"message":{"type":"string"},"subject":{"type":"string"},"state":{"$ref":"#/components/schemas/NotificationStateENUM"},"errorText":{"type":"string"},"notificationUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"orderUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceEventUid":{"$ref":"#/components/schemas/OptionalUID"},"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"supplierUid":{"$ref":"#/components/schemas/OptionalUID"},"receivementUid":{"$ref":"#/components/schemas/OptionalUID"},"purchaseOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"source":{"type":"string","description":"Source of the notification"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The NotificationSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NotificationSearchSchema":{"title":"NotificationSearchSchema","type":"object","properties":{"messageType":{"$ref":"#/components/schemas/MessageTypeENUM"},"recipient":{"type":"string"},"message":{"type":"string"},"state":{"$ref":"#/components/schemas/NotificationStateENUM"},"errorText":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"supplierUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"query":{"type":"string","description":"Generic search. Searches both in messages an in recipient"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The NotificationStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]}}}}
```

## The LinkmobilityCallbackRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LinkmobilityCallbackRequestSchema":{"title":"LinkmobilityCallbackRequestSchema","type":"object","properties":{"refId":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"operator":{"type":"string","nullable":true},"sentTimestamp":{"type":"string","format":"date-time","nullable":true},"timestamp":{"type":"string","format":"date-time","nullable":true},"resultCode":{"type":"integer","nullable":true},"operatorResultCode":{"type":"string","nullable":true},"segments":{"type":"integer","nullable":true},"gateCustomParameters":{"type":"object","nullable":true},"customParameters":{"type":"object","nullable":true}}}}}}
```

## The AvailableExtensionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailableExtensionSchema":{"title":"AvailableExtensionSchema","type":"object","required":["extensionCode","name"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"}}},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"}}}}
```

## The TenantExtensionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantExtensionSchema":{"title":"TenantExtensionSchema","type":"object","required":["extensionCode","name","active","tenantExtensionUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"name":{"type":"string"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"}}},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT","INTER_STORE_TRADE"],"title":"ExtensionCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ImportFileDataResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileDataResponseSchema":{"title":"ImportFileDataResponseSchema","type":"object","properties":{"templateUid":{"$ref":"#/components/schemas/UID"},"base64Data":{"type":"string"},"contentType":{"type":"string"},"action":{"$ref":"#/components/schemas/ImportActionENUM"},"importFileUid":{"$ref":"#/components/schemas/OptionalUID"},"operation":{"$ref":"#/components/schemas/ImportOperationENUM"},"state":{"$ref":"#/components/schemas/ImportStateENUM"}},"required":["templateUid","base64Data","contentType","action","importFileUid","operation","state"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ImportActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| SIMULATE | Do a simulate on import. Return content without saving |\n| PROCESS | Process file with given template. Save file if no errors|\n","minLength":1,"title":"ImportActionENUM","type":"string","enum":["SIMULATE","PROCESS"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ImportOperationENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INSERT | Only insert non-existing records, existing records will be ignored|\n| UPDATE | Only update existing records, non-existing records will be ignored|\n| UPSERT | non-existing records will be inserted, existing records will be updated|\n","minLength":1,"title":"ImportOperationENUM","type":"string","enum":["INSERT","UPDATE","UPSERT"]},"ImportStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Import not started |\n| IMPORT_IN_PROGRESS | Import is running |\n| IMPORT_ABORT | Import is aborting| \n| IMPORT_ABORTED | Import has been aborted |\n| VALIDATE_IN_PROGRESS | Validate is running| \n| COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |\n| COMPLETE | Import complete |\n| VALIDATE_FAILED | Validate failed |\n| IMPORT_FAILED | Import failed |\n| IMPORT_ABORT | Import is aborting |\n| IMPORT_ABORTED | Import has been aborted  |\n| READY_TO_IMPORT | Validation OK, import is ready |\n","minLength":1,"title":"ImportStateENUM","type":"string","enum":["NOT_STARTED","COMPLETE","COMPLETE_NOTHING_TO_IMPORT","IMPORT_FAILED","IMPORT_ABORT","IMPORT_ABORTED","VALIDATE_FAILED","VALIDATE_ABORT","VALIDATE_ABORTED","IMPORT_IN_PROGRESS","VALIDATE_IN_PROGRESS","READY_TO_IMPORT"]}}}}
```

## The ImportFileJobRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileJobRequestSchema":{"title":"ImportFileJobRequestSchema","type":"object","properties":{"action":{"$ref":"#/components/schemas/ImportFileJobActionENUM"}}},"ImportFileJobActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXECUTE | Execute Import job |\n| ABORT | Abort running job |\n","title":"ImportFileJobActionENUM","type":"string","enum":["EXECUTE","ABORT"]}}}}
```

## The ImportFileJobActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFileJobActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| EXECUTE | Execute Import job |\n| ABORT | Abort running job |\n","title":"ImportFileJobActionENUM","type":"string","enum":["EXECUTE","ABORT"]}}}}
```

## The ProductRequirementRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductRequirementRequestSchema":{"title":"ProductRequirementRequestSchema","type":"object","description":"ProductRequirementRequestSchema","properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"Valid values are `phone`, `email`, `not_empty` or a regular expression.\nTo indicate that no order item reference is required, send a blank value."}}}}}}
```

## The ProductRequirementResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}}}}}
```

## The PaymentMethodRequirementResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodRequirementResponseSchema":{"title":"PaymentMethodRequirementResponseSchema","type":"object","description":"PaymentMethodRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerType","requireCustomerContact","requireExclusiveUse","requireRefundToSameMethod"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerType":{"$ref":"#/components/schemas/PaymentMethodCustomerTypeENUM"},"requireCustomerContact":{"type":"boolean"},"requireExclusiveUse":{"type":"boolean"},"requireRefundToSameMethod":{"type":"boolean"}}},"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]}}}}
```

## The PaymentMethodPresentationSeverityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodPresentationSeverityENUM":{"title":"PaymentMethodPresentationSeverityENUM","type":"string","enum":["NONE","INFO","BLOCKED"],"description":"How the client should style `presentation.message`.\n\n| Enum | Description |\n|-----|-----|\n| NONE | Nothing to say. `message` is empty |\n| INFO | Informational note. The method is still selectable |\n| BLOCKED | The method cannot be used. `selectable` is false |"}}}}
```

## The PaymentMethodPresentationReasonENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodPresentationReasonENUM":{"title":"PaymentMethodPresentationReasonENUM","type":"string","enum":["ELIGIBLE","REFUND_NO_CARD_NEEDED","REFUND_CARD_REQUIRED","REFUND_NO_ORIGINAL_PAYMENT","REFUND_MULTIPLE_CAPTURES","REFUND_REQUIRE_SAME_METHOD","REFUND_METHOD_NOT_AVAILABLE","REFUND_NOT_SUPPORTED"],"description":"Why the payment method is presented the way it is. Extensible — new reasons may be added, so\nclients must treat an unknown value as informational when `selectable` is true and as blocking\notherwise, and fall back to showing `message`.\n\n| Enum | Severity | Description |\n|-----|-----|-----|\n| ELIGIBLE | NONE | Nothing to say |\n| REFUND_NO_CARD_NEEDED | INFO | The refund goes back to the original payment on its own. The customer does not have to do anything |\n| REFUND_CARD_REQUIRED | INFO | The refund cannot be tied to the original payment, so the customer must present the card on the terminal |\n| REFUND_NO_ORIGINAL_PAYMENT | BLOCKED | The original sale was not paid with this method |\n| REFUND_MULTIPLE_CAPTURES | BLOCKED | The sale has several payments with this method, so no single original transaction can be targeted |\n| REFUND_REQUIRE_SAME_METHOD | BLOCKED | At least one line must be refunded with a different, specific method |\n| REFUND_METHOD_NOT_AVAILABLE | BLOCKED | The required method is not set up in this store |\n| REFUND_NOT_SUPPORTED | BLOCKED | The method cannot be used for a refund at all, whatever the sale was paid with |\n\nThe two names say what the operator has to do, not which provider mechanism is used. A refund\nthat goes back on its own is what the card networks call a referenced refund; one that needs the\ncard read on the terminal is what they call unreferenced — the opposite sense of the word from\nthe one a reader expects, which is why the names avoid it.\n\n`REFUND_CARD_REQUIRED` is also the answer when the original receipt was settled with more than\none payment method, and there it is deliberately pessimistic: whether the refund can go back on\nits own depends on the amount, and the amount is not known when the list is built. A refund\nwithin the card's share of that receipt does go straight back to it, so the customer is asked for\nthe card without strictly needing to. Nothing is blocked either way — `selectable` stays true and\nthe refund succeeds."}}}}
```

## The PaymentMethodPresentationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodPresentationResponseSchema":{"title":"PaymentMethodPresentationResponseSchema","type":"object","description":"Everything the client needs to render the payment method row and enable or disable it. Always\npopulated, on sales as well as refunds.\n\n`selectable: true` means core knows of nothing that blocks this method — not that every\nprecondition is satisfied. Order-derived blocks live here; input-derived preconditions\n(missing customer, e-mail, mobile) live in `requirements` and remain the client's to enforce.\n\n`visibility` and `minimumPaymentAmount` are the **resolved** values: visibility after\nHIDDEN_WHEN_NOT_REQUIRED has been flipped to LISTED for a required method, and the minimum\nafter FORCE_REMAINING has locked it to the outstanding amount. The deprecated flat fields on\nthe parent schema keep their stored, unresolved values.","required":["selectable","severity","reasonCode","message","visibility","position","amountInput","minimumPaymentAmount","maximumPaymentAmount"],"properties":{"selectable":{"type":"boolean","description":"When false the client must present the method as unavailable and show `message`."},"severity":{"$ref":"#/components/schemas/PaymentMethodPresentationSeverityENUM"},"reasonCode":{"$ref":"#/components/schemas/PaymentMethodPresentationReasonENUM"},"message":{"type":"string","description":"Translated explanation for the operator. Empty when there is nothing to say."},"visibility":{"$ref":"#/components/schemas/PaymentMethodVisibilityENUM"},"position":{"type":"integer","description":"Sort order for the payment method row."},"amountInput":{"$ref":"#/components/schemas/TenantPaymentMethodAmountInputENUM"},"minimumPaymentAmount":{"type":"integer","description":"Lowest amount this method may settle, in minor units."},"maximumPaymentAmount":{"type":"integer","nullable":true,"description":"Highest amount this method may settle, in minor units, always positive. `null` means there is\nno upper bound — the method allows cashback, or the payment service provider decides\n(unreferenced refund). `0` means nothing can be settled, for example on an order that is\nalready paid in full. `null` and `0` are different answers and must not be collapsed."}}},"PaymentMethodPresentationSeverityENUM":{"title":"PaymentMethodPresentationSeverityENUM","type":"string","enum":["NONE","INFO","BLOCKED"],"description":"How the client should style `presentation.message`.\n\n| Enum | Description |\n|-----|-----|\n| NONE | Nothing to say. `message` is empty |\n| INFO | Informational note. The method is still selectable |\n| BLOCKED | The method cannot be used. `selectable` is false |"},"PaymentMethodPresentationReasonENUM":{"title":"PaymentMethodPresentationReasonENUM","type":"string","enum":["ELIGIBLE","REFUND_NO_CARD_NEEDED","REFUND_CARD_REQUIRED","REFUND_NO_ORIGINAL_PAYMENT","REFUND_MULTIPLE_CAPTURES","REFUND_REQUIRE_SAME_METHOD","REFUND_METHOD_NOT_AVAILABLE","REFUND_NOT_SUPPORTED"],"description":"Why the payment method is presented the way it is. Extensible — new reasons may be added, so\nclients must treat an unknown value as informational when `selectable` is true and as blocking\notherwise, and fall back to showing `message`.\n\n| Enum | Severity | Description |\n|-----|-----|-----|\n| ELIGIBLE | NONE | Nothing to say |\n| REFUND_NO_CARD_NEEDED | INFO | The refund goes back to the original payment on its own. The customer does not have to do anything |\n| REFUND_CARD_REQUIRED | INFO | The refund cannot be tied to the original payment, so the customer must present the card on the terminal |\n| REFUND_NO_ORIGINAL_PAYMENT | BLOCKED | The original sale was not paid with this method |\n| REFUND_MULTIPLE_CAPTURES | BLOCKED | The sale has several payments with this method, so no single original transaction can be targeted |\n| REFUND_REQUIRE_SAME_METHOD | BLOCKED | At least one line must be refunded with a different, specific method |\n| REFUND_METHOD_NOT_AVAILABLE | BLOCKED | The required method is not set up in this store |\n| REFUND_NOT_SUPPORTED | BLOCKED | The method cannot be used for a refund at all, whatever the sale was paid with |\n\nThe two names say what the operator has to do, not which provider mechanism is used. A refund\nthat goes back on its own is what the card networks call a referenced refund; one that needs the\ncard read on the terminal is what they call unreferenced — the opposite sense of the word from\nthe one a reader expects, which is why the names avoid it.\n\n`REFUND_CARD_REQUIRED` is also the answer when the original receipt was settled with more than\none payment method, and there it is deliberately pessimistic: whether the refund can go back on\nits own depends on the amount, and the amount is not known when the list is built. A refund\nwithin the card's share of that receipt does go straight back to it, so the customer is asked for\nthe card without strictly needing to. Nothing is blocked either way — `selectable` stays true and\nthe refund succeeds."},"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]},"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The PaymentTerminal object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentTerminal":{"title":"PaymentTerminal","type":"object","required":["id"],"properties":{"id":{"type":"string"}}}}}}
```

## The StoreSearchStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreSearchStockRequestSchema":{"title":"StoreSearchStockRequestSchema","type":"object","properties":{"modifiedAfter":{"type":"string","format":"date-time"},"warehouseUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}},"required":["modifiedAfter"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseSearchStockRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseSearchStockRequestSchema":{"title":"WarehouseSearchStockRequestSchema","type":"object","properties":{"modifiedAfter":{"type":"string","format":"date-time"},"warehouseUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}},"required":["modifiedAfter","warehouseUids"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerContactCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactCreateRequestSchema":{"title":"CustomerContactCreateSchema","type":"object","description":"CustomerContactCreateSchema","required":["firstname","lastname"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"customerContactUid":{"$ref":"#/components/schemas/UID"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactLinkRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactLinkRequestSchema":{"type":"object","required":["customerUid"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}},"title":"CustomerContactLinkRequestSchema"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactsCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactsCreateRequestSchema":{"title":"CustomerContactsCreateRequestSchema","type":"object","description":"CustomerContactsCreateRequestSchema","required":["firstname","lastname"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"customerContactUid":{"$ref":"#/components/schemas/UID"},"customers":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactLinkRequestSchema"}}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactLinkRequestSchema":{"type":"object","required":["customerUid"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}},"title":"CustomerContactLinkRequestSchema"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactUpdateRequestSchema":{"title":"CustomerContactUpdateSchema","type":"object","properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"}},"description":"CustomerContactUpdateSchema"},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The OrderCustomerContactResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCustomerContactResponseSchema":{"type":"object","title":"OrderCustomerContactResponseSchema","required":["customerContactUid","firstname","lastname","email","mobile","displayName"],"properties":{"customerContactUid":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"displayName":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The CustomerContactResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactResponseSchema":{"title":"CustomerContactResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","extensions","displayName","role"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"EmailTYPE":{"title":"Email","type":"string"},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactsWithCustomersResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactsWithCustomersResponseSchema":{"title":"CustomerContactsWithCustomersResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","displayName","customers"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"displayName":{"type":"string"},"customers":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactCustomersSchema"}}}},"EmailTYPE":{"title":"Email","type":"string"},"CustomerContactCustomersSchema":{"title":"CustomerContactCustomersSchema","type":"object","required":["customerUid","displayName","role","extensions"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"}}}}
```

## The ProductMediaSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductMediaSchema":{"title":"ProductMediaSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"},"position":{"type":"integer"},"width":{"type":"integer"},"height":{"type":"integer"},"isCoverImage":{"type":"boolean"},"source":{"$ref":"#/components/schemas/ProductMediaSourceENUM"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl","position","width","height","isCoverImage","source","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductMediaSourceENUM":{"title":"ProductMediaSourceENUM","enum":["FLOW","URL"],"description":"","type":"string"}}}}
```

## The ProductMediaCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductMediaCreateSchema":{"title":"ProductMediaCreateSchema","type":"object","properties":{"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"},"position":{"type":"integer"},"setAsCoverImage":{"type":"boolean"},"productMediaUid":{"$ref":"#/components/schemas/OptionalUID"}},"required":["mainUrl"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ProductMediaUploadSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductMediaUploadSchema":{"title":"ProductMediaUploadSchema","type":"object","properties":{"media":{"type":"string","description":"The file content as base64 or source URL."},"filename":{"type":"string"},"position":{"type":"integer"},"productMediaUid":{"$ref":"#/components/schemas/UID"},"setAsCoverImage":{"type":"boolean"}},"required":["media","filename"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProductMediaUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductMediaUpdateSchema":{"title":"ProductMediaUpdateSchema","type":"object","properties":{"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"},"position":{"type":"integer"},"setAsCoverImage":{"type":"boolean"}}}}}}
```

## The ReportStateENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportStateENUM":{"enum":["ABORTED","NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"ReportStateENUM","type":"string"}}}}
```

## The ReportActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ABORT | Abort running job |\n","title":"ReportActionENUM","type":"string","enum":["ABORT"]}}}}
```

## The ReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportResponseSchema":{"title":"ReportResponseSchema","type":"object","required":["reportUid","request","state","type","createdAt","createdBy","lastModifiedAt","lastModifiedBy","sendNotificationTo","progress","filename","filesize"],"properties":{"reportUid":{"$ref":"#/components/schemas/UID"},"request":{"anyOf":[{"$ref":"#/components/schemas/SAFTReportCreateRequestSchema"},{"$ref":"#/components/schemas/WarehouseStockDetailsReportCreateRequestSchema"},{"$ref":"#/components/schemas/GeneralReportCreateRequestSchema"},{"$ref":"#/components/schemas/ArtSupplierReportRequestSchema"}],"description":"The request response depends on the what type of report it is"},"state":{"$ref":"#/components/schemas/ReportStateENUM"},"type":{"$ref":"#/components/schemas/ReportTypeENUM"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"sendNotificationTo":{"type":"string"},"notificationSentAt":{"type":"string","format":"date-time"},"progress":{"type":"string"},"filename":{"type":"string"},"filesize":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SAFTReportCreateRequestSchema":{"title":"SAFTReportCreateRequestSchema","type":"object","properties":{"fromDate":{"format":"date","type":"string"},"toDate":{"format":"date","type":"string"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}},"required":["fromDate","toDate"]},"WarehouseStockDetailsReportCreateRequestSchema":{"title":"WarehouseStockDetailsReportCreateRequestSchema","type":"object","properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}}},"GeneralReportCreateRequestSchema":{"title":"GeneralReportCreateRequestSchema","type":"object","properties":{"fromDate":{"format":"date","type":"string"},"toDate":{"format":"date","type":"string"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"reportUid":{"$ref":"#/components/schemas/UID"}},"required":["fromDate","toDate"]},"ArtSupplierReportRequestSchema":{"title":"ArtSupplierReportRequestSchema","type":"object","required":["fromDate","toDate","supplierUids","sendEmailToSupplier","productGroupUids"],"properties":{"fromDate":{"type":"string","format":"date"},"toDate":{"type":"string","format":"date"},"supplierUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"sendEmailToSupplier":{"type":"boolean"},"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"showDiff":{"type":"boolean"}}},"ReportStateENUM":{"enum":["ABORTED","NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"ReportStateENUM","type":"string"},"ReportTypeENUM":{"description":"Available reports are:\n\n|ENUM | Description |\n| --- | --- |\n| SAFT | SAFT reports|\n| SalesPrStore | Sales per store|\n| StoreWarehouseDetails | Monthly warehouse details|\n| WarehouseStockDetails | Details list of all stock on the current warehouse|\n| ART_FEE | Art fee report|\n| ART_PROVISION | Artists' provision report|\n| OPEN_ITEMS | List of outstanding receivables |  \n| SOLD_NOT_DELIVERED | Products sold not delivered |\n","enum":["SAFT","StoreWarehouseDetails","SalesPrStore","WarehouseStockDetails","ART_FEE","ART_PROVISION","OPEN_ITEMS","SOLD_NOT_DELIVERED"],"title":"ReportTypeENUM","type":"string"}}}}
```

## The CoverImageSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryProviderUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderUpdateRequestSchema":{"title":"DeliveryProviderUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"externalId":{"type":"string"}},"description":""}}}}
```

## The DeliveryProviderCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderCreateRequestSchema":{"title":"DeliveryProviderCreateRequestSchema","type":"object","required":["name"],"properties":{"name":{"type":"string"},"externalId":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryProviderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderResponseSchema":{"title":"DeliveryProviderResponseSchema","type":"object","required":["name","externalId","deliveryProviderUid"],"properties":{"name":{"type":"string"},"externalId":{"type":"string"},"deliveryProviderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryProviderMethodUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodUpdateRequestSchema":{"title":"DeliveryProviderMethodUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"externalId":{"type":"string"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"dynamicOptions":{"type":"boolean"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DeliveryProviderMethodCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodCreateRequestSchema":{"title":"DeliveryProviderMethodCreateRequestSchema","type":"object","required":["name"],"properties":{"name":{"type":"string"},"externalId":{"type":"string"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/UID"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"dynamicOptions":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DeliveryProviderMethodResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodResponseSchema":{"title":"DeliveryProviderMethodResponseSchema","type":"object","required":["name","externalId","deliveryProviderMethodUid","freightProductUid","externalSystemMappings","dynamicOptions"],"properties":{"name":{"type":"string"},"externalId":{"type":"string"},"deliveryProviderMethodUid":{"$ref":"#/components/schemas/UID"},"freightProductUid":{"$ref":"#/components/schemas/OptionalUID"},"externalSystemMappings":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryProviderMethodMappingResponseSchema"}},"dynamicOptions":{"type":"boolean","description":"This delivery method has dynamic options"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeliveryProviderMethodMappingResponseSchema":{"title":"DeliveryProviderMethodMappingResponseSchema","allOf":[{"$ref":"#/components/schemas/GeneralMappingResponseSchema"},{"type":"object","required":["deliveryProviderMethodMappingUid"],"properties":{"deliveryProviderMethodMappingUid":{"$ref":"#/components/schemas/UID"}}}]},"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]}}}}
```

## The ServiceStatusWithPosition object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceStatusWithPosition":{"title":"ServiceStatusWithPosition","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"serviceStatusName":{"type":"string"},"position":{"type":"integer"},"state":{"$ref":"#/components/schemas/ServiceStateENUM"}},"required":["serviceStatusUid","serviceStatusName","position","state"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The ServiceTypeStatusSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceTypeStatusSchema":{"title":"ServiceTypeStatusSchema","type":"object","properties":{"serviceStatusUid":{"$ref":"#/components/schemas/UID"},"position":{"type":"integer"}},"required":["serviceStatusUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ExternalWorkshopResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalWorkshopResponseSchema":{"title":"ExternalWorkshopResponseSchema","type":"object","properties":{"externalWorkshopUid":{"$ref":"#/components/schemas/UID"},"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"contactName":{"type":"string"},"note":{"type":"string"},"active":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["externalWorkshopUid","companyName","address","postalCode","city","countryCode","email","phone","contactName","note","active","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The ExternalWorkshopUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalWorkshopUpdateSchema":{"title":"ExternalWorkshopUpdateSchema","type":"object","properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"contactName":{"type":"string"},"note":{"type":"string"},"active":{"type":"boolean","default":true}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The ExternalWorkshopCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalWorkshopCreateSchema":{"title":"ExternalWorkshopCreateSchema","type":"object","properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"contactName":{"type":"string"},"note":{"type":"string"},"active":{"type":"boolean","default":true},"externalWorkshopUid":{"$ref":"#/components/schemas/UID"}},"required":["companyName"]},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerExtensionRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExtensionRequestSchema":{"title":"CustomerExtensionRequestSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerExtensionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerExtensionResponseSchema":{"title":"CustomerExtensionResponseSchema","description":"CustomerExtensionResponseSchema","type":"object","required":["extensionCode","organizationUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The CustomerContactExtensionRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactExtensionRequestSchema":{"title":"CustomerContactExtensionRequestSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerContactExtensionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceShipmentResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentResponseSchema":{"title":"ServiceShipmentResponseSchema","type":"object","properties":{"serviceShipmentUid":{"$ref":"#/components/schemas/UID"},"sender":{"$ref":"#/components/schemas/ServiceShipmentSenderSchema"},"receiver":{"$ref":"#/components/schemas/ServiceShipmentReceiverResponseSchema"},"status":{"$ref":"#/components/schemas/ServiceShipmentStatusENUM"},"note":{"type":"string"},"trackingNumber":{"type":"string"},"shipmentNumber":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceShipmentItemResponseSchema"}},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"shipmentDate":{"type":"string","format":"date-time"},"allReceived":{"type":"boolean"}},"required":["serviceShipmentUid","sender","receiver","status","note","trackingNumber","shipmentNumber","items","createdBy","createdAt","lastModifiedBy","lastModifiedAt","shipmentDate","allReceived"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceShipmentSenderSchema":{"title":"ServiceShipmentSenderSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"ServiceShipmentReceiverResponseSchema":{"title":"ServiceShipmentReceiverSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"externalWorkshopUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid","externalWorkshopUid"]},"ServiceShipmentStatusENUM":{"title":"ServiceShipmentStatusENUM","type":"string","enum":["NOT_SENT","IN_TRANSIT","RECEIVED"]},"ServiceShipmentItemResponseSchema":{"title":"ServiceShipmentItemResponseSchema","type":"object","properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"receivedDate":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["serviceOrderUid","receivedDate","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]}}}}
```

## The ServiceShipmentStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentStatusENUM":{"title":"ServiceShipmentStatusENUM","type":"string","enum":["NOT_SENT","IN_TRANSIT","RECEIVED"]}}}}
```

## The InternalPurchaseOrderStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderStatusENUM":{"title":"InternalPurchaseOrderStatusENUM","type":"string","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Draft/work in progress|\n| READY_FOR_CONFIRMATION | The order is ready for confirmation by receiving store|\n| PREPARING_FOR_SHIPMENT | Internal purchase order is ready to be shipped from the sending store|\n| IN_TRANSIT | All quantity sent is registered and products are sent from sending store (and removed from warehouse)|\n| ARRIVED | Purchase order has arrived to requesting store and is ready for registering and controlling quantity|\n| COMPLETE | Purchase order is complete (and stock is added to the receiving stores warehouse)|\n| CANCELLED | Purchase order is cancelled.|\n","enum":["NEW","READY_FOR_CONFIRMATION","PREPARING_FOR_SHIPMENT","IN_TRANSIT","ARRIVED","COMPLETE","CANCELLED"]}}}}
```

## The ServiceShipmentReceiverResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentReceiverResponseSchema":{"title":"ServiceShipmentReceiverSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"externalWorkshopUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid","externalWorkshopUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceShipmentUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentUpdateSchema":{"title":"ServiceShipmentUpdateSchema","type":"object","properties":{"sender":{"$ref":"#/components/schemas/ServiceShipmentSenderSchema"},"receiver":{"$ref":"#/components/schemas/ServiceShipmentReceiverUpdateSchema"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/ServiceShipmentStatusENUM"},"trackingNumber":{"type":"string"},"shipmentNumber":{"type":"string"},"shipmentDate":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceShipmentItemUpdateSchema"}}},"required":["sender","receiver"]},"ServiceShipmentSenderSchema":{"title":"ServiceShipmentSenderSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceShipmentReceiverUpdateSchema":{"title":"ServiceShipmentReceiverUpdateSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"externalWorkshopUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ServiceShipmentStatusENUM":{"title":"ServiceShipmentStatusENUM","type":"string","enum":["NOT_SENT","IN_TRANSIT","RECEIVED"]},"ServiceShipmentItemUpdateSchema":{"title":"ServiceShipmentItemUpdateSchema","type":"object","properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"receivedDate":{"type":"string","format":"date-time"}},"required":["serviceOrderUid"]}}}}
```

## The InternalPurchaseOrderUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderUpdateSchema":{"title":"InternalPurchaseOrderUpdateSchema","type":"object","properties":{"note":{"type":"string"},"status":{"$ref":"#/components/schemas/InternalPurchaseOrderStatusENUM"},"trackingNumber":{"type":"string"}}},"InternalPurchaseOrderStatusENUM":{"title":"InternalPurchaseOrderStatusENUM","type":"string","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Draft/work in progress|\n| READY_FOR_CONFIRMATION | The order is ready for confirmation by receiving store|\n| PREPARING_FOR_SHIPMENT | Internal purchase order is ready to be shipped from the sending store|\n| IN_TRANSIT | All quantity sent is registered and products are sent from sending store (and removed from warehouse)|\n| ARRIVED | Purchase order has arrived to requesting store and is ready for registering and controlling quantity|\n| COMPLETE | Purchase order is complete (and stock is added to the receiving stores warehouse)|\n| CANCELLED | Purchase order is cancelled.|\n","enum":["NEW","READY_FOR_CONFIRMATION","PREPARING_FOR_SHIPMENT","IN_TRANSIT","ARRIVED","COMPLETE","CANCELLED"]}}}}
```

## The ServiceShipmentCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentCreateSchema":{"title":"ServiceShipmentCreateSchema","allOf":[{"$ref":"#/components/schemas/ServiceShipmentUpdateSchema"},{"type":"object","properties":{"serviceShipmentUid":{"$ref":"#/components/schemas/OptionalUID"}}}]},"ServiceShipmentUpdateSchema":{"title":"ServiceShipmentUpdateSchema","type":"object","properties":{"sender":{"$ref":"#/components/schemas/ServiceShipmentSenderSchema"},"receiver":{"$ref":"#/components/schemas/ServiceShipmentReceiverUpdateSchema"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/ServiceShipmentStatusENUM"},"trackingNumber":{"type":"string"},"shipmentNumber":{"type":"string"},"shipmentDate":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceShipmentItemUpdateSchema"}}},"required":["sender","receiver"]},"ServiceShipmentSenderSchema":{"title":"ServiceShipmentSenderSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceShipmentReceiverUpdateSchema":{"title":"ServiceShipmentReceiverUpdateSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"externalWorkshopUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ServiceShipmentStatusENUM":{"title":"ServiceShipmentStatusENUM","type":"string","enum":["NOT_SENT","IN_TRANSIT","RECEIVED"]},"ServiceShipmentItemUpdateSchema":{"title":"ServiceShipmentItemUpdateSchema","type":"object","properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"receivedDate":{"type":"string","format":"date-time"}},"required":["serviceOrderUid"]}}}}
```

## The InternalPurchaseOrderCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderCreateSchema":{"title":"InternalPurchaseOrderCreateSchema","description":"","type":"object","required":["sendingStoreUid","receivingStoreUid","creatingStoreUid"],"properties":{"sendingStoreUid":{"$ref":"#/components/schemas/UID"},"receivingStoreUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/InternalPurchaseOrderItemCreateSchema"}},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/InternalPurchaseOrderStatusENUM"},"creatingStoreUid":{"$ref":"#/components/schemas/UID"},"autoOrderProposal":{"type":"object","description":"Generate a internal purchase order proposal based on min/max","required":["sendingWarehouseUid","receivingWarehouseUid"],"properties":{"sendingWarehouseUid":{"$ref":"#/components/schemas/UID"},"receivingWarehouseUid":{"$ref":"#/components/schemas/UID"}}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"InternalPurchaseOrderItemCreateSchema":{"title":"InternalPurchaseOrderItemCreateSchema","type":"object","required":["quantityOrdered"],"properties":{"quantityOrdered":{"type":"integer"},"costPrice":{"type":"integer"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"productUid":{"$ref":"#/components/schemas/UID"}}},"InternalPurchaseOrderStatusENUM":{"title":"InternalPurchaseOrderStatusENUM","type":"string","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Draft/work in progress|\n| READY_FOR_CONFIRMATION | The order is ready for confirmation by receiving store|\n| PREPARING_FOR_SHIPMENT | Internal purchase order is ready to be shipped from the sending store|\n| IN_TRANSIT | All quantity sent is registered and products are sent from sending store (and removed from warehouse)|\n| ARRIVED | Purchase order has arrived to requesting store and is ready for registering and controlling quantity|\n| COMPLETE | Purchase order is complete (and stock is added to the receiving stores warehouse)|\n| CANCELLED | Purchase order is cancelled.|\n","enum":["NEW","READY_FOR_CONFIRMATION","PREPARING_FOR_SHIPMENT","IN_TRANSIT","ARRIVED","COMPLETE","CANCELLED"]}}}}
```

## The InternalPurchaseOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderResponseSchema":{"title":"InternalPurchaseOrderResponseSchema","type":"object","description":"- sendingStoreUid: The store that creates/sends the internal purchase order. \n- receivingStoreUid: The store that receives the internal purchase order\n- creatingStoreUid: The store that creates the internal purchase order. May be different than sendingStoreUid","required":["createdAt","createdBy","lastModifiedAt","lastModifiedBy","shippedAt","shippedBy","receivedAt","receivedBy","sendingStoreUid","receivingStoreUid","note","status","trackingNumber","items","internalPurchaseOrderUid","allowedStatuses","internalPurchaseOrderNumber","creatingStoreUid"],"properties":{"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"shippedAt":{"type":"string","format":"date-time","nullable":true},"shippedBy":{"type":"string","nullable":true},"receivedAt":{"type":"string","format":"date-time","nullable":true},"receivedBy":{"type":"string","nullable":true},"sendingStoreUid":{"$ref":"#/components/schemas/UID"},"receivingStoreUid":{"$ref":"#/components/schemas/UID"},"note":{"type":"string"},"status":{"$ref":"#/components/schemas/InternalPurchaseOrderStatusENUM"},"trackingNumber":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/InternalPurchaseOrderItemResponseSchema"}},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"allowedStatuses":{"type":"array","items":{"$ref":"#/components/schemas/InternalPurchaseOrderStatusENUM"}},"internalPurchaseOrderNumber":{"type":"string"},"creatingStoreUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"InternalPurchaseOrderStatusENUM":{"title":"InternalPurchaseOrderStatusENUM","type":"string","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Draft/work in progress|\n| READY_FOR_CONFIRMATION | The order is ready for confirmation by receiving store|\n| PREPARING_FOR_SHIPMENT | Internal purchase order is ready to be shipped from the sending store|\n| IN_TRANSIT | All quantity sent is registered and products are sent from sending store (and removed from warehouse)|\n| ARRIVED | Purchase order has arrived to requesting store and is ready for registering and controlling quantity|\n| COMPLETE | Purchase order is complete (and stock is added to the receiving stores warehouse)|\n| CANCELLED | Purchase order is cancelled.|\n","enum":["NEW","READY_FOR_CONFIRMATION","PREPARING_FOR_SHIPMENT","IN_TRANSIT","ARRIVED","COMPLETE","CANCELLED"]},"InternalPurchaseOrderItemResponseSchema":{"title":"InternalPurchaseOrderItemResponseSchema","type":"object","required":["createdAt","createdBy","lastModifiedAt","lastModifiedBy","product","serialnumbers","quantityOrdered","shipFromWarehouseUid","quantitySent","quantityReceived","receiveToWarehouseUid","costPrice","internalPurchaseOrderItemUid"],"properties":{"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"product":{"$ref":"#/components/schemas/InternalPurchaseOrderItemProductResponseSchema"},"serialnumbers":{"type":"array","items":{"type":"string"}},"quantityOrdered":{"type":"integer"},"shipFromWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"quantitySent":{"type":"integer"},"quantityReceived":{"type":"integer"},"receiveToWarehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"costPrice":{"type":"integer"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"InternalPurchaseOrderItemProductResponseSchema":{"title":"InternalPurchaseOrderItemProductResponseSchema","type":"object","required":["productUid","productName","productSku","coverImage","serialNoRequired"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSku":{"type":"string"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ServiceShipmentReceiverUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentReceiverUpdateSchema":{"title":"ServiceShipmentReceiverUpdateSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"externalWorkshopUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ServiceShipmentSenderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentSenderSchema":{"title":"ServiceShipmentSenderSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"}},"required":["storeUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceShipmentItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentItemResponseSchema":{"title":"ServiceShipmentItemResponseSchema","type":"object","properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"receivedDate":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["serviceOrderUid","receivedDate","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceShipmentItemUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceShipmentItemUpdateSchema":{"title":"ServiceShipmentItemUpdateSchema","type":"object","properties":{"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"receivedDate":{"type":"string","format":"date-time"}},"required":["serviceOrderUid"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The WarehouseStockLogResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseStockLogResponseSchema":{"title":"WarehouseStockLogResponseSchema","allOf":[{"type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"},"productUId":{"$ref":"#/components/schemas/UID"},"productSku":{"type":"string"},"productName":{"type":"string"}},"required":["storeUid","storeName","warehouseUid","warehouseName","productUId","productSku","productName"]},{"$ref":"#/components/schemas/StockLogResponseSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StockLogResponseSchema":{"description":"Log data for a product's stock movements. Sorted by timestamp, descending","title":"StockLogResponseSchema","type":"object","required":["costDelta","costNew","costOrigin","costTransaction","createdAt","quantityDelta","quantityNew","quantityNotAvailable","quantityOrigin","reference","serialnumber","tenantUserUid","tenantUserName","transactionType","saleCostPrice","referenceDetails"],"properties":{"costDelta":{"type":"integer","description":"Average cost price delta"},"costNew":{"type":"integer","description":"Average cost price after the transaction"},"costOrigin":{"type":"integer","description":"Average cost price before the transaction"},"costTransaction":{"type":"integer","description":"The cost of the current transaction"},"createdAt":{"format":"date-time","type":"string"},"quantityDelta":{"type":"integer"},"quantityNew":{"type":"integer"},"quantityNotAvailable":{"type":"integer"},"quantityOrigin":{"type":"integer"},"reference":{"type":"integer"},"referenceDetails":{"$ref":"#/components/schemas/StockLogReferenceSchema"},"serialnumber":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserName":{"type":"string"},"transactionType":{"$ref":"#/components/schemas/TransactionTypeENUM"},"saleCostPrice":{"type":"integer"}}},"StockLogReferenceSchema":{"title":"StockLogReferenceSchema","type":"object","required":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","responseType"],"properties":{"salesOrder":{"$ref":"#/components/schemas/StockLogSalesOrderReferenceSchema"},"rmaOrder":{"$ref":"#/components/schemas/StockLogRmaOrderReferenceSchema"},"stocktaking":{"$ref":"#/components/schemas/StockLogStocktakingReferenceSchema"},"internalPurchaseOrder":{"$ref":"#/components/schemas/StockLogInternalPurchaseOrderReferenceSchema"},"serviceOrder":{"$ref":"#/components/schemas/StockLogServiceOrderReferenceSchema"},"receivement":{"$ref":"#/components/schemas/StockLogReceivementReferenceSchema"},"responseType":{"type":"string","enum":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","noReference"]}}},"StockLogSalesOrderReferenceSchema":{"title":"StockLogSalesOrderReferenceSchema","type":"object","nullable":true,"required":["orderNumber","orderUid","storeUid","orderItemUid"],"properties":{"orderNumber":{"type":"string"},"orderUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogRmaOrderReferenceSchema":{"title":"StockLogRmaOrderReferenceSchema","type":"object","nullable":true,"required":["rmaNumber","storeUid","rmaOrderUid","rmaOrderItemUid"],"properties":{"rmaNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"rmaOrderUid":{"$ref":"#/components/schemas/UID"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogStocktakingReferenceSchema":{"title":"StockLogStocktakingReferenceSchema","type":"object","nullable":true,"required":["name","storeUid","stocktakingUid","stocktakingItemUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogInternalPurchaseOrderReferenceSchema":{"title":"StockLogInternalPurchaseOrderReferenceSchema","type":"object","nullable":true,"required":["internalPurchaseNumber","storeUid","internalPurchaseOrderUid","internalPurchaseOrderItemUid"],"properties":{"internalPurchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogServiceOrderReferenceSchema":{"title":"StockLogServiceOrderReferenceSchema","type":"object","nullable":true,"required":["serviceOrderNumber","storeUid","serviceOrderUid","serviceOrderItemUid"],"properties":{"serviceOrderNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogReceivementReferenceSchema":{"title":"StockLogReceivementReferenceSchema","type":"object","nullable":true,"required":["purchaseNumber","storeUid","purchaseOrderUid","purchaseOrderItemUid","receivementUid","receivementItemUid"],"properties":{"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"}}},"TransactionTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE | Receive (Purchase)|\n| DELIVERY | Deliver ( Sales)|\n| MOVE | Move between depts|\n| RETURN | Return of items|\n| INVENTORY_CONTROL | Inventory Control|\n| INTERNAL | Theft / Internal use|\n| SET_STOCK | Set stock|\n| ADJUST_STOCK | Adjust stock|\n| ADJUST_COST | Adjust cost|\n| RMA_ORDER | RMA Order|\n","enum":["RECEIVE","DELIVERY","MOVE","RETURN","INVENTORY_CONTROL","INTERNAL","SET_STOCK","ADJUST_STOCK","ADJUST_COST","RMA_ORDER"],"title":"TransactionTypeENUM","type":"string"}}}}
```

## The WarehouseStockLogRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseStockLogRequestSchema":{"title":"WarehouseStockLogRequestSchema","allOf":[{"properties":{"fromDateTime":{"type":"string","format":"date-time","description":"GTE [>=]"},"toDateTime":{"type":"string","format":"date-time","description":"LTE [=<]"},"warehouseUids":{"type":"array","items":{"$ref":"#/components/schemas/OptionalUID"}},"transactionTypes":{"type":"array","items":{"$ref":"#/components/schemas/TransactionTypeENUM"}}},"required":["fromDateTime","toDateTime"]}],"type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"TransactionTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVE | Receive (Purchase)|\n| DELIVERY | Deliver ( Sales)|\n| MOVE | Move between depts|\n| RETURN | Return of items|\n| INVENTORY_CONTROL | Inventory Control|\n| INTERNAL | Theft / Internal use|\n| SET_STOCK | Set stock|\n| ADJUST_STOCK | Adjust stock|\n| ADJUST_COST | Adjust cost|\n| RMA_ORDER | RMA Order|\n","enum":["RECEIVE","DELIVERY","MOVE","RETURN","INVENTORY_CONTROL","INTERNAL","SET_STOCK","ADJUST_STOCK","ADJUST_COST","RMA_ORDER"],"title":"TransactionTypeENUM","type":"string"}}}}
```

## The ReportFormatENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReportFormatENUM":{"title":"ReportFormatENUM","type":"string","enum":["PDF","VISMANET","VISMABUSINESS","UNI","24SEVEN","XLEDGER","NAVISION"],"description":"Supported report formats"}}}}
```

## The AccountingFileRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingFileRequestSchema":{"title":"AccountingFileRequestSchema","allOf":[{"$ref":"#/components/schemas/AccountingRequestSchema"},{"type":"object","properties":{"reportFormat":{"$ref":"#/components/schemas/ReportFormatENUM"}}}]},"AccountingRequestSchema":{"title":"AccountingRequestSchema","type":"object","properties":{"fromDate":{"format":"date","minLength":10,"type":"string"},"toDate":{"format":"date","minLength":10,"type":"string"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"},"storeUids":{"type":"array","description":"List of storeUids to include in report.","items":{"$ref":"#/components/schemas/UID"}}},"required":["fromDate","toDate","organizationUid"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ReportFormatENUM":{"title":"ReportFormatENUM","type":"string","enum":["PDF","VISMANET","VISMABUSINESS","UNI","24SEVEN","XLEDGER","NAVISION"],"description":"Supported report formats"}}}}
```

## The AccountingConfigsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsSchema":{"title":"AccountingConfigsSchema","description":"Accounting configs model","type":"object","properties":{"accountingConfigsUid":{"type":"string"},"configType":{"$ref":"#/components/schemas/AccountingConfigTypeENUM"},"key":{"$ref":"#/components/schemas/AccountingConfigKeyENUM"},"vatCodeUid":{"type":"string"},"value":{"type":"string"}}},"AccountingConfigTypeENUM":{"enum":["ACCOUNTNUMBER","TREATCODE","VAT_TYPE_ID","PRODUCTGROUP"],"title":"AccountingConfigTypeENUM","type":"string"},"AccountingConfigKeyENUM":{"enum":["CUSTOMER","CUSTOMERDUMMY","ERROR","PARTLYPAIDINVOICE","CREDITLEDGER","GENERALLEDGER","LEDGER","BALANCE","VATCODE","PAYMENT","CASHFLOAT_DEPOSIT","CASHFLOAT_WITHDRAWAL","CASHFLOAT_TO_BANK","CASHFLOAT_EXPENSE_WITHDRAWAL","CASHFLOAT_DIFF","MARGIN_VAT_SALES","MARGIN_VAT"],"title":"AccountingConfigsConfigKeyEnums","type":"string"}}}}
```

## The AccountingConfigsProductGroupResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsProductGroupResponseSchema":{"title":"AccountingConfigsProductgroupSchema","type":"object","required":["productGroupUid","vatCodeUid","account","accountingConfigUid"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"account":{"description":"Account number","type":"string"},"accountingConfigUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsProductResponseSchema":{"title":"AccountingConfigsProductSchema","type":"object","required":["productUid","sku","productName","account"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string","description":"The product's SKU"},"productName":{"type":"string","description":"The product's name"},"account":{"description":"Account number","type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsVatTypeResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsVatTypeResponseSchema":{"title":"AccountingConfigsVatTypeResponseSchema","description":"Treat codes","type":"object","required":["balance","vatCodes"],"properties":{"balance":{"type":"string","description":"VAT type used for balance transactions"},"vatCodes":{"type":"array","items":{"$ref":"#/components/schemas/AccountingConfigsVatTypeVatcode"}}}},"AccountingConfigsVatTypeVatcode":{"title":"AccountingConfigsVatTypeVatcode","type":"object","description":"","required":["vatCodeUid","value"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsVatTypeRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsVatTypeRequestSchema":{"title":"AccountingConfigsVatTypeRequestSchema","description":"Treat codes","type":"object","properties":{"balance":{"type":"string","description":"VAT type used for balance transactions"},"vatCodes":{"type":"array","items":{"$ref":"#/components/schemas/AccountingConfigsVatTypeVatcode"}}}},"AccountingConfigsVatTypeVatcode":{"title":"AccountingConfigsVatTypeVatcode","type":"object","description":"","required":["vatCodeUid","value"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsVatTypeVatcode object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsVatTypeVatcode":{"title":"AccountingConfigsVatTypeVatcode","type":"object","description":"","required":["vatCodeUid","value"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsTreatcodeResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsTreatcodeResponseSchema":{"title":"AccountingConfigsTreatcodeResponseSchema","description":"Treat codes","type":"object","required":["creditLedger","generalLedger","ledger","payment"],"properties":{"creditLedger":{"type":"string","description":"Used for credit notes"},"generalLedger":{"type":"string","description":"Used for general ledger"},"ledger":{"type":"string","description":"Used for invoices and other ledgers"},"payment":{"type":"string","description":"Used for payment of invoices"}}}}}}
```

## The AccountingConfigsTreatcodeRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsTreatcodeRequestSchema":{"title":"AccountingConfigsTreatcodeRequestSchema","description":"Treat codes","type":"object","properties":{"creditLedger":{"type":"string","description":"Used for credit notes"},"generalLedger":{"type":"string","description":"Used for general ledger"},"ledger":{"type":"string","description":"Used for invoices and other ledgers"},"payment":{"type":"string","description":"Used for payment of invoices"}}}}}}
```

## The AccountingConfigsAccountnumberResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsAccountnumberResponseSchema":{"title":"AccountingConfigsAccountnumberSchema","description":"Accounting configs model","type":"object","required":["customer","customerDummy","error","partlyPaidInvoice","cashfloatDeposit","cashfloatWithdrawal","cashfloatToBank","cashfloatExpenseWithdrawal","cashfloatDiff","marginVatSales","marginVat","vatCodes"],"properties":{"customer":{"type":"string","description":"Account for customers"},"customerDummy":{"type":"string"},"error":{"type":"string","description":"Error account, used if no valid account is found"},"partlyPaidInvoice":{"type":"string","description":"Interim account for partly paid invoices."},"cashfloatDeposit":{"type":"string","description":"Deposit cash float into the cash register"},"cashfloatWithdrawal":{"type":"string","description":"Withdraw cash float from the cash register"},"cashfloatToBank":{"type":"string","description":"Withdraw cash float and transfer it to the bank"},"cashfloatExpenseWithdrawal":{"type":"string","description":"Withdraw cash float for expenses throughout the day"},"cashfloatDiff":{"type":"string","description":"Account for cash register till count discrepancies"},"marginVatSales":{"type":"string","description":"Revenue account for goods sold under the VAT margin scheme, such as used or refurbished goods. These lines are booked here net of the margin VAT, instead of on the account for their VAT code."},"marginVat":{"type":"string","description":"Account for the VAT on the margin of goods sold under the VAT margin scheme. It is posted separately because the VAT is calculated on the margin rather than on the sale price."},"vatCodes":{"type":"array","items":{"$ref":"#/components/schemas/AccountingConfigsAccountnumberVatcode"}}}},"AccountingConfigsAccountnumberVatcode":{"title":"AccountingConfigsAccountnumberVatcode","type":"object","required":["vatCodeUid","account"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"account":{"type":"string"}},"description":"List of all VAT codes defined"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsAccountnumberRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsAccountnumberRequestSchema":{"title":"AccountingConfigsAccountnumberSchema","description":"Accounting configs model","type":"object","properties":{"customer":{"type":"string","description":"Account for customers"},"customerDummy":{"type":"string"},"error":{"type":"string","description":"Error account, used if no valid account is found"},"partlyPaidInvoice":{"type":"string","description":"Interim account for partly paid invoices."},"cashfloatDeposit":{"type":"string","description":"Deposit cash float into the cash register"},"cashfloatWithdrawal":{"type":"string","description":"Withdraw cash float from the cash register"},"cashfloatToBank":{"type":"string","description":"Withdraw cash float and transfer it to the bank"},"cashfloatExpenseWithdrawal":{"type":"string","description":"Withdraw cash float for expenses throughout the day"},"cashfloatDiff":{"type":"string","description":"Account for cash register till count discrepancies"},"marginVatSales":{"type":"string","description":"Revenue account for goods sold under the VAT margin scheme, such as used or refurbished goods. These lines are booked here net of the margin VAT, instead of on the account for their VAT code."},"marginVat":{"type":"string","description":"Account for the VAT on the margin of goods sold under the VAT margin scheme. It is posted separately because the VAT is calculated on the margin rather than on the sale price."},"vatCodes":{"type":"array","items":{"$ref":"#/components/schemas/AccountingConfigsAccountnumberVatcode"}}}},"AccountingConfigsAccountnumberVatcode":{"title":"AccountingConfigsAccountnumberVatcode","type":"object","required":["vatCodeUid","account"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"account":{"type":"string"}},"description":"List of all VAT codes defined"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsAccountnumberVatcode object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsAccountnumberVatcode":{"title":"AccountingConfigsAccountnumberVatcode","type":"object","required":["vatCodeUid","account"],"properties":{"vatCodeUid":{"$ref":"#/components/schemas/UID"},"account":{"type":"string"}},"description":"List of all VAT codes defined"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsResponseSchema":{"title":"AccountingConfigsResponseSchema","description":"Accounting configs model","type":"object","required":["accountingConfigsUid","configType","key","value","vatCodeUid","productGroupUid"],"properties":{"accountingConfigsUid":{"type":"string"},"configType":{"$ref":"#/components/schemas/AccountingConfigTypeENUM"},"key":{"$ref":"#/components/schemas/AccountingConfigKeyENUM"},"value":{"type":"string"},"vatCodeUid":{"$ref":"#/components/schemas/OptionalUID"},"productGroupUid":{"$ref":"#/components/schemas/OptionalUID"}}},"AccountingConfigTypeENUM":{"enum":["ACCOUNTNUMBER","TREATCODE","VAT_TYPE_ID","PRODUCTGROUP"],"title":"AccountingConfigTypeENUM","type":"string"},"AccountingConfigKeyENUM":{"enum":["CUSTOMER","CUSTOMERDUMMY","ERROR","PARTLYPAIDINVOICE","CREDITLEDGER","GENERALLEDGER","LEDGER","BALANCE","VATCODE","PAYMENT","CASHFLOAT_DEPOSIT","CASHFLOAT_WITHDRAWAL","CASHFLOAT_TO_BANK","CASHFLOAT_EXPENSE_WITHDRAWAL","CASHFLOAT_DIFF","MARGIN_VAT_SALES","MARGIN_VAT"],"title":"AccountingConfigsConfigKeyEnums","type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The AccountingConfigsRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsRequestSchema":{"title":"AccountingConfigsRequestSchema","description":"Accounting configs model\n\nvatCodeUid should always be filled when `key` is of type `VATCODE`","type":"object","properties":{"accountingConfigUid":{"$ref":"#/components/schemas/UID"},"configType":{"$ref":"#/components/schemas/AccountingConfigTypeENUM"},"key":{"$ref":"#/components/schemas/AccountingConfigKeyENUM"},"value":{"type":"string"},"vatCodeUid":{"$ref":"#/components/schemas/UID"}},"required":["configType","key","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"AccountingConfigTypeENUM":{"enum":["ACCOUNTNUMBER","TREATCODE","VAT_TYPE_ID","PRODUCTGROUP"],"title":"AccountingConfigTypeENUM","type":"string"},"AccountingConfigKeyENUM":{"enum":["CUSTOMER","CUSTOMERDUMMY","ERROR","PARTLYPAIDINVOICE","CREDITLEDGER","GENERALLEDGER","LEDGER","BALANCE","VATCODE","PAYMENT","CASHFLOAT_DEPOSIT","CASHFLOAT_WITHDRAWAL","CASHFLOAT_TO_BANK","CASHFLOAT_EXPENSE_WITHDRAWAL","CASHFLOAT_DIFF","MARGIN_VAT_SALES","MARGIN_VAT"],"title":"AccountingConfigsConfigKeyEnums","type":"string"}}}}
```

## The AccountingConfigsProductGroupRequestSchemaDeprecated object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsProductGroupRequestSchemaDeprecated":{"title":"AccountingConfigsProductGroupRequestSchemaDeprecated","description":"Create a new account mapping to a product group","type":"object","required":["value","vatCodeUid","productGroupUid"],"properties":{"accountingConfigUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string","description":"accountNumber"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsProductGroupRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsProductGroupRequestSchema":{"title":"AccountingConfigsProductGroupRequestSchema","description":"Create a new account mapping to a product group","type":"object","required":["account","vatCodeUid","productGroupUid"],"properties":{"accountingConfigUid":{"$ref":"#/components/schemas/UID"},"account":{"type":"string","description":"accountNumber"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsProductRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsProductRequestSchema":{"title":"AccountingConfigsProductRequestSchema","description":"Set the store specific account number for a product.\nThe product's VAT type determines the VAT group, so no vatCodeUid is needed.","type":"object","required":["account"],"properties":{"account":{"type":"string","minLength":1,"description":"Account number. Must not be empty — use DELETE to remove the override."}}}}}}
```

## The AccountingConfigsUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsUpdateSchema":{"title":"AccountingConfigsUpdateSchema","description":"","type":"object","required":["value"],"properties":{"value":{"type":"string"}}}}}}
```

## The AccountingConfigTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigTypeENUM":{"enum":["ACCOUNTNUMBER","TREATCODE","VAT_TYPE_ID","PRODUCTGROUP"],"title":"AccountingConfigTypeENUM","type":"string"}}}}
```

## The AccountingConfigKeyENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigKeyENUM":{"enum":["CUSTOMER","CUSTOMERDUMMY","ERROR","PARTLYPAIDINVOICE","CREDITLEDGER","GENERALLEDGER","LEDGER","BALANCE","VATCODE","PAYMENT","CASHFLOAT_DEPOSIT","CASHFLOAT_WITHDRAWAL","CASHFLOAT_TO_BANK","CASHFLOAT_EXPENSE_WITHDRAWAL","CASHFLOAT_DIFF","MARGIN_VAT_SALES","MARGIN_VAT"],"title":"AccountingConfigsConfigKeyEnums","type":"string"}}}}
```

## The LanguageCode object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LanguageCode":{"title":"LanguageCode","description":"ISO 639-1 code for language","type":"string"}}}}
```

## The DeliveryProviderMethodTimeslotResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodTimeslotResponseSchema":{"title":"DeliveryProviderMethodTimeslotResponseSchema","type":"object","description":"DeliveryProviderMethodTimeslotResponseSchema","required":["deliveryProviderMethodTimeslotUid","name","startTime","endTime","applicableDays","excludedDates","deliveryCount"],"properties":{"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"startTime":{"type":"string","format":"time"},"endTime":{"type":"string","format":"time"},"applicableDays":{"type":"array","items":{"$ref":"#/components/schemas/WeekDayENUM"}},"excludedDates":{"type":"array","description":"Format: YYYY-MM-DD","items":{"type":"string"}},"deliveryCount":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"WeekDayENUM":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"WeekDayENUM","type":"string"}}}}
```

## The DeliveryProviderMethodTimeslotCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodTimeslotCreateRequestSchema":{"title":"timeslotRequestModel","type":"object","description":"timeslotRequestModel","required":["name","startTime","endTime","applicableDays"],"properties":{"name":{"type":"string"},"startTime":{"type":"string","format":"time","description":"HH:MM"},"endTime":{"type":"string","format":"time","description":"HH:MM"},"applicableDays":{"type":"array","items":{"$ref":"#/components/schemas/WeekDayENUM"}},"excludedDates":{"type":"array","description":"Format: YYYY-MM-DD","items":{"type":"string"}},"deliveryProviderMethodTimeslotUid":{"type":"string"}}},"WeekDayENUM":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"WeekDayENUM","type":"string"}}}}
```

## The DeliveryProviderMethodTimeslotUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodTimeslotUpdateRequestSchema":{"title":"DeliveryProviderMethodTimeslotUpdateRequestSchema","type":"object","description":"DeliveryProviderMethodTimeslotUpdateRequestSchema","properties":{"name":{"type":"string"},"startTime":{"type":"string","format":"time","description":"HH:MM"},"endTime":{"type":"string","format":"time","description":"HH:MM"},"applicableDays":{"type":"array","items":{"$ref":"#/components/schemas/WeekDayENUM"}},"excludedDates":{"type":"array","description":"Format: YYYY-MM-DD","items":{"type":"string"}}}},"WeekDayENUM":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"WeekDayENUM","type":"string"}}}}
```

## The WeekDayENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WeekDayENUM":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"WeekDayENUM","type":"string"}}}}
```

## The DeliveryProviderMethodTimeslotAvailableResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodTimeslotAvailableResponseSchema":{"title":"DeliveryProviderMethodTimeslotAvailableResponseSchema","type":"object","properties":{"date":{"type":"string","format":"date"},"timeslots":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryProviderMethodTimeslotResponseSchema"}}},"required":["date","timeslots"]},"DeliveryProviderMethodTimeslotResponseSchema":{"title":"DeliveryProviderMethodTimeslotResponseSchema","type":"object","description":"DeliveryProviderMethodTimeslotResponseSchema","required":["deliveryProviderMethodTimeslotUid","name","startTime","endTime","applicableDays","excludedDates","deliveryCount"],"properties":{"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"startTime":{"type":"string","format":"time"},"endTime":{"type":"string","format":"time"},"applicableDays":{"type":"array","items":{"$ref":"#/components/schemas/WeekDayENUM"}},"excludedDates":{"type":"array","description":"Format: YYYY-MM-DD","items":{"type":"string"}},"deliveryCount":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"WeekDayENUM":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"WeekDayENUM","type":"string"}}}}
```

## The OpeningHoursResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpeningHoursResponseSchema":{"title":"OpeningHoursResponseSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}},"required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday","note"]}}}}
```

## The OpeningHoursRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpeningHoursRequestSchema":{"title":"OpeningHoursRequestSchema","type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"note":{"type":"string"}}}}}}
```

## The WarehouseProductDetailsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"WarehouseProductDetailsResponseSchema":{"title":"WarehouseProductDetailsResponseSchema","allOf":[{"$ref":"#/components/schemas/WarehouseStockDetailsResponseSchema"},{"type":"object","properties":{"productSku":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"}},"required":["productSku","productUid"]}]},"WarehouseStockDetailsResponseSchema":{"title":"WarehouseStockDetailsResponseSchema","type":"object","properties":{"locationLabel":{"type":"string"},"maxStockLevel":{"type":"integer"},"minStockLevel":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}},"required":["locationLabel","maxStockLevel","minStockLevel","quantityReserved","quantityStock","storeUid","storeName","warehouseUid","warehouseName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantPaymentMethodParameterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodParameterResponseSchema":{"title":"TenantPaymentMethodParameterResponseSchema","type":"object","properties":{"tenantPaymentMethodParameterUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"},"position":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["tenantPaymentMethodParameterUid","name","description","required","key","type","regex","position","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The TenantPaymentMethodParameterExtractResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodParameterExtractResponseSchema":{"title":"TenantPaymentMethodParameterExtractResponseSchema","description":"TenantPaymentMethodParameterExtractResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","type","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The AvailablePaymentMethodParametersResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailablePaymentMethodParametersResponseSchema":{"title":"AvailablePaymentMethodParametersResponseSchema","description":"AvailablePaymentMethodParametersResponseSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"keyType":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression"}},"required":["name","description","required","key","keyType","regex"]},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The TenantPaymentMethodParameterTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The TenantPaymentMethodParameterCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodParameterCreateRequestSchema":{"title":"TenantPaymentMethodParameterCreateRequestSchema","type":"object","properties":{"tenantPaymentMethodParameterUid":{"$ref":"#/components/schemas/OptionalUID"},"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression","format":"regex"},"position":{"type":"integer"}},"required":["name","required","key","type"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The TenantPaymentMethodParameterUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodParameterUpdateRequestSchema":{"title":"TenantPaymentMethodParameterUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"key":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"},"regex":{"type":"string","description":"regular expression","format":"regex"},"position":{"type":"integer"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]}}}}
```

## The LocaleMetadataResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LocaleMetadataResponseSchema":{"title":"LocaleMetadataResponseSchema","type":"object","properties":{"locale":{"type":"string"},"name":{"type":"string"}},"required":["locale","name"]}}}}
```

## The ProductMediaSourceENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductMediaSourceENUM":{"title":"ProductMediaSourceENUM","enum":["FLOW","URL"],"description":"","type":"string"}}}}
```

## The GeneratedSkuENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneratedSkuENUM":{"title":"GeneratedSkuENUM","enum":["NUMERIC"],"type":"string"}}}}
```

## The CurrencyResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CurrencyResponseSchema":{"title":"CurrencyResponseSchema","type":"object","required":["currencyUid","currencyCode","exchangeRate","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"currencyUid":{"$ref":"#/components/schemas/UID"},"currencyCode":{"type":"string","description":"ISO 4217 standard"},"exchangeRate":{"type":"integer","description":"in cents (2 decimals)"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderOperationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderOperationRequestSchema":{"title":"OrderOperationRequestSchema","type":"object","required":["operation"],"properties":{"operation":{"$ref":"#/components/schemas/OrderOperationENUM"}}},"OrderOperationENUM":{"title":"OrderOperationENUM","type":"string","enum":["RECALCULATE_SETTLEMENTS","RECALCULATE_COSTPRICES"],"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECALCULATE_SETTLEMENTS | Do a sum of settlements on order and calculate the settle_state on order|\n| RECALCULATE_COSTPRICES | Retreive updated costprices on the order linse of an order. Can only be done when order state = PARKED|"}}}}
```

## The OrderOperationENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderOperationENUM":{"title":"OrderOperationENUM","type":"string","enum":["RECALCULATE_SETTLEMENTS","RECALCULATE_COSTPRICES"],"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECALCULATE_SETTLEMENTS | Do a sum of settlements on order and calculate the settle_state on order|\n| RECALCULATE_COSTPRICES | Retreive updated costprices on the order linse of an order. Can only be done when order state = PARKED|"}}}}
```

## The InternalPurchaseOrderItemProductResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"InternalPurchaseOrderItemProductResponseSchema":{"title":"InternalPurchaseOrderItemProductResponseSchema","type":"object","required":["productUid","productName","productSku","coverImage","serialNoRequired"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"productSku":{"type":"string"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"}}}}
```

## The SettlementCurrencySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementCurrencySchema":{"title":"SettlementCurrencySchema","type":"object","required":["amount","code","exchangeRate"],"properties":{"amount":{"type":"integer"},"code":{"type":"string"},"exchangeRate":{"type":"integer"}}}}}}
```

## The ServiceEventNotificationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceEventNotificationResponseSchema":{"title":"ServiceEventNotificationResponseSchema","type":"object","required":["notificationUid","type","state","recipient"],"properties":{"notificationUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/MessageTypeENUM"},"state":{"$ref":"#/components/schemas/NotificationStateENUM"},"recipient":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]}}}}
```

## The CurrencyMetadataResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CurrencyMetadataResponseSchema":{"title":"CurrencyMetadataResponseSchema","type":"object","required":["currencyCode","name","denominations"],"properties":{"currencyCode":{"type":"string","description":"ISO 4217 standard"},"name":{"type":"string"},"denominations":{"$ref":"#/components/schemas/CurrencyDenominationsMetadataSchema"}}},"CurrencyDenominationsMetadataSchema":{"title":"CurrencyDenominationsSchema","type":"object","required":["coins","notes"],"properties":{"coins":{"type":"array","items":{"type":"string"}},"notes":{"type":"array","items":{"type":"string"}}}}}}}
```

## The CustomerConsentChangeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerConsentChangeSchema":{"title":"CustomerConsentChangeSchema","type":"object","required":["source","status"],"properties":{"source":{"type":"string"},"status":{"type":"boolean","description":"Is the consent active or withdrawn"}}}}}}
```

## The SendConsentPortalLinkRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SendConsentPortalLinkRequestSchema":{"title":"SendConsentPortalLinkRequestSchema","type":"object","required":["storeUid"],"properties":{"storeUid":{"type":"string","description":"Store used for SMS sender configuration and notification attribution"}}}}}}
```

## The CustomerConsentStatusSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerConsentStatusSchema":{"title":"CustomerConsentStatusSchema","type":"object","required":["consentUid","name","status","source","createdAt"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"status":{"type":"boolean"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceOrderTotalsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderTotalsSchema":{"title":"ServiceOrderTotalsSchema","type":"object","required":["grandTotal","partsTotal","workTotal"],"properties":{"grandTotal":{"type":"integer"},"partsTotal":{"type":"integer"},"workTotal":{"type":"integer"}}}}}}
```

## The HourlyRateResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"HourlyRateResponseSchema":{"title":"HourlyRateResponseSchema","type":"object","required":["hourlyRateUid","name","price","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"hourlyRateUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"price":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceOrderSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderSearchRequestSchema":{"title":"ServiceOrderSearchRequestSchema","type":"object","properties":{"customerName":{"type":"string"},"customerMobile":{"type":"string"},"customerEmail":{"type":"string"},"title":{"type":"string"},"serviceNumber":{"type":"string"},"query":{"type":"string","description":"Search on customer, service number and title in one."},"fromCreatedDate":{"type":"string","format":"date","description":"GTE date, e.g. 2006-05-04"},"toCreatedDate":{"type":"string","format":"date","description":"LTE date, e.g. 2006-05-04"},"assignedUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdFromStoreUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"priorities":{"type":"array","items":{"$ref":"#/components/schemas/PriorityENUM"}},"serviceStates":{"type":"array","items":{"$ref":"#/components/schemas/ServiceStateENUM"}},"serviceTypeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PriorityENUM":{"title":"PriorityENUM","type":"string","enum":["HIGHEST","HIGH","LOW","NONE"],"default":"NONE"},"ServiceStateENUM":{"title":"ServiceStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"]}}}}
```

## The LoyaltyMemberResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LoyaltyMemberResponseSchema":{"title":"LoyaltyMemberResponseSchema","type":"object","required":["loyaltyId","firstName","lastName","address","postalCode","city","countryCode","email","mobile","consents","customerUid","origin","displayName"],"properties":{"loyaltyId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"consents":{"type":"array","items":{"type":"string"}},"customerUid":{"$ref":"#/components/schemas/UID"},"origin":{"type":"string"},"displayName":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The LoyaltyDiscountResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LoyaltyDiscountResponseSchema":{"title":"LoyaltyDiscountResponseSchema","type":"object","required":["discountCode","title","description","validFrom","validTo","discountType","discountValue","maxUsage","timesUsed","productSkus"],"properties":{"discountCode":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"discountType":{"$ref":"#/components/schemas/DiscountTypeENUM"},"discountValue":{"type":"integer"},"maxUsage":{"type":"integer"},"timesUsed":{"type":"integer"},"productSkus":{"type":"array","items":{"type":"string"}}}},"DiscountTypeENUM":{"title":"DiscountTypeENUM","type":"string","enum":["PERCENTAGE","AMOUNT"]}}}}
```

## The DiscountTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DiscountTypeENUM":{"title":"DiscountTypeENUM","type":"string","enum":["PERCENTAGE","AMOUNT"]}}}}
```

## The OrderDiscountResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDiscountResponseSchema":{"title":"OrderDiscountResponseSchema","type":"object","required":["orderDiscountUid","discountCode","type","amount","name","origin","validTo","maxUsage","productSkus","orderItemUids","externalTransactionId","scope","discountReasonCode","discountReference","createdAt","createdBy","lastModifiedAt","lastModifiedBy","campaignUid"],"properties":{"orderDiscountUid":{"$ref":"#/components/schemas/UID"},"discountCode":{"type":"string"},"type":{"$ref":"#/components/schemas/DiscountTypeENUM"},"amount":{"type":"integer"},"name":{"type":"string"},"origin":{"$ref":"#/components/schemas/DiscountOriginENUM"},"validTo":{"type":"string","format":"date-time"},"maxUsage":{"type":"integer"},"productSkus":{"type":"array","items":{"type":"string"}},"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"externalTransactionId":{"type":"string"},"scope":{"$ref":"#/components/schemas/DiscountScopeENUM"},"discountReasonCode":{"type":"string"},"discountReference":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"campaignUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DiscountTypeENUM":{"title":"DiscountTypeENUM","type":"string","enum":["PERCENTAGE","AMOUNT"]},"DiscountOriginENUM":{"title":"DiscountOriginENUM","type":"string","enum":["LOYALTY","MANUAL","PRICEREDUCTION","CAMPAIGN"]},"DiscountScopeENUM":{"title":"DiscountScopeENUM","type":"string","enum":["WHOLE_ORDER","SPECIFIC_LINE","PRODUCT_LIST","SPECIFIC_LINE_LIST"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DiscountOriginENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DiscountOriginENUM":{"title":"DiscountOriginENUM","type":"string","enum":["LOYALTY","MANUAL","PRICEREDUCTION","CAMPAIGN"]}}}}
```

## The DiscountScopeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DiscountScopeENUM":{"title":"DiscountScopeENUM","type":"string","enum":["WHOLE_ORDER","SPECIFIC_LINE","PRODUCT_LIST","SPECIFIC_LINE_LIST"]}}}}
```

## The StoreCustomerDetailsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCustomerDetailsResponseSchema":{"title":"StoreCustomerDetailsResponseSchema","type":"object","description":"StoreCustomerDetailsResponseSchema","required":["customer","credit"],"properties":{"customer":{"$ref":"#/components/schemas/CustomerResponseSchema"},"credit":{"$ref":"#/components/schemas/CustomerCreditLimitSchema"}}},"CustomerResponseSchema":{"title":"CustomerResponseSchema","type":"object","description":"CustomerResponseSchema","required":["address","city","companyName","countryCode","createdAt","customerUid","customerNumber","customerParentUid","customerType","email","externalId","firstname","lastModifiedAt","lastname","mobile","postalCode","pricelistUid","vatNumber","origin","addresses","contacts","extensions","consents","loyaltyId","displayName","credit","paymentTerms","internalNote","accountManager","ehf","customerGroupUids","defaultStore","relevance"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"customerNumber":{"type":"string","description":"Tenant-scoped running customer number, assigned on creation. Absent for customers created before customer numbers were enabled, or when the tenant has no customer number series."},"firstname":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"type":"string","deprecated":true,"description":"Deprecated. Use ledgerNumber in accountingConfigs instead"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"origin":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/CustomerAddressResponseSchema"}},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactResponseSchema"}},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerExtensionResponseSchema"}},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerConsentStatusSchema"}},"loyaltyId":{"type":"string"},"displayName":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditResponseSchema"},"paymentTerms":{"type":"integer"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerResponseSchema"},"ehfEnabled":{"type":"boolean","description":"Deprecated: Use ehf -> enabled instead","deprecated":true},"ehf":{"$ref":"#/components/schemas/CustomerEhfResponseSchema"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"defaultStore":{"$ref":"#/components/schemas/CustomerStoreResponseSchema"},"representedStore":{"description":"Inter-store trade: the store this customer represents (the buyer). Only set when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/CustomerStoreResponseSchema"}]},"relevance":{"type":"number"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"CustomerAddressResponseSchema":{"title":"CustomerAddressResponseSchema","type":"object","required":["address","city","companyName","firstname","lastname","countryCode","email","phone","postalCode","type","customerAddressUid","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"type":"string"},"displayName":{"type":"string"}}},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"},"CustomerContactResponseSchema":{"title":"CustomerContactResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","extensions","displayName","role"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerExtensionResponseSchema":{"title":"CustomerExtensionResponseSchema","description":"CustomerExtensionResponseSchema","type":"object","required":["extensionCode","organizationUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CustomerConsentStatusSchema":{"title":"CustomerConsentStatusSchema","type":"object","required":["consentUid","name","status","source","createdAt"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"status":{"type":"boolean"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"CustomerCreditResponseSchema":{"title":"CustomerCreditResponseSchema","required":["limit","balance"],"properties":{"limit":{"type":"integer"},"balance":{"type":"integer"}},"type":"object"},"AccountManagerResponseSchema":{"title":"AccountManagerResponseSchema","type":"object","required":["tenantUserUid","displayName","userCode"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"userCode":{"type":"string"}}},"CustomerEhfResponseSchema":{"title":"CustomerEhfResponseSchema","type":"object","required":["enabled","address"],"properties":{"enabled":{"type":"boolean","description":"EHF is enabled for this customer"},"address":{"type":"string","description":"EHF address"}}},"CustomerStoreResponseSchema":{"title":"CustomerStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}},"CustomerCreditLimitSchema":{"title":"CustomerCreditLimitSchema","type":"object","required":["approved","limit","balance","remaining","maxSingleOrderValue","declineReason"],"properties":{"approved":{"type":"boolean","description":"true if credit for customer is granted"},"limit":{"type":"integer","description":"Granted credit limit"},"balance":{"type":"integer","description":"Credit balance. Current total amount of unpaid invoices"},"remaining":{"type":"integer","description":"Remaining amount of granted credit"},"maxSingleOrderValue":{"type":"integer","description":"Maximum amount for a single order"},"declineReason":{"type":"string","description":"Reason why credit is declined"}}}}}}
```

## The CustomerCreditLimitSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerCreditLimitSchema":{"title":"CustomerCreditLimitSchema","type":"object","required":["approved","limit","balance","remaining","maxSingleOrderValue","declineReason"],"properties":{"approved":{"type":"boolean","description":"true if credit for customer is granted"},"limit":{"type":"integer","description":"Granted credit limit"},"balance":{"type":"integer","description":"Credit balance. Current total amount of unpaid invoices"},"remaining":{"type":"integer","description":"Remaining amount of granted credit"},"maxSingleOrderValue":{"type":"integer","description":"Maximum amount for a single order"},"declineReason":{"type":"string","description":"Reason why credit is declined"}}}}}}
```

## The BankInfoRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BankInfoRequestSchema":{"title":"BankInfoSchema","type":"object","properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}}}}}
```

## The BankInfoResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}}}}}
```

## The ProductWarrantySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductWarrantySchema":{"title":"ProductWarranty","type":"object","required":["productWarrantyUid","name","terms","createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"terms":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantSettingsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantSettingsResponseSchema":{"title":"TenantSettings","type":"object","required":["allowExternalCashDrawer","autoLogout","autoPrintReceipt","numericSkuCounter","printCardPaymentDetails","sendInvoicesExternally","duplicateCheckCustomerPhoneNumber","duplicateCheckCustomerVatNumber","useOriginalSellerOnCreditLine","printReceiptNumber","requiredCustomerFields","requiredCompanyFields","requiredCompanyDepartmentFields","requiredContactFields","enforceStrongPin","customerContactsRequiresEmail","customerContactsEmailDuplicateCheck"],"properties":{"allowExternalCashDrawer":{"type":"boolean","default":false},"autoLogout":{"type":"integer","description":"time in seconds, 0 means not enabled"},"autoPrintReceipt":{"type":"boolean"},"numericSkuCounter":{"type":"integer"},"printCardPaymentDetails":{"type":"boolean","description":"toogle on/off payment terminal details on receipt","default":false},"sendInvoicesExternally":{"type":"boolean"},"duplicateCheckCustomerPhoneNumber":{"type":"boolean","description":"For PERSON customers: Check for unique phone number and email if true"},"duplicateCheckCustomerVatNumber":{"type":"boolean","description":"For COMPANY customers: Check for unique vat number if true"},"useOriginalSellerOnCreditLine":{"type":"boolean","description":"toogle on/off if the original seller should be used in a existing referenced order"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"},"printReceiptNumber":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer","description":"Default lifespan in days for parked orders before expiration","deprecated":true},"autoSendWelcomeSms":{"type":"boolean","deprecated":true},"autoSendWelcomeMail":{"type":"boolean","deprecated":true},"requirePinCodeForSale":{"type":"boolean","description":"description: Turn on/off PIN requirement for sale","deprecated":true},"requirePinCodeForCredit":{"type":"boolean","description":"description: Turn on/off PIN requirement for credit","deprecated":true},"requiredCustomerFields":{"type":"array","items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"}},"requiredCompanyFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredCompanyDepartmentFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"requiredContactFields":{"$ref":"#/components/schemas/NullableCustomerRequiredFieldArray"},"enforceStrongPin":{"type":"boolean","description":"For user's app PIN/password creation"},"customerContactsRequiresEmail":{"type":"boolean","description":"Indicate if the customer contacts requires email."},"customerContactsEmailDuplicateCheck":{"type":"boolean","description":"This will enable duplicate check on email\nfor contacts, so it is not possible to have two\ncontacts with the same email."}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]},"NullableCustomerRequiredFieldArray":{"title":"NullableCustomerRequiredFieldArray","type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"},"description":"Type-specific required-field override. Null means inherit requiredCustomerFields.\nAn empty array means no required fields for this type (explicit override).\n"}}}}
```

## The PaymentMethodVisibilityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodVisibilityENUM":{"title":"PaymentMethodVisibilityENUM","type":"string","enum":["FEATURED","LISTED","HIDDEN","HIDDEN_WHEN_NOT_REQUIRED"]}}}}
```

## The CampaignCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignCreateRequestSchema":{"title":"CampaignCreateRequestSchema","type":"object","required":["name","displayName","validFrom","validTo","type","storeUids"],"properties":{"name":{"type":"string"},"displayName":{"type":"string"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"$ref":"#/components/schemas/CampaignTypeENUM"},"discountType":{"$ref":"#/components/schemas/CampaignDiscountTypeENUM"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"quantityThreshold":{"type":"integer","description":"A quantity that qualifies for the campaign to apply.\n\nIf both quantity and amount are set, both criteria must be met."},"amountThreshold":{"type":"integer","description":"An amount that qualifies for the campaign to apply.\n\nIf both quantity and amount are set, both criteria must be met."},"discountAmount":{"type":"integer","description":"Discount amount given when the criteria are met."},"discountPercent":{"type":"integer","description":"Discount percent given when the criteria are met."},"maxUsage":{"type":"integer","description":"The max number of times the campaign can be applied to the order"},"pricelistUid":{"$ref":"#/components/schemas/UID"},"priority":{"type":"integer","description":"Priority for the campaign if more than one campaign applies.\nLower number = higher priority."},"campaignUid":{"$ref":"#/components/schemas/UID"},"campaignCode":{"type":"string","description":"If campaignCode is set, it means that this campaign has to be manually actived on an order via PUT on the order"},"preventCombinations":{"type":"boolean","description":"Flag to indicate that this campaign should not be combined with other campaigns.\nIf any orderlines matches this campaign and priority is set to 1, no other campaigns will be considered."},"customerGroupUid":{"$ref":"#/components/schemas/UID"}}},"CampaignTypeENUM":{"title":"CampaignTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CAMPAIGN | Normal campaign with rules set|\n| PRICELIST | A campaign that includes a pricelist. No rules applies|","enum":["CAMPAIGN","PRICELIST"],"type":"string"},"CampaignDiscountTypeENUM":{"title":"CampaignDiscountTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CHEAPEST_PRODUCT | Cheapest product will be discounted|\n| QUALIFIED_PRODUCT | All qualified products will be discounted|\n| ORDER_DISCOUNT | An order discount will be added to the order|","enum":["CHEAPEST_PRODUCT","QUALIFIED_PRODUCT","ORDER_DISCOUNT"],"type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignResponseSchema":{"title":"CampaignResponseSchema","type":"object","required":["name","status","displayName","validFrom","validTo","type","discountType","selection","quantityThreshold","amountThreshold","discountAmount","discountPercent","maxUsage","priority","pricelist","stores","campaignUid","campaignCode","preventCombinations","customerGroup"],"properties":{"name":{"type":"string"},"status":{"$ref":"#/components/schemas/CampaignStatusENUM"},"displayName":{"type":"string"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"$ref":"#/components/schemas/CampaignTypeENUM"},"discountType":{"$ref":"#/components/schemas/CampaignDiscountTypeENUM"},"selection":{"$ref":"#/components/schemas/CampaignSelectionResponseSchema"},"quantityThreshold":{"type":"integer"},"amountThreshold":{"type":"integer"},"discountAmount":{"type":"integer"},"discountPercent":{"type":"integer"},"maxUsage":{"type":"integer"},"priority":{"type":"integer"},"pricelist":{"$ref":"#/components/schemas/CampaignPricelistSchema"},"stores":{"type":"array","items":{"$ref":"#/components/schemas/CampaignStoreSchema"}},"campaignUid":{"$ref":"#/components/schemas/UID"},"campaignCode":{"type":"string"},"preventCombinations":{"type":"boolean"},"customerGroup":{"$ref":"#/components/schemas/CampaignCustomerGroupSchema"}}},"CampaignStatusENUM":{"title":"CampaignStatusENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Campaign is in a modeling state. Can be modified|\n| ACTIVE | Campaign is active, and is considered when making sales operations. Campaign can not be modified|\n| CLOSED | Campaign is closed.|","enum":["NEW","ACTIVE","CLOSED"],"type":"string"},"CampaignTypeENUM":{"title":"CampaignTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CAMPAIGN | Normal campaign with rules set|\n| PRICELIST | A campaign that includes a pricelist. No rules applies|","enum":["CAMPAIGN","PRICELIST"],"type":"string"},"CampaignDiscountTypeENUM":{"title":"CampaignDiscountTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CHEAPEST_PRODUCT | Cheapest product will be discounted|\n| QUALIFIED_PRODUCT | All qualified products will be discounted|\n| ORDER_DISCOUNT | An order discount will be added to the order|","enum":["CHEAPEST_PRODUCT","QUALIFIED_PRODUCT","ORDER_DISCOUNT"],"type":"string"},"CampaignSelectionResponseSchema":{"title":"CampaignSelectionResponseSchema","type":"object","description":"Ths section contains all selections done on a campaign","required":["include","exclude"],"properties":{"include":{"$ref":"#/components/schemas/CampaignProductSelectionResponseSchema"},"exclude":{"$ref":"#/components/schemas/CampaignProductSelectionResponseSchema"}}},"CampaignProductSelectionResponseSchema":{"title":"CampaignSelectionResponseSchema","type":"object","description":"Ths section contains all selections done on a campaign","required":["productGroups:","brands","categories","products"],"properties":{"productGroups:":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductGroupSchema"}},"brands":{"type":"array","items":{"$ref":"#/components/schemas/CampaignBrandSchema"}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CampaignCategorySchema"}},"products":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductSchema"}}}},"CampaignProductGroupSchema":{"title":"CampaignProductGroupSchema","type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all product groups included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CampaignBrandSchema":{"title":"CampaignBrandSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all brands included in a campaign"},"CampaignCategorySchema":{"title":"CampaignCategorySchema","type":"object","description":"This section contains all brands included in a campaign","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"CampaignProductSchema":{"title":"CampaignProductSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}},"description":"This section contains all individual products included or excluded in a campaign"},"CampaignPricelistSchema":{"title":"CampaignPricelistSchema","type":"object","required":["pricelistUid","name"],"properties":{"pricelistUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains the pricelist included in a campaign"},"CampaignStoreSchema":{"title":"CampaignStoreSchema","type":"object","required":["storeUid","name"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all stores included in a campaign"},"CampaignCustomerGroupSchema":{"title":"CampaignCustomerGroupSchema","type":"object","description":"This section contains all stores included in a campaign","nullable":true,"required":["customerGroupUid","name"],"properties":{"customerGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}}}}}
```

## The CampaignProductSelectionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignProductSelectionSchema":{"title":"CampaignProductSelectionSchema","type":"object","description":"This section contains all selections done on a campaign","properties":{"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignSelectionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignSelectionResponseSchema":{"title":"CampaignSelectionResponseSchema","type":"object","description":"Ths section contains all selections done on a campaign","required":["include","exclude"],"properties":{"include":{"$ref":"#/components/schemas/CampaignProductSelectionResponseSchema"},"exclude":{"$ref":"#/components/schemas/CampaignProductSelectionResponseSchema"}}},"CampaignProductSelectionResponseSchema":{"title":"CampaignSelectionResponseSchema","type":"object","description":"Ths section contains all selections done on a campaign","required":["productGroups:","brands","categories","products"],"properties":{"productGroups:":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductGroupSchema"}},"brands":{"type":"array","items":{"$ref":"#/components/schemas/CampaignBrandSchema"}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CampaignCategorySchema"}},"products":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductSchema"}}}},"CampaignProductGroupSchema":{"title":"CampaignProductGroupSchema","type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all product groups included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CampaignBrandSchema":{"title":"CampaignBrandSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all brands included in a campaign"},"CampaignCategorySchema":{"title":"CampaignCategorySchema","type":"object","description":"This section contains all brands included in a campaign","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"CampaignProductSchema":{"title":"CampaignProductSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}},"description":"This section contains all individual products included or excluded in a campaign"}}}}
```

## The CampaignProductSelectionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignProductSelectionResponseSchema":{"title":"CampaignSelectionResponseSchema","type":"object","description":"Ths section contains all selections done on a campaign","required":["productGroups:","brands","categories","products"],"properties":{"productGroups:":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductGroupSchema"}},"brands":{"type":"array","items":{"$ref":"#/components/schemas/CampaignBrandSchema"}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CampaignCategorySchema"}},"products":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProductSchema"}}}},"CampaignProductGroupSchema":{"title":"CampaignProductGroupSchema","type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all product groups included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CampaignBrandSchema":{"title":"CampaignBrandSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all brands included in a campaign"},"CampaignCategorySchema":{"title":"CampaignCategorySchema","type":"object","description":"This section contains all brands included in a campaign","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"CampaignProductSchema":{"title":"CampaignProductSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}},"description":"This section contains all individual products included or excluded in a campaign"}}}}
```

## The CampaignStoreSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignStoreSchema":{"title":"CampaignStoreSchema","type":"object","required":["storeUid","name"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all stores included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignCustomerGroupSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignCustomerGroupSchema":{"title":"CampaignCustomerGroupSchema","type":"object","description":"This section contains all stores included in a campaign","nullable":true,"required":["customerGroupUid","name"],"properties":{"customerGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignBrandSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignBrandSchema":{"title":"CampaignBrandSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all brands included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignCategorySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignCategorySchema":{"title":"CampaignCategorySchema","type":"object","description":"This section contains all brands included in a campaign","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignProductGroupSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignProductGroupSchema":{"title":"CampaignProductGroupSchema","type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains all product groups included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignProductSchema":{"title":"CampaignProductSchema","type":"object","required":["productUid","name","sku"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"}},"description":"This section contains all individual products included or excluded in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignPricelistSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignPricelistSchema":{"title":"CampaignPricelistSchema","type":"object","required":["pricelistUid","name"],"properties":{"pricelistUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"description":"This section contains the pricelist included in a campaign"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignUpdateRequestSchema":{"title":"CampaignUpdateRequestSchema","type":"object","description":"This request updates an existing campaign.\n\nIMPORTANT! The request must include all storeUids the campaign is valid for.","properties":{"name":{"type":"string"},"displayName":{"type":"string"},"status":{"$ref":"#/components/schemas/CampaignStatusENUM"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"quantityThreshold":{"type":"integer"},"amountThreshold":{"type":"integer"},"discountAmount":{"type":"integer"},"discountPercent":{"type":"integer"},"maxUsage":{"type":"integer"},"priority":{"type":"integer"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"campaignCode":{"type":"string"},"discountType":{"$ref":"#/components/schemas/CampaignDiscountTypeENUM"},"preventCombinations":{"type":"boolean"},"customerGroupUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CampaignStatusENUM":{"title":"CampaignStatusENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Campaign is in a modeling state. Can be modified|\n| ACTIVE | Campaign is active, and is considered when making sales operations. Campaign can not be modified|\n| CLOSED | Campaign is closed.|","enum":["NEW","ACTIVE","CLOSED"],"type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CampaignDiscountTypeENUM":{"title":"CampaignDiscountTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CHEAPEST_PRODUCT | Cheapest product will be discounted|\n| QUALIFIED_PRODUCT | All qualified products will be discounted|\n| ORDER_DISCOUNT | An order discount will be added to the order|","enum":["CHEAPEST_PRODUCT","QUALIFIED_PRODUCT","ORDER_DISCOUNT"],"type":"string"}}}}
```

## The CampaignProductSelectionRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignProductSelectionRequestSchema":{"title":"CampaignProductSelectionRequestSchema","type":"object","description":"This request contains a selection of product groups, brands and exact productUids to include or exclude in a campaign.\n","properties":{"include":{"$ref":"#/components/schemas/CampaignProductSelectionSchema"},"exclude":{"$ref":"#/components/schemas/CampaignProductSelectionSchema"}}},"CampaignProductSelectionSchema":{"title":"CampaignProductSelectionSchema","type":"object","description":"This section contains all selections done on a campaign","properties":{"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignSelectionRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignSelectionRequestSchema":{"title":"CampaignSelectionRequestSchema","type":"object","description":"This request has 3 sections:\n\ncreate: A selection to create in the campaign\ndelete: A selection to delete from campaign.","properties":{"create":{"$ref":"#/components/schemas/CampaignProductSelectionRequestSchema"},"delete":{"$ref":"#/components/schemas/CampaignProductSelectionRequestSchema"}}},"CampaignProductSelectionRequestSchema":{"title":"CampaignProductSelectionRequestSchema","type":"object","description":"This request contains a selection of product groups, brands and exact productUids to include or exclude in a campaign.\n","properties":{"include":{"$ref":"#/components/schemas/CampaignProductSelectionSchema"},"exclude":{"$ref":"#/components/schemas/CampaignProductSelectionSchema"}}},"CampaignProductSelectionSchema":{"title":"CampaignProductSelectionSchema","type":"object","description":"This section contains all selections done on a campaign","properties":{"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"brandUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignDiscountTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignDiscountTypeENUM":{"title":"CampaignDiscountTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CHEAPEST_PRODUCT | Cheapest product will be discounted|\n| QUALIFIED_PRODUCT | All qualified products will be discounted|\n| ORDER_DISCOUNT | An order discount will be added to the order|","enum":["CHEAPEST_PRODUCT","QUALIFIED_PRODUCT","ORDER_DISCOUNT"],"type":"string"}}}}
```

## The CampaignTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignTypeENUM":{"title":"CampaignTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CAMPAIGN | Normal campaign with rules set|\n| PRICELIST | A campaign that includes a pricelist. No rules applies|","enum":["CAMPAIGN","PRICELIST"],"type":"string"}}}}
```

## The ProductOnCampaignType object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductOnCampaignType":{"title":"ProductOnCampaignType","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| INCLUDE | Query for included products in campaign|\n| EXCLUDE | Query for excluded products in campaign|","enum":["INCLUDE","EXCLUDE"],"type":"string"}}}}
```

## The SupplierPayoutResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierPayoutResponseSchema":{"title":"SupplierPayoutResponseSchema","type":"object","required":["supplier","commissionSales","payoutsTotal","payoutsCount"],"properties":{"supplier":{"$ref":"#/components/schemas/SupplierResponseSchema"},"commissionSales":{"type":"array","items":{"$ref":"#/components/schemas/CommissionSaleResponseSchema"}},"payoutsTotal":{"type":"integer"},"payoutsCount":{"type":"integer"}}},"SupplierResponseSchema":{"title":"SupplierResponseSchema","type":"object","required":["address","city","contactEmail","contactName","countryCode","createdAt","email","externalId","lastModifiedAt","name","phone","postalCode","supplierUid","vatNumber","active","bankInfo","fixedDiscountRate","currency","freightPercentage"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"contactEmail":{"$ref":"#/components/schemas/EmailTYPE"},"contactName":{"type":"string"},"countryCode":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"active":{"type":"boolean"},"bankInfo":{"$ref":"#/components/schemas/BankInfoResponseSchema"},"fixedDiscountRate":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"freightPercentage":{"type":"integer"},"representedStoreUid":{"allOf":[{"$ref":"#/components/schemas/UID"}],"description":"Inter-store trade: the store this supplier represents (the seller). Only set when the INTER_STORE_TRADE extension is active."}}},"EmailTYPE":{"title":"Email","type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"BankInfoResponseSchema":{"title":"BankInfoResponseSchema","type":"object","required":["accountNumber","bankName","iban","swift","giroAccountNumber"],"properties":{"accountNumber":{"type":"string"},"bankName":{"type":"string"},"iban":{"type":"string"},"swift":{"type":"string"},"giroAccountNumber":{"type":"string","description":"National giro/payment-slip creditor account tied to the bank account, e.g. the Danish FIK creditor number (8 digits). Used to emit a giro payment block (FIK) on electronic invoices."}}},"CommissionSaleResponseSchema":{"title":"CommissionSaleResponseSchema","type":"object","required":["payoutAmount","paidAt","paid","commissionPercentage","commissionAmount","salesPrice","productSku","productName","orderNumber","orderSettledAt","commissionUid","orderProductLineUid","orderUid"],"properties":{"payoutAmount":{"type":"integer"},"paidAt":{"type":"string","format":"date-time"},"paid":{"type":"boolean"},"commissionPercentage":{"type":"integer"},"commissionAmount":{"type":"integer"},"salesPrice":{"type":"integer","description":"copy of LineTotal from OrderProductLine"},"productSku":{"type":"string"},"productName":{"type":"string"},"orderNumber":{"type":"string","description":"reference to the sales order"},"orderSettledAt":{"type":"string","format":"date-time"},"commissionUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The SupplierPayoutUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierPayoutUpdateRequestSchema":{"title":"SupplierPayoutUpdateRequestSchema","type":"object","required":["commissionUids","paid"],"properties":{"commissionUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"paid":{"type":"boolean"},"paidAt":{"type":"string","format":"date-time","description":"default is `now`"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SupplierPayoutScopeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierPayoutScopeENUM":{"title":"SupplierPayoutFilterENUM","type":"string","enum":["STOCK_ONLY","PROVISION_ONLY"]}}}}
```

## The SupplierPayoutListRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SupplierPayoutListRequestSchema":{"title":"SupplierPayoutListRequestSchema","type":"object","required":["fromDate","toDate"],"properties":{"fromDate":{"type":"string","format":"date","description":"GTE"},"toDate":{"type":"string","format":"date","description":"LTE"},"paid":{"type":"boolean","description":"filter on paid/not paid"},"supplierUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"scope":{"$ref":"#/components/schemas/SupplierPayoutScopeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SupplierPayoutScopeENUM":{"title":"SupplierPayoutFilterENUM","type":"string","enum":["STOCK_ONLY","PROVISION_ONLY"]}}}}
```

## The CommissionSaleResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CommissionSaleResponseSchema":{"title":"CommissionSaleResponseSchema","type":"object","required":["payoutAmount","paidAt","paid","commissionPercentage","commissionAmount","salesPrice","productSku","productName","orderNumber","orderSettledAt","commissionUid","orderProductLineUid","orderUid"],"properties":{"payoutAmount":{"type":"integer"},"paidAt":{"type":"string","format":"date-time"},"paid":{"type":"boolean"},"commissionPercentage":{"type":"integer"},"commissionAmount":{"type":"integer"},"salesPrice":{"type":"integer","description":"copy of LineTotal from OrderProductLine"},"productSku":{"type":"string"},"productName":{"type":"string"},"orderNumber":{"type":"string","description":"reference to the sales order"},"orderSettledAt":{"type":"string","format":"date-time"},"commissionUid":{"$ref":"#/components/schemas/UID"},"orderProductLineUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CampaignStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignStatusENUM":{"title":"CampaignStatusENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Campaign is in a modeling state. Can be modified|\n| ACTIVE | Campaign is active, and is considered when making sales operations. Campaign can not be modified|\n| CLOSED | Campaign is closed.|","enum":["NEW","ACTIVE","CLOSED"],"type":"string"}}}}
```

## The EntityTimestampResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"EntityTimestampResponseSchema":{"title":"EntityTimestampResponseSchema","type":"object","required":["store","warehouse","warehouseAccess","brand","productProperty","productPropertyOption","deliveryProvider","deliveryMethod","timeslot","handling","handlingAction","serviceType","serviceStatus","hourlyRate","organization"],"properties":{"store":{"type":"string","format":"date-time"},"warehouse":{"type":"string","format":"date-time"},"warehouseAccess":{"type":"string","format":"date-time"},"brand":{"type":"string","format":"date-time"},"productProperty":{"type":"string","format":"date-time"},"productPropertyOption":{"type":"string","format":"date-time"},"deliveryProvider":{"type":"string","format":"date-time"},"deliveryMethod":{"type":"string","format":"date-time"},"timeslot":{"type":"string","format":"date-time"},"handling":{"type":"string","format":"date-time"},"handlingAction":{"type":"string","format":"date-time"},"serviceType":{"type":"string","format":"date-time"},"serviceStatus":{"type":"string","format":"date-time"},"hourlyRate":{"type":"string","format":"date-time"},"organization":{"type":"string","format":"date-time"}}}}}}
```

## The PaymentResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentResponseSchema":{"title":"PaymentResponseSchema","type":"object","required":["paymentUid","amount","paidAt","externalReference","paymentSettlementUid","orderReceiptUid","createdAt","createdBy"],"properties":{"paymentUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"paidAt":{"type":"string","format":"date-time"},"externalReference":{"type":"string"},"paymentSettlementUid":{"$ref":"#/components/schemas/OptionalUID"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PaymentSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentSearchRequestSchema":{"title":"PaymentSearchRequestSchema","type":"object","description":"Filters for the payment search. Every field is optional, and an empty object\nreturns every payment in the organization.","properties":{"createdAt":{"$ref":"#/components/schemas/DateTimeRangeSchema"},"paidAt":{"$ref":"#/components/schemas/DateTimeRangeSchema"},"createdBy":{"type":"array","description":"Display names of the users who registered the payments, matched\nexactly. This is a snapshot taken when the payment was registered,\nso it does not follow a later rename of the user.","items":{"type":"string"}},"storeUids":{"type":"array","description":"The stores that issued the invoices, not the store where a payment was taken.","items":{"$ref":"#/components/schemas/UID"}}}},"DateTimeRangeSchema":{"title":"DateTimeRangeSchema","type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PaymentSearchResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentSearchResponseSchema":{"title":"PaymentSearchResponseSchema","type":"object","required":["paymentUid","amount","externalReference","createdAt","createdBy","orderUid","settlementUid","invoiceNumber","settlementAmount","settlementPaidAmount","remainingAmount","storeUid","storeName","storeExternalId","customerUid","customerName"],"properties":{"paymentUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer","description":"The amount registered by this payment."},"paidAt":{"type":"string","format":"date-time","description":"Value date supplied by the payer or bank file. Absent when none was given."},"externalReference":{"type":"string"},"createdAt":{"type":"string","format":"date-time","description":"When the payment was registered in Flow."},"createdBy":{"type":"string","description":"Display name of the user who registered the payment."},"orderUid":{"$ref":"#/components/schemas/UID"},"settlementUid":{"$ref":"#/components/schemas/UID"},"invoiceNumber":{"type":"string"},"settlementAmount":{"type":"integer","description":"The full invoice amount."},"settlementPaidAmount":{"type":"integer","description":"Sum of all payments registered on the invoice, as of now."},"remainingAmount":{"type":"integer","description":"settlementAmount minus settlementPaidAmount, as of now — not as of this\npayment. Credit notes are not deducted, so a credited invoice reads high."},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"storeExternalId":{"type":"string","description":"The store's external id, the closest equivalent to a department number. Empty when the store has none."},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerName":{"type":"string","description":"Customer name as it was on the invoice."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PaymentBatchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentBatchRequestSchema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PaymentBatchSchema"}}}},"PaymentBatchSchema":{"title":"PaymentBatchSchema","type":"object","required":["storeUid","orderUid","settlementUid","amount"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"},"settlementUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"paidAt":{"type":"string","format":"date-time"},"externalReference":{"type":"string"},"paymentUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PaymentBatchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentBatchSchema":{"title":"PaymentBatchSchema","type":"object","required":["storeUid","orderUid","settlementUid","amount"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"},"settlementUid":{"$ref":"#/components/schemas/UID"},"amount":{"type":"integer"},"paidAt":{"type":"string","format":"date-time"},"externalReference":{"type":"string"},"paymentUid":{"$ref":"#/components/schemas/OptionalUID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The SettlementAdditionalDetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SettlementAdditionalDetailsSchema":{"title":"SettlementAdditionalDetailsSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}}}}}
```

## The AssociatedOrderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssociatedOrderSchema":{"title":"AssociatedOrderSchema","type":"object","required":["orderUid","orderNumber","settleState","voucherNumber","storeUid","storeName","orderItems"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"voucherNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"orderItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"}}}}
```

## The LabelENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LabelENUM":{"type":"string","title":"LabelENUM","enum":["40X50_BARCODE_NAME_SKU","40X50_BARCODE_NAME_SKU_PRICE","40X27_BARCODE_NAME_SKU","40X27_BARCODE_NAME_SKU_PRICE","51X25_BARCODE_NAME_SKU","51X25_BARCODE_NAME_SKU_PRICE","36X20_BARCODE_NAME_SKU","36X20_BARCODE_NAME_SKU_PRICE"]}}}}
```

## The LabelResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LabelResponseSchema":{"title":"LabelResponseSchema","type":"object","required":["key","name","size"],"properties":{"key":{"$ref":"#/components/schemas/LabelENUM"},"name":{"type":"string"},"size":{"$ref":"#/components/schemas/LabelSizeENUM"}}},"LabelENUM":{"type":"string","title":"LabelENUM","enum":["40X50_BARCODE_NAME_SKU","40X50_BARCODE_NAME_SKU_PRICE","40X27_BARCODE_NAME_SKU","40X27_BARCODE_NAME_SKU_PRICE","51X25_BARCODE_NAME_SKU","51X25_BARCODE_NAME_SKU_PRICE","36X20_BARCODE_NAME_SKU","36X20_BARCODE_NAME_SKU_PRICE"]},"LabelSizeENUM":{"type":"string","title":"LabelSizeENUM","enum":["40x50","40x27","36x20","51x25"]}}}}
```

## The LabelSizeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LabelSizeENUM":{"type":"string","title":"LabelSizeENUM","enum":["40x50","40x27","36x20","51x25"]}}}}
```

## The AvailableExtensionParameterSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AvailableExtensionParameterSchema":{"title":"AvailableExtensionParameterSchema","type":"object","required":["key","type","required"],"properties":{"key":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtensionParameterDataTypeENUM"},"required":{"type":"boolean"}}},"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."}}}}
```

## The ExtensionParameterDataTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."}}}}
```

## The ProductVisibilityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]}}}}
```

## The CurrencyDenominationsMetadataSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CurrencyDenominationsMetadataSchema":{"title":"CurrencyDenominationsSchema","type":"object","required":["coins","notes"],"properties":{"coins":{"type":"array","items":{"type":"string"}},"notes":{"type":"array","items":{"type":"string"}}}}}}}
```

## The ProductPackageSlotResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPackageSlotResponseSchema":{"title":"ProductPackageSlotResponseSchema","allOf":[{"type":"object","required":["productPackageSlotUid","name","position","minComponentsAllowed","maxComponentsAllowed","normPrice","components"],"properties":{"productPackageSlotUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"position":{"type":"integer"},"minComponentsAllowed":{"type":"integer"},"maxComponentsAllowed":{"type":"integer"},"normPrice":{"type":"integer"},"components":{"type":"array","items":{"$ref":"#/components/schemas/ProductPackageComponentSchema"}}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductPackageComponentSchema":{"title":"ProductPackageComponentSchema","allOf":[{"type":"object","required":["productPackageComponentUid","product","position","quantity","specialPrice","required"],"properties":{"productPackageComponentUid":{"$ref":"#/components/schemas/UID"},"product":{"$ref":"#/components/schemas/ProductPackageComponentProductSchema"},"position":{"type":"integer"},"quantity":{"type":"integer"},"specialPrice":{"type":"integer","nullable":true},"required":{"type":"boolean"},"availableStock":{"type":"integer","deprecated":true}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"ProductPackageComponentProductSchema":{"title":"ProductPackageComponentProductSchema","type":"object","required":["productUid","name","sku","brand","description"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"},"brand":{"type":"string"},"description":{"type":"string"}}},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The CreatedModifiedSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The ProductPackageComponentSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPackageComponentSchema":{"title":"ProductPackageComponentSchema","allOf":[{"type":"object","required":["productPackageComponentUid","product","position","quantity","specialPrice","required"],"properties":{"productPackageComponentUid":{"$ref":"#/components/schemas/UID"},"product":{"$ref":"#/components/schemas/ProductPackageComponentProductSchema"},"position":{"type":"integer"},"quantity":{"type":"integer"},"specialPrice":{"type":"integer","nullable":true},"required":{"type":"boolean"},"availableStock":{"type":"integer","deprecated":true}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductPackageComponentProductSchema":{"title":"ProductPackageComponentProductSchema","type":"object","required":["productUid","name","sku","brand","description"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"},"brand":{"type":"string"},"description":{"type":"string"}}},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The ProductPackageComponentProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPackageComponentProductSchema":{"title":"ProductPackageComponentProductSchema","type":"object","required":["productUid","name","sku","brand","description"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"sku":{"type":"string"},"brand":{"type":"string"},"description":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ArtSupplierReportRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ArtSupplierReportRequestSchema":{"title":"ArtSupplierReportRequestSchema","type":"object","required":["fromDate","toDate","supplierUids","sendEmailToSupplier","productGroupUids"],"properties":{"fromDate":{"type":"string","format":"date"},"toDate":{"type":"string","format":"date"},"supplierUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"sendEmailToSupplier":{"type":"boolean"},"productGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"showDiff":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CustomerCreditSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerCreditSchema":{"title":"CustomerCreditSchema","type":"object","properties":{"limit":{"type":"integer","description":"Limit 0 = No limit set for customer"}}}}}}
```

## The CustomerCreditResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerCreditResponseSchema":{"title":"CustomerCreditResponseSchema","required":["limit","balance"],"properties":{"limit":{"type":"integer"},"balance":{"type":"integer"}},"type":"object"}}}}
```

## The CustomerEhfSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerEhfSchema":{"title":"CustomerEhfSchema","type":"object","properties":{"enabled":{"type":"boolean","description":"Enable EHF for this customer"},"address":{"type":"string","description":"The EHF address"}}}}}}
```

## The CustomerEhfResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerEhfResponseSchema":{"title":"CustomerEhfResponseSchema","type":"object","required":["enabled","address"],"properties":{"enabled":{"type":"boolean","description":"EHF is enabled for this customer"},"address":{"type":"string","description":"EHF address"}}}}}}
```

## The AccountManagerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountManagerResponseSchema":{"title":"AccountManagerResponseSchema","type":"object","required":["tenantUserUid","displayName","userCode"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"userCode":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The AccountManagerRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountManagerRequestSchema":{"title":"AccountManagerRequestSchema","type":"object","required":["tenantUserUid"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The OrderAdditionalNoteResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderAdditionalNoteResponseSchema":{"title":"OrderAdditionalNoteResponseSchema","allOf":[{"required":["orderAdditionalNoteUid","note","tenantUserUid","tenantUserDisplayName","notifications"],"properties":{"orderAdditionalNoteUid":{"$ref":"#/components/schemas/UID"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/ServiceEventNotificationResponseSchema"}}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}],"type":"object"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ServiceEventNotificationResponseSchema":{"title":"ServiceEventNotificationResponseSchema","type":"object","required":["notificationUid","type","state","recipient"],"properties":{"notificationUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/MessageTypeENUM"},"state":{"$ref":"#/components/schemas/NotificationStateENUM"},"recipient":{"type":"string"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]},"NotificationStateENUM":{"title":"NotificationStateENUM","type":"string","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","FAILED"]},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The SimpleNotificationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SimpleNotificationRequestSchema":{"title":"SimpleNotificationRequestSchema","type":"object","required":["recipient","type"],"properties":{"recipient":{"type":"string"},"type":{"$ref":"#/components/schemas/MessageTypeENUM"}}},"MessageTypeENUM":{"title":"MessageTypeENUM","type":"string","enum":["EMAIL","SMS"]}}}}
```

## The TenantAppSettingsResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantAppSettingsResponseSchema":{"title":"TenantAppSettingsResponseSchema","type":"object","required":["showOutOfStockWarning","defaultParkedOrderLifespanDays","requirePinCodeForSale","requirePinCodeForCredit","autoSendWelcomeSms","autoSendWelcomeMail","defaultCustomerGroupUid"],"properties":{"showOutOfStockWarning":{"type":"boolean"},"defaultParkedOrderLifespanDays":{"type":"integer"},"requirePinCodeForSale":{"type":"boolean"},"requirePinCodeForCredit":{"type":"boolean"},"autoSendWelcomeSms":{"type":"boolean"},"autoSendWelcomeMail":{"type":"boolean"},"defaultCustomerGroupUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The PurchaseOrderCurrencySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderCurrencySchema":{"title":"PurchaseOrderCurrencySchema","type":"object","required":["code","exchangeRate"],"properties":{"code":{"type":"string","description":"ISO 4217"},"exchangeRate":{"type":"integer"}}}}}}
```

## The DeprecatedPurchaseOrderItemCurrencySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedPurchaseOrderItemCurrencySchema":{"title":"DeprecatedPurchaseOrderItemCurrencySchema","type":"object","deprecated":true,"required":["unitPrice","discountAmount","freightAmount","totalLinePrice"],"properties":{"unitPrice":{"type":"integer"},"discountAmount":{"type":"integer"},"freightAmount":{"type":"integer"},"totalLinePrice":{"type":"integer"}}}}}}
```

## The PurchaseOrderItemCurrencySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemCurrencySchema":{"title":"PurchaseOrderItemCurrencySchema","type":"object","description":"All prices is in the local tenant currency","required":["unitPrice","discountAmount","freightAmount","unitCost","totalLinePrice"],"properties":{"unitPrice":{"type":"integer","description":"unitPrice is in local currency before discount"},"discountAmount":{"type":"integer","description":"The discount amount pr unit"},"freightAmount":{"type":"integer","description":"The portion of the shipping cost for this purchase order line."},"unitCost":{"type":"integer","description":"The price pr unit including discount and freight. This is what will be used as cost price during receivement."},"totalLinePrice":{"type":"integer","description":"Total price for all the items including discounts and freight amount."}}}}}}
```

## The DeliveryProviderSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderSearchSchema":{"title":"DeliveryProviderSearchSchema","type":"object","required":["uid"],"properties":{"uid":{"$ref":"#/components/schemas/UID"},"deliveryProviderMethodUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreVisitorResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreVisitorResponseSchema":{"title":"StoreVisitorResponseSchema","type":"object","required":["storeVisitorUid","storeUid","dateTime","visitorCount"],"properties":{"storeVisitorUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"dateTime":{"type":"string","format":"date-time"},"visitorCount":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreVisitorRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreVisitorRequestSchema":{"title":"StoreVisitorRequestSchema","type":"object","required":["fromDateTime","toDateTime","storeUids"],"properties":{"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CompensationUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationUpdateRequestSchema":{"title":"CompensationUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"RequireReferringOrderLines":{"type":"boolean","description":"When an order is marked with a compensation with this field set to true, the order must have order lines referring to a settled sale"}}}}}}
```

## The CompensationCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationCreateRequestSchema":{"title":"CompensationCreateRequestSchema","type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"compensationUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CompensationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationResponseSchema":{"title":"CompensationResponseSchema","type":"object","required":["name","code","compensationUid"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"compensationUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CompensationReasonUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationReasonUpdateRequestSchema":{"title":"CompensationReasonUpdateRequestSchema","type":"object","description":"productUid refers to the product that is added to an order when this compensation reason is added to the order.\nlimit is the amount of total compensations on an order. Returns a warning if limit is exceeded.\n","properties":{"reason":{"type":"string"},"code":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"limit":{"type":"integer"},"requireDocumentation":{"type":"boolean"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The CompensationReasonCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationReasonCreateRequestSchema":{"title":"CompensationReasonCreateRequestSchema","type":"object","description":"productUid refers to the product that is added to an order when this compensation reason is added to the order.\nlimit is the amount of total compensations on an order. Returns a warning if limit is exceeded.\n","required":["reason","code","productUid","limit","requireDocumentation"],"properties":{"reason":{"type":"string"},"code":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"limit":{"type":"integer"},"requireDocumentation":{"type":"boolean"},"compensationReasonUid":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The CompensationReasonResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CompensationReasonResponseSchema":{"title":"CompensationReasonResponseSchema","type":"object","description":"productUid refers to the product that is added to an order when this compensation reason is added to the order.\nlimit is the amount of total compensations on an order. Returns a warning if limit is exceeded.\n","required":["reason","code","productUid","limit","requireDocumentation","compensationReasonUid"],"properties":{"reason":{"type":"string"},"code":{"type":"string"},"productUid":{"$ref":"#/components/schemas/OptionalUID"},"limit":{"type":"integer"},"requireDocumentation":{"type":"boolean"},"compensationReasonUid":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ExternalReportUrlResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalReportUrlResponseSchema":{"title":"ExternalReportUrlResponseSchema","type":"object","required":["name","url"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}}}}
```

## The RMAOrderCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderCreateRequestSchema":{"title":"RMAOrderCreateRequestSchema","type":"object","required":["storeUid","supplierUid"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"supplierUid":{"$ref":"#/components/schemas/UID"},"note":{"type":"string"},"supplierReference":{"type":"string"},"ourReference":{"type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"rmaOrderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The RMAOrderUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderUpdateRequestSchema":{"title":"RMAOrderUpdateRequestSchema","type":"object","properties":{"note":{"type":"string"},"supplierReference":{"type":"string"},"ourReference":{"type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"status":{"$ref":"#/components/schemas/RMAOrderStatusRequestENUM"}}},"RMAOrderStatusRequestENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | RMA Order is created |\n| WAITING_FOR_APPROVAL | RMA Order request is sent to supplier and awaiting approval|\n| DECLINED_BY_SUPPLIER | RMA Order request have been declined by supplier|\n| SENT_TO_SUPPLIER | Items have been physically sent back to supplier|","enum":["NEW","WAITING_FOR_APPROVAL","DECLINED_BY_SUPPLIER","SENT_TO_SUPPLIER","COMPLETE"],"title":"RMAOrderStatusRequestENUM","type":"string"}}}}
```

## The RMAOrderItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderItemResponseSchema":{"title":"RMAOrderItemResponseSchema","type":"object","required":["requestedQuantity","productUid","sku","name","supplierSku","serialNumber","requestedUnitPrice","requestedLinePrice","note","warehouseUid","createdAt","lastModifiedAt","createdBy","lastModifiedBy","rmaOrderItemUid","serviceOrderUid","customerUid","customerName","originalPurchaseNumber","supplierReferenceNumber"],"properties":{"requestedQuantity":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"name":{"type":"string"},"supplierSku":{"type":"string"},"serialNumber":{"type":"string"},"requestedUnitPrice":{"type":"integer"},"requestedLinePrice":{"type":"integer"},"note":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedBy":{"type":"string"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerName":{"type":"string"},"originalPurchaseNumber":{"type":"string"},"supplierReferenceNumber":{"type":"string","description":"from the original purchase order"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The RMAOrderItemCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderItemCreateRequestSchema":{"title":"RMAOrderItemCreateRequestSchema","type":"object","required":["requestedQuantity","requestedUnitPrice","productUid"],"properties":{"requestedQuantity":{"type":"integer"},"requestedUnitPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"serialNumber":{"type":"string"},"note":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"},"originalPurchaseNumber":{"type":"string"},"supplierReferenceNumber":{"type":"string","description":"from the original purchase order"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The RMAOrderResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderResponseSchema":{"title":"RMAOrderResponseSchema","type":"object","required":["note","storeUid","storeName","supplierUid","supplierName","supplierReference","ourReference","reason","status","rmaNumber","items","createdAt","lastModifiedAt","createdBy","lastModifiedBy","sentToSupplierAt","rmaOrderUid"],"properties":{"note":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierName":{"type":"string"},"supplierReference":{"type":"string"},"ourReference":{"type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"status":{"$ref":"#/components/schemas/RMAOrderStatusResponseENUM"},"rmaNumber":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/RMAOrderItemResponseSchema"}},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedBy":{"type":"string"},"sentToSupplierAt":{"type":"string","nullable":true},"rmaOrderUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"RMAOrderStatusResponseENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | RMA Order is created |\n| WAITING_FOR_APPROVAL | RMA Order request is sent to supplier and awaiting approval|\n| DECLINED_BY_SUPPLIER | RMA Order request have been declined by supplier|\n| SENT_TO_SUPPLIER | Items have been physically sent back to supplier|\n| COMPLETE | Item stock has been adjusted |","enum":["NEW","WAITING_FOR_APPROVAL","DECLINED_BY_SUPPLIER","SENT_TO_SUPPLIER","COMPLETE"],"title":"RMAOrderStatusResponseENUM","type":"string"},"RMAOrderItemResponseSchema":{"title":"RMAOrderItemResponseSchema","type":"object","required":["requestedQuantity","productUid","sku","name","supplierSku","serialNumber","requestedUnitPrice","requestedLinePrice","note","warehouseUid","createdAt","lastModifiedAt","createdBy","lastModifiedBy","rmaOrderItemUid","serviceOrderUid","customerUid","customerName","originalPurchaseNumber","supplierReferenceNumber"],"properties":{"requestedQuantity":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"name":{"type":"string"},"supplierSku":{"type":"string"},"serialNumber":{"type":"string"},"requestedUnitPrice":{"type":"integer"},"requestedLinePrice":{"type":"integer"},"note":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedBy":{"type":"string"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/OptionalUID"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"customerName":{"type":"string"},"originalPurchaseNumber":{"type":"string"},"supplierReferenceNumber":{"type":"string","description":"from the original purchase order"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The RMAOrderItemUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"RMAOrderItemUpdateRequestSchema":{"title":"RMAOrderItemUpdateRequestSchema","type":"object","properties":{"requestedQuantity":{"type":"integer"},"requestedUnitPrice":{"type":"integer"},"serialNumber":{"type":"string"},"note":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"originalPurchaseNumber":{"type":"string"},"supplierReferenceNumber":{"type":"string","description":"from the original purchase order"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The AssetCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssetCreateRequestSchema":{"title":"AssetCreateRequestSchema","type":"object","required":["name","category"],"properties":{"name":{"type":"string"},"category":{"$ref":"#/components/schemas/AssetCategoryENUM"},"description":{"type":"string"},"isPublic":{"type":"boolean","default":false},"url":{"type":"string","description":"for self-hosted asset"},"assetUid":{"$ref":"#/components/schemas/OptionalUID"},"serviceOrderUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"AssetCategoryENUM":{"title":"AssetCategoryENUM","enum":["BRANDING","SERVICE","REPORT","OTHER"],"type":"string"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AssetUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssetUpdateRequestSchema":{"title":"AssetUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"category":{"$ref":"#/components/schemas/AssetCategoryENUM"},"description":{"type":"string"},"isPublic":{"type":"boolean"},"url":{"type":"string","description":"for self-hosted asset"},"serviceOrderUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"AssetCategoryENUM":{"title":"AssetCategoryENUM","enum":["BRANDING","SERVICE","REPORT","OTHER"],"type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AssetUrlSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssetUrlSchema":{"title":"AssetUrlSchema","type":"object","required":["url","assetUid"],"properties":{"url":{"type":"string"},"assetUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantAssetSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantAssetSchema":{"title":"TenantAssetSchema","type":"object","required":["logo","splash"],"properties":{"logo":{"$ref":"#/components/schemas/AssetUrlSchema"},"splash":{"$ref":"#/components/schemas/AssetUrlSchema"}}},"AssetUrlSchema":{"title":"AssetUrlSchema","type":"object","required":["url","assetUid"],"properties":{"url":{"type":"string"},"assetUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The GeneralParameterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"}}}}
```

## The GeneralParameterTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"}}}}
```

## The GiftcardExtensionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GiftcardExtensionENUM":{"title":"GiftcardExtensionENUM","type":"string","enum":["FLOWGIFTCARD","STORE_CREDIT","PAYEX_GIFTCARD"]}}}}
```

## The ReceiptResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptResponseSchema":{"title":"ReceiptResponseSchema","type":"object","required":["storeUid","orderUid","orderReceiptUid","settleState","orderReceiptState","voucherNumber","externalVoucherNumber","sellerDisplayName","settledAt","deliveryState","grandTotal","settlementTotals","settlements","items","address","customerUid","note"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"orderUid":{"$ref":"#/components/schemas/UID"},"orderReceiptUid":{"$ref":"#/components/schemas/UID"},"settleState":{"$ref":"#/components/schemas/ReceiptStateENUM"},"orderReceiptState":{"$ref":"#/components/schemas/OrderReceiptStateENUM"},"tasks":{"type":"array","description":"Post-settlement tasks on the receipt in simplified form (type and status). Populated on the single-receipt details endpoint and when listing receipts on an order, not in search results.","items":{"$ref":"#/components/schemas/BasicOrderReceiptTaskSchema"}},"voucherNumber":{"type":"string"},"externalVoucherNumber":{"type":"string","deprecated":true},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/ExternalIdSchema"}},"sellerDisplayName":{"type":"string"},"settledAt":{"type":"string","format":"date-time"},"deliveryState":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"},"grandTotal":{"type":"integer"},"settlementTotals":{"$ref":"#/components/schemas/OrderSettlementTotalsSchema"},"settlements":{"type":"array","items":{"$ref":"#/components/schemas/SettlementResponseSchema"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemResponseSchema"}},"address":{"$ref":"#/components/schemas/OrderAddressResponseSchema"},"customerUid":{"$ref":"#/components/schemas/OptionalUID"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ReceiptStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Receipt not started. No complete settlements exists.|\n| IN_PROGRESS | Receipt is in progress. At least one settlement has been started.|\n| COMPLETE | Receipt is complete. Sum of settlements = sum of orderlines.|\n| CANCELED | Receipt is canceled. Can only be done if receiptState = NOT_STARTED. |","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"ReceiptStateENUM","type":"string"},"OrderReceiptStateENUM":{"description":"Rollup of the receipt's post-settlement tasks (gift card capture, digital\nproduct activation, loyalty, receipt printing, etc.).\n|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | No post-settlement tasks created yet.|\n| IN_PROGRESS | Tasks are still running; the receipt is not yet printable.|\n| READY | All critical tasks are done — the receipt is printable; non-critical tasks may still be running.|\n| COMPLETE | All tasks are done.|\n| FAILED | A critical task failed and needs attention.|","enum":["NOT_STARTED","IN_PROGRESS","READY","COMPLETE","FAILED"],"title":"OrderReceiptStateENUM","type":"string"},"BasicOrderReceiptTaskSchema":{"description":"A post-settlement task on a receipt in simplified form (type and status).","title":"BasicOrderReceiptTaskSchema","type":"object","required":["taskType","status"],"properties":{"taskType":{"$ref":"#/components/schemas/OrderReceiptTaskTypeENUM"},"status":{"$ref":"#/components/schemas/OrderReceiptTaskStatusENUM"}}},"OrderReceiptTaskTypeENUM":{"description":"The kind of post-settlement task. Mirrors the TaskType values in core.","enum":["LOYALTY_POINTS_SYNC","LOYALTY_POINTS_LINES","FLOWGIFTCARD_CAPTURE","FLOWGIFTCARD_DEPOSIT","BRITANNIA_GIFTCARD_CAPTURE","PAYEX_GIFTCARD_DEPOSIT","DIGITAL_PRODUCT_ACTIVATION","WAREHOUSE_STOCK_UPDATE","PRINT_RECEIPT","LOYALTY_DISCOUNT_SYNC","EHF_INVOICE_SEND"],"title":"OrderReceiptTaskTypeENUM","type":"string"},"OrderReceiptTaskStatusENUM":{"description":"Status of a single post-settlement task.","enum":["PENDING","IN_PROGRESS","COMPLETE","FAILED","SKIPPED"],"title":"OrderReceiptTaskStatusENUM","type":"string"},"ExternalIdSchema":{"type":"object","title":"ExternalIdSchema","required":["key","value","visibility"],"properties":{"key":{"type":"string","description":"Stable identifier, e.g. sap_order_number"},"label":{"type":"string","description":"Display label, e.g. SAP ordrenummer"},"value":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ExternalIdVisibilityENUM"}}},"ExternalIdVisibilityENUM":{"type":"string","enum":["INTERNAL","EXTERNAL"],"title":"ExternalIdVisibilityENUM"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderSettlementTotalsSchema":{"title":"OrderSettlementTotalsSchema","type":"object","required":["change","remaining","remainingRounded","totals","remainingPrePayment","remainingAuthorizedAmount"],"properties":{"change":{"description":"Total change amount returned to customer.","type":"integer"},"remaining":{"type":"integer","description":"Remaining amount to be paid "},"remainingRounded":{"description":"Rounded value of remaining amount. For use with CASH","type":"integer"},"totals":{"type":"integer","description":"Sum of all approved settlements"},"remainingPrePayment":{"type":"integer"},"remainingAuthorizedAmount":{"type":"integer","description":"Authorized amount available for capture."}}},"SettlementResponseSchema":{"title":"SettlementResponseSchema","type":"object","required":["amount","createdAt","displayMessages","externalId","externalPaymentReference","idMethod","lastModifiedAt","parameters","settlementCode","settlementUid","settlementName","state","status","storeSettlementIssuer","tenantUserDisplayName","tenantUserUid","storePaymentMethodUid","currency","additionalDetails","creditCount","creditAmount","paymentCount","paymentAmount","storeUid","storeName","orderReceiptUid","transactions","receiptText","allowedActions"],"properties":{"amount":{"type":"integer"},"createdAt":{"format":"date-time","type":"string"},"displayMessages":{"type":"array","items":{"$ref":"#/components/schemas/SettlementDisplayMessageSchema"}},"externalId":{"type":"string"},"externalPaymentReference":{"type":"string","description":"The external payment reference for this settlement.\nFor invoices, this could contain the KID"},"idMethod":{"$ref":"#/components/schemas/SettlementIdMethodENUM"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"ledgerType":{"$ref":"#/components/schemas/LedgerTypeENUM"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/SettlementParameterResponseSchema"}},"settledAt":{"format":"date-time","type":"string"},"settlementCode":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementName":{"type":"string"},"state":{"$ref":"#/components/schemas/SettlementStateENUM"},"status":{"$ref":"#/components/schemas/SettlementStatusENUM"},"storeSettlementIssuer":{"$ref":"#/components/schemas/storeSettlementIssuerSchema"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"storePaymentMethodUid":{"$ref":"#/components/schemas/UID"},"currency":{"$ref":"#/components/schemas/SettlementCurrencySchema"},"additionalDetails":{"type":"array","items":{"$ref":"#/components/schemas/SettlementAdditionalDetailsSchema"}},"creditCount":{"type":"integer","description":"Number of credits on this settlement. Only applicable for invoice"},"creditAmount":{"type":"integer","description":"The total amount credited. Only applicable for invoice"},"paymentCount":{"type":"integer","description":"Number of payments on this settlement. Only applicable for invoice"},"paymentAmount":{"type":"integer","description":"The total amount of payments. Only applicable for invoice"},"tillUid":{"$ref":"#/components/schemas/OptionalUID"},"tillName":{"type":"string","description":"Display name of the till where the payment was registered."},"tillNumber":{"type":"integer","description":"Till register number where the payment was registered."},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"storeName":{"type":"string","description":"Display name of the store where the payment was registered."},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"authorizedAmount":{"type":"integer","description":"The total authorized amount on this settlement, calculated from authorize transactions."},"capturedAmount":{"type":"integer","description":"The total captured amount on this settlement, calculated from capture transactions."},"refundedAmount":{"type":"integer","description":"The total refunded amount on this settlement, calculated from refund transactions."},"receiptText":{"type":"string","maxLength":500,"description":"Text printed on the receipt for this payment method when configured on the tenant payment method. Empty when not set, when suppressed for this settlement type (e.g. store credit, gift cards), or when cleared."},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/SettlementTransactionSchema"}},"allowedActions":{"description":"What can be done with this settlement. Judged from the settlement alone, so a cancellation offered here can still be turned down by the rules on the order or the receipt.","type":"array","items":{"$ref":"#/components/schemas/AllowedSettlementActionENUM"}}}},"SettlementDisplayMessageSchema":{"description":"Settlement display messages","properties":{"key":{"type":"string"},"message":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}},"required":["key","message","timestamp"],"title":"SettlementDisplayMessageSchema","type":"object"},"SettlementIdMethodENUM":{"enum":["NO_CVM_RULE_PERFORMED","SIGNATURE","PIN_ONLINE","PIN_OFFLINE","PIN_ONLINE_AND_SIGNATURE","PIN_OFFLINE_AND_SIGNATURE","NO_CVM","FAILED","ON_DEVICE","REFUND"],"title":"SettlementIdMethodENUM","type":"string"},"LedgerTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n|LEDGER | Ledger |\n|GENERAL_LEDGER | General ledger |\n|CUSTOMER_LEDGER | Customer ledger |","enum":["LEDGER","GENERAL_LEDGER","CUSTOMER_LEDGER"],"title":"LedgerTypeENUM","type":"string"},"SettlementParameterResponseSchema":{"description":"settlement parameters response","title":"SettlementParameterResponseSchema","type":"object","required":["key","value","name","type"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TenantPaymentMethodParameterTypeENUM"}}},"TenantPaymentMethodParameterTypeENUM":{"title":"TenantPaymentMethodParameterTypeENUM","type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","MOBILE","MODULUS10","MODULUS11"]},"SettlementStateENUM":{"enum":["NOT_STARTED","IN_PROGRESS","COMPLETE","TERMINATED"],"title":"SettlementCodeENUM","type":"string"},"SettlementStatusENUM":{"enum":["NEW","PROCESSING","AUTHORIZED","CAPTURED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","FAILED","CANCELLED_BY_MERCHANT","CANCELLED_BY_USER","CANCELLED_FORCE","DELETED","DENIED","REJECTED"],"title":"SettlementCodeENUM","type":"string"},"storeSettlementIssuerSchema":{"title":"storeSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["storeSettlementIssuerUid","name","code"],"properties":{"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"SettlementCurrencySchema":{"title":"SettlementCurrencySchema","type":"object","required":["amount","code","exchangeRate"],"properties":{"amount":{"type":"integer"},"code":{"type":"string"},"exchangeRate":{"type":"integer"}}},"SettlementAdditionalDetailsSchema":{"title":"SettlementAdditionalDetailsSchema","type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"SettlementTransactionSchema":{"title":"SettlementTransactionSchema","type":"object","required":["transactionType","transactionAmount","orderReceiptUid"],"properties":{"transactionType":{"type":"string"},"pspTransactionId":{"type":"string"},"transactionAmount":{"type":"integer"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"}}},"AllowedSettlementActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CANCEL | Settlement can be cancelled|","enum":["CANCEL"],"title":"AllowedSettlementActionENUM","type":"string"},"OrderItemResponseSchema":{"title":"OrderItemResponseSchema","type":"object","required":["actions","allowedActions","createdAt","discountReasonCode","externalId","itemCost","itemDiscountAmount","itemDiscountPercentage","itemGrossProfitAmount","itemGrossProfitPercentage","itemPrice","itemVatAmount","lastModifiedAt","ledgerNumber","name","note","orderItemReference","orderItemUid","originalItemPrice","productUid","productType","properties","quantityCredited","quantityDelivered","quantityOrdered","quantityReserved","returnReasonCode","serialnumber","sku","sortOrder","tenantUserDisplayName","tenantUserUid","totalCost","totalDiscountAmount","totalGrossProfitAmount","totalPrice","totalVatAmount","vatCodeUid","warehouseUid","warehouseName","internalInfo","productProperties","coverImage","deliveryUid","compensationReasonCode","orderReceiptUid","allowDelivery","allowDeliveryFromDate","reservationType","reservationDetails","interStoreOrderReservationQuantity","gtins","usesVatMarginScheme"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemActionResponseSchema"}},"allowedActions":{"description":"Indicate what fields are allowed to change or what action is allowed on an orderline","type":"array","items":{"$ref":"#/components/schemas/AllowedActionENUM"}},"createdAt":{"format":"date-time","type":"string"},"discountReasonCode":{"type":"string"},"externalId":{"type":"string"},"itemCost":{"description":"Item cost for a single product.","type":"integer"},"itemDiscountAmount":{"description":"Discount amount for a single product.","type":"integer"},"itemDiscountPercentage":{"type":"integer"},"itemGrossProfitAmount":{"description":"Profit amount for a single product.","type":"integer"},"itemGrossProfitPercentage":{"description":"Profit for a single product in percentage.","type":"integer"},"itemPrice":{"type":"integer"},"itemVatAmount":{"description":"Vat amount for a single product.","type":"integer"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"name":{"type":"string"},"note":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderLinks":{"description":"List of references on the order product item.\nTypically a list of credit operations.","type":"array","items":{"$ref":"#/components/schemas/OrderLinkTypeSchema"}},"originalItemPrice":{"type":"integer"},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/OrderProductLinePropertyResponseSchema"}},"quantityCredited":{"type":"integer"},"quantityDelivered":{"type":"integer"},"quantityOrdered":{"type":"integer"},"quantityReserved":{"type":"integer"},"returnReasonCode":{"type":"string"},"returnReference":{"type":"string"},"serialnumber":{"type":"string"},"sku":{"type":"string"},"sortOrder":{"type":"integer"},"tenantUserDisplayName":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"totalCost":{"description":"Total cost for all products on this OrderItem.","type":"integer"},"totalDiscountAmount":{"description":"Discount amount for all products on this OrderItem.","type":"integer"},"totalGrossProfitAmount":{"description":"Profit amount for all products on this OrderItem.","type":"integer"},"totalPrice":{"description":"Total price for all products on this OrderItem.","type":"integer"},"totalVatAmount":{"description":"Vat amount for all products on this OrderItem.","type":"integer"},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"warehouseUid":{"$ref":"#/components/schemas/OptionalUID"},"warehouseName":{"type":"string"},"internalInfo":{"type":"string"},"productProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"deliveryUid":{"$ref":"#/components/schemas/OptionalUID"},"compensationReasonCode":{"type":"string"},"orderReceiptUid":{"$ref":"#/components/schemas/OptionalUID"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryFromDate":{"type":"string","format":"date-time","description":"When allowDelivery is `NOT_BEFORE_DATE` this field will contain the time for when the product is allowed to be delivered from.","nullable":true},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"},"reservationDetails":{"$ref":"#/components/schemas/SalesReservationDetailsSchema"},"interStoreOrderReservationQuantity":{"type":"integer","nullable":true,"description":"Inter-store trade, on the seller store's mirrored sales order line: how much of it is reserved by customer lines at the buying store, in hundredths (100 = 1 unit). The rest is the buyer building stock. It is the same number the buying store sees as quantityReserved on the coupled purchase order line, counted the same way — sales orders that have been cancelled are left out of both. Always sent, and null on any line that is not a mirrored seller line — so a non-null value is what marks the seller side.\nRead it on order and delivery responses. A receipt line does not carry the number: this is live reservation state, counted from the reserving lines as they stand when the line is read, and a receipt records a settled sale. On a receipt line the field is therefore always null, and says nothing about which side the line is on.\nA quantity rather than a pointer to the buyer's lines on purpose: several customer lines can share one coupled line, so there is no single line to name, only a sum."},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinSchema"}},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."}}},"OrderItemActionResponseSchema":{"properties":{"comment":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"type":"string"},"handlingActionUid":{"$ref":"#/components/schemas/UID"},"handlingActionName":{"type":"string"},"handlingDescription":{"type":"string"},"handlingUid":{"$ref":"#/components/schemas/UID"},"handlingName":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastModifiedBy":{"type":"string"},"orderHandlingActionUid":{"$ref":"#/components/schemas/UID"}},"required":["orderHandlingActionUid","handlingUid","handlingName","handlingActionUid","handlingActionName","comment","handlingDescription","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"title":"OrderItemActionResponseSchema","type":"object"},"AllowedActionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| QUANTITY_SOLD | Can change quantity on order item|\n| PRICE_SALE | Can change price on order item|\n| DISCOUNT | Can set discount on order item|\n| SERIALNUMBER | Can set serial number on order item|\n| SERIALNUMBER_REQUIRED | MUST set serial number on order item|\n| CREDIT | Order item can be credited|\n| ADDON | Product on order item has addons|\n| CUSTOMER_REQUIRED | Order item requires customer on settlement|\n| CUSTOMER_MOBILE_REQUIRED | Order item requires customer mobile number on settlement|\n| CUSTOMER_EMAIL_REQUIRED  - Order item requires customer email on settlement|\n| DELIVERY_POSTAL_ADDRESS_REQUIRED | Order item requires delivery address on settlement|\n| INSURANCE | Order item can be insured|\n| DELETE | Order item can be deleted|   \n| DELIVER | Order item can be delivered|\n| PURCHASE | Order item can be marked as purchase from supplier |\n| COST_PRICE | Set cost price on the orderItem |\n| PRODUCT_NAME | Set name of the product on the orderItem |\n| PAYABLE | order item is payable |\n| NEGATIVE_PRICE| Can have negative price |","enum":["QUANTITY_SOLD","PRICE_SALE","DISCOUNT","SERIALNUMBER","SERIALNUMBER_REQUIRED","CREDIT","ADDON","CUSTOMER_REQUIRED","INSURANCE","CUSTOMER_MOBILE_REQUIRED","CUSTOMER_EMAIL_REQUIRED","DELIVERY_POSTAL_ADDRESS_REQUIRED","DELETE","DELIVER","PURCHASE","COST_PRICE","PRODUCT_NAME","PAYABLE","NEGATIVE_PRICE"],"title":"AllowedActionENUM","type":"string"},"OrderLinkTypeSchema":{"description":"Order reference for an order product item","properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"description":"Order number for the order","type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"type":{"$ref":"#/components/schemas/OrderLinkTypeResponseENUM"}},"required":["storeUid","orderUid","orderNumber","orderItemUid","type"],"title":"OrderLinkTypeSchema","type":"object"},"OrderLinkTypeResponseENUM":{"description":"Describes the type of link on an order product item\n\n|ENUM | Description |\n| --- | --- |\n| CREDIT | Reference is a credit link|\n| INSURANCE | Reference to orderline with product to insure|\n| INSURED | Reference to orderline with insurance |\n| COMPENSATION | Reference to orderline with product to compensate|\n| COMPENSATED | Reference to orderline with compensation |\n| PACKAGE | Reference to orderline with main package product |\n| PACKAGE_COMPONENT | Reference to orderline with package component product |\n| SERVICE | Reference to orderline that is a service product |\n| HAS_SERVICE | Reference to orderline that points to a service product |\n| FREIGHT_SERVICE | Reference to orderline that is a freight service product |\n| HAS_FREIGHT_SERVICE | Reference to orderline that points to a freight service product |\n| AUTO_ADD | Reference to orderline that has been automatically added |\n| AUTO_ADDED | Reference to orderline that points to an automatically added product |\n","enum":["CREDIT","INSURANCE","INSURED","COMPENSATION","COMPENSATED","PACKAGE","PACKAGE_COMPONENT","SERVICE","HAS_SERVICE","FREIGHT_SERVICE","HAS_FREIGHT_SERVICE","AUTO_ADD","AUTO_ADDED"],"title":"OrderLinkTypeResponseENUM","type":"string"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"OrderProductLinePropertyResponseSchema":{"allOf":[{"properties":{"uid":{"$ref":"#/components/schemas/UID"}},"required":["uid"],"type":"object"},{"$ref":"#/components/schemas/OrderProductLinePropertySchema"}],"title":"OrderProductLinePropertyResponseSchema"},"OrderProductLinePropertySchema":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OrderProductLinePropertySchema","type":"object"},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"ProductGtinSchema":{"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}},"title":"ProductGtinSchema","type":"object"},"OrderAddressResponseSchema":{"title":"OrderAddressResponseSchema","type":"object","required":["address","city","companyName","countryCode","email","firstname","lastname","mobile","postalCode","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"firstname":{"type":"string"},"lastname":{"type":"string"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"displayName":{"type":"string"}},"description":""},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"}}}}
```

## The LimitToStoreUidsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeviceTokenRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceTokenRequestSchema":{"title":"DeviceTokenRequestSchema","type":"object","required":["appId","refreshToken"],"properties":{"appId":{"type":"string","description":"This is a predefined app id that Flow will provide"},"refreshToken":{"type":"string","description":"Refresh token that is supplied during client linking"}}}}}}
```

## The DeviceLinkResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceLinkResponseSchema":{"title":"DeviceLinkResponseSchema","type":"object","required":["expires","token","refreshToken"],"properties":{"expires":{"type":"integer","description":"The expiry time represented as a unix timestamp."},"token":{"type":"string","description":"A JWT device token"},"refreshToken":{"type":"string","description":"Refresh token to be used to renew the token"}}}}}}
```

## The DeviceTillResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceTillResponseSchema":{"title":"DeviceTillResponseSchema","type":"object","nullable":true,"required":["tillUid","name","tillNumber"],"properties":{"tillUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"tillNumber":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeviceAppCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"}}}}
```

## The SalesReservationTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The SalesReservationDetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationDetailsSchema":{"title":"SalesReservationDetailsSchema","type":"object","properties":{"warehouse":{"$ref":"#/components/schemas/SalesReservationWarehouseSchema"},"purchaseOrder":{"$ref":"#/components/schemas/SalesReservationPurchaseOrderSchema"},"receivement":{"$ref":"#/components/schemas/SalesReservationReceivementSchema"},"interStorePurchaseOrder":{"$ref":"#/components/schemas/SalesReservationInterStorePurchaseOrderSchema"}}},"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}},"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The SalesReservationWarehouseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationWarehouseSchema":{"title":"SalesReservationWarehouseSchema","type":"object","nullable":true,"description":"The warehouse a line covered from stock is held in.\n\nSet only when reservationType is WAREHOUSE. A line waiting on a purchase order can carry\na warehouse of its own, and naming it here would say the goods are in stock when they are\non order — so it stays absent for every other reservation type. That includes NONE, where\nthe line's own warehouseUid and warehouseName may well be set while this object is not.\n\nOn a sales order line it repeats what warehouseUid and warehouseName already say. Where it\nearns its place is a purchase order: there this object describes the coupled seller line,\nand the response carries no sales line to read those fields from, so this is the only\nplace the buying store learns which of the seller's warehouses its goods are held in.","required":["warehouseName"],"properties":{"warehouseName":{"type":"string","description":"The name of the warehouse. The uid is not part of this object: a sales order line\nreports it in its own warehouseUid, and a purchase order's coupled seller line does\nnot carry one at all."}}}}}}
```

## The SalesReservationInterStorePurchaseOrderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationInterStorePurchaseOrderSchema":{"title":"SalesReservationInterStorePurchaseOrderSchema","type":"object","nullable":true,"description":"In inter-store trade, the seller store this sales order line's goods are coming from,\nand the seller's own incoming purchase order line they are coming in on.\n\nSet only on a line at the buying store. The seller's own mirrored line does not carry it,\nso the presence of this field is what tells a client which side of the coupling it is\nlooking at — no need to read the order it belongs to. A seller store learns how much of\nits mirrored line is promised to customers from interStoreOrderReservationQuantity on\nthat line instead.\n\nRead it on order and delivery responses. A receipt line does not carry it: both of the\nline-level inter-store fields are live reservation state, counted from the reserving lines\nas they stand when the line is read, and a receipt records a settled sale. So on a receipt\nline their absence says nothing about which side of a coupling it is on.\n\nNote that reservationDetails.purchaseOrder alongside it is unchanged: that is still the\nbuying store's own purchase order, the one this line actually reserves against. This\nfield is one hop further out — where that purchase order gets its goods from.\n\nThe store is always named; the purchase order fields can be absent. They are absent when\nthe seller is fulfilling from its own stock rather than from an incoming purchase order.\nThat is the state a proactive inter-store purchase starts in, where the mirrored seller\nline is reserved from stock, and the normal case for a seller-initiated sale. The fields\nappear once the seller line is re-pointed at a specific incoming purchase order line.","required":["storeUid","storeName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderNumber":{"type":"string"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SalesReservationPurchaseOrderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationPurchaseOrderSchema":{"title":"SalesReservationPurchaseOrderSchema","type":"object","nullable":true,"required":["purchaseOrderUid","purchaseOrderItemUid","purchaseOrderNumber","quantityOrdered"],"properties":{"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"expectedDeliveryDate":{"type":"string","format":"date-time"},"purchaseOrderNumber":{"type":"string"},"quantityOrdered":{"type":"integer","description":"The quantity ordered on this purchase order line."},"externalId":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderItemReservationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemReservationSchema":{"title":"OrderItemReservationSchema","type":"object","required":["orderUid","orderItemUid","orderNumber","quantity","reservationType"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"quantity":{"type":"integer"},"reservationType":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""}}}}
```

## The TimezoneTYPE object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TimezoneTYPE":{"title":"Timezone","type":"string","description":"The timezone in tz/zoneinfo format. Example: Europe/Oslo"}}}}
```

## The CustomerGroupResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerGroupResponseSchema":{"title":"CustomerGroupResponseSchema","allOf":[{"type":"object","required":["customerGroupUid","name"],"properties":{"customerGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The ExternalSystemCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]}}}}
```

## The GeneralMappingCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralMappingCreateRequestSchema":{"title":"GeneralMappingCreateRequestSchema","type":"object","required":["externalId","systemCode"],"properties":{"externalId":{"type":"string"},"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]}}}}
```

## The GeneralMappingUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralMappingUpdateRequestSchema":{"title":"GeneralMappingUpdateRequestSchema","type":"object","required":["externalId"],"properties":{"externalId":{"type":"string"}}}}}}
```

## The GeneralMappingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]}}}}
```

## The DeliveryProviderMethodMappingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryProviderMethodMappingResponseSchema":{"title":"DeliveryProviderMethodMappingResponseSchema","allOf":[{"$ref":"#/components/schemas/GeneralMappingResponseSchema"},{"type":"object","required":["deliveryProviderMethodMappingUid"],"properties":{"deliveryProviderMethodMappingUid":{"$ref":"#/components/schemas/UID"}}}]},"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantPaymentMethodMappingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodMappingResponseSchema":{"title":"TenantPaymentMethodMappingResponseSchema","allOf":[{"$ref":"#/components/schemas/GeneralMappingResponseSchema"},{"type":"object","required":["tenantPaymentMethodMappingUid"],"properties":{"tenantPaymentMethodMappingUid":{"type":"string"}}}]},"GeneralMappingResponseSchema":{"title":"GeneralMappingResponseSchema","type":"object","required":["systemCode","externalId"],"properties":{"systemCode":{"$ref":"#/components/schemas/ExternalSystemCodeENUM"},"externalId":{"type":"string"}}},"ExternalSystemCodeENUM":{"title":"ExternalSystemCodeENUM","type":"string","enum":["OMNIUM","ORDER_IMPORT","PROFRAKT"]}}}}
```

## The DeliverySourcingRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliverySourcingRequestSchema":{"title":"DeliverySourcingRequestSchema","type":"object","required":["productUids"],"properties":{"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliverySourcingItemResponse object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliverySourcingItemResponse":{"title":"DeliverySourcingItemResponse","type":"object","required":["productUid","sourceId"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sourceId":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliverySourcingResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliverySourcingResponseSchema":{"title":"DeliverySourcingResponseSchema","type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeliverySourcingItemResponse"}}}},"DeliverySourcingItemResponse":{"title":"DeliverySourcingItemResponse","type":"object","required":["productUid","sourceId"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sourceId":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryOptionRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionRequestSchema":{"title":"DeliveryOptionRequestSchema","type":"object","required":["startDate","endDate","postalCode","products"],"properties":{"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"},"postalCode":{"type":"string"},"products":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionProductSchema"}}}},"DeliveryOptionProductSchema":{"title":"DeliveryOptionProductSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"freightServiceProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"serviceProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryOptionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionSchema":{"title":"DeliveryOptionSchema","type":"object","required":["freightProductUid","freightProductName","deliveryProviderProcessIndicator","pickupDelivery","addressDelivery","parcelDelivery"],"properties":{"freightProductUid":{"$ref":"#/components/schemas/UID"},"freightProductName":{"type":"string"},"deliveryProviderProcessIndicator":{"type":"string","description":"This field can contain a special code that needs to be saved on the delivery"},"pickupDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionPickupPointSchema"}},"addressDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionAddressSchema"}},"parcelDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionParcelSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeliveryOptionPickupPointSchema":{"title":"DeliveryOptionPickupPointSchema","type":"object","required":["pickupPointType","pickupPointId","name","latitude","longitude","address","postalCode","city","countryCode","description","price","deliveryDate"],"properties":{"pickupPointType":{"type":"string"},"pickupPointId":{"type":"string"},"name":{"type":"string"},"latitude":{"type":"string"},"longitude":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string"},"price":{"type":"integer"},"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"}}},"DeliveryOptionAddressSchema":{"title":"DeliveryOptionAddressSchema","type":"object","required":["deliveryDate","startTime","endTime","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"startTime":{"type":"string"},"endTime":{"type":"string"},"price":{"type":"integer"}}},"DeliveryOptionParcelSchema":{"title":"DeliveryOptionParcelSchema","type":"object","required":["deliveryDate","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"price":{"type":"integer"}}}}}}
```

## The DeliveryOptionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionResponseSchema":{"title":"DeliveryOptionResponseSchema","type":"object","required":["deliveryOptions","information","errors"],"properties":{"deliveryOptions":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionSchema"}},"information":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","description":"Errors which causes the delivery to not be available","items":{"type":"string"}}}},"DeliveryOptionSchema":{"title":"DeliveryOptionSchema","type":"object","required":["freightProductUid","freightProductName","deliveryProviderProcessIndicator","pickupDelivery","addressDelivery","parcelDelivery"],"properties":{"freightProductUid":{"$ref":"#/components/schemas/UID"},"freightProductName":{"type":"string"},"deliveryProviderProcessIndicator":{"type":"string","description":"This field can contain a special code that needs to be saved on the delivery"},"pickupDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionPickupPointSchema"}},"addressDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionAddressSchema"}},"parcelDelivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOptionParcelSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DeliveryOptionPickupPointSchema":{"title":"DeliveryOptionPickupPointSchema","type":"object","required":["pickupPointType","pickupPointId","name","latitude","longitude","address","postalCode","city","countryCode","description","price","deliveryDate"],"properties":{"pickupPointType":{"type":"string"},"pickupPointId":{"type":"string"},"name":{"type":"string"},"latitude":{"type":"string"},"longitude":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string"},"price":{"type":"integer"},"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"}}},"DeliveryOptionAddressSchema":{"title":"DeliveryOptionAddressSchema","type":"object","required":["deliveryDate","startTime","endTime","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"startTime":{"type":"string"},"endTime":{"type":"string"},"price":{"type":"integer"}}},"DeliveryOptionParcelSchema":{"title":"DeliveryOptionParcelSchema","type":"object","required":["deliveryDate","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"price":{"type":"integer"}}}}}}
```

## The DeliveryOptionPickupPointSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionPickupPointSchema":{"title":"DeliveryOptionPickupPointSchema","type":"object","required":["pickupPointType","pickupPointId","name","latitude","longitude","address","postalCode","city","countryCode","description","price","deliveryDate"],"properties":{"pickupPointType":{"type":"string"},"pickupPointId":{"type":"string"},"name":{"type":"string"},"latitude":{"type":"string"},"longitude":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"description":{"type":"string"},"price":{"type":"integer"},"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"}}}}}}
```

## The DeliveryOptionAddressSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionAddressSchema":{"title":"DeliveryOptionAddressSchema","type":"object","required":["deliveryDate","startTime","endTime","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"startTime":{"type":"string"},"endTime":{"type":"string"},"price":{"type":"integer"}}}}}}
```

## The DeliveryOptionParcelSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionParcelSchema":{"title":"DeliveryOptionParcelSchema","type":"object","required":["deliveryDate","price"],"properties":{"deliveryDate":{"type":"string","format":"date","description":"Estimated arrival date"},"price":{"type":"integer"}}}}}}
```

## The CampaignSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CampaignSearchRequestSchema":{"title":"CampaignSearchRequestSchema","type":"object","properties":{"query":{"type":"string"},"campaignCode":{"type":"string"},"discountType":{"$ref":"#/components/schemas/CampaignDiscountTypeENUM"},"displayName":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/CampaignTypeENUM"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/CampaignStatusENUM"}}}},"CampaignDiscountTypeENUM":{"title":"CampaignDiscountTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CHEAPEST_PRODUCT | Cheapest product will be discounted|\n| QUALIFIED_PRODUCT | All qualified products will be discounted|\n| ORDER_DISCOUNT | An order discount will be added to the order|","enum":["CHEAPEST_PRODUCT","QUALIFIED_PRODUCT","ORDER_DISCOUNT"],"type":"string"},"CampaignTypeENUM":{"title":"CampaignTypeENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| CAMPAIGN | Normal campaign with rules set|\n| PRICELIST | A campaign that includes a pricelist. No rules applies|","enum":["CAMPAIGN","PRICELIST"],"type":"string"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CampaignStatusENUM":{"title":"CampaignStatusENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Campaign is in a modeling state. Can be modified|\n| ACTIVE | Campaign is active, and is considered when making sales operations. Campaign can not be modified|\n| CLOSED | Campaign is closed.|","enum":["NEW","ACTIVE","CLOSED"],"type":"string"}}}}
```

## The PrinterTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]}}}}
```

## The PrinterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PrinterResponseSchema":{"title":"PrinterResponseSchema","allOf":[{"type":"object","required":["printerUid","deviceUids","storeUid","name","description","type","path","settings","availablePrintActions"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"deviceUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"name":{"type":"string"},"description":{"type":"string"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"path":{"type":"string"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"availablePrintActions":{"type":"array","description":"Which print job types this printer can handle. See [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The PrinterUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PrinterUpdateRequestSchema":{"title":"PrinterUpdateRequestSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/OptionalNullableUID"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"path":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}},"availablePrintActions":{"type":"array","description":"Optional on update. Which print job types this printer can handle; effective values are reflected on printer responses (see [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM)). When sent, an empty array means no categorized print types are configured for this printer (if the backend allows that).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},"OptionalNullableUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","nullable":true},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]}}}}
```

## The TenantCurrencySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantCurrencySchema":{"title":"TenantCurrencySchema","type":"object","required":["code","name","symbol","symbolPosition","decimalSeparator","thousandSeparator","cashRounding"],"properties":{"code":{"type":"string","description":"ISO 4217"},"name":{"type":"string"},"symbol":{"type":"string","description":"symbol or short name, e.g. `$`, `kr` etc. "},"symbolPosition":{"type":"string","description":"prefix or suffix to the amount"},"decimalSeparator":{"type":"string"},"thousandSeparator":{"type":"string"},"cashRounding":{"type":"integer","description":"the smallest amount accepted as cash"}}}}}}
```

## The PriceBrandResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceBrandResponseSchema":{"title":"PriceBrandResponseSchema","type":"object","required":["brandUid","name"],"properties":{"brandUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PriceProductGroupResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PriceProductGroupResponseSchema":{"title":"PriceProductGroupResponseSchema","type":"object","required":["productGroupUid","name","path"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"path":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]}}}}
```

## The PurchaseRequestProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestProductSchema":{"title":"PurchaseRequestProductSchema","type":"object","required":["productUid","sku","productName","totalQuantityOrdered","oldestOrderCreatedAt","suppliers","orders"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"productName":{"type":"string"},"totalQuantityOrdered":{"type":"integer","description":"total quantity in order lines"},"oldestOrderCreatedAt":{"type":"string","format":"date-time","description":"the oldest createdAt in order lines"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestSupplierSchema"}},"orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestOrderSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseRequestSupplierSchema":{"title":"PurchaseRequestSupplierSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"PurchaseRequestOrderSchema":{"title":"PurchaseRequestOrderSchema","type":"object","required":["orderUid","orderNumber","orderState","settleState","customerDisplayName","storeUid","storeName","items","createdAt"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"customerDisplayName":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestOrderItemSchema"}},"createdAt":{"type":"string","format":"date-time"}},"description":""},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"PurchaseRequestOrderItemSchema":{"title":"PurchaseRequestOrderItemSchema","type":"object","required":["orderItemUid","sortOrder","quantityOrdered","note"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sortOrder":{"type":"integer"},"quantityOrdered":{"type":"integer"},"note":{"type":"string"}}}}}}
```

## The PurchaseRequestSupplierSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestSupplierSchema":{"title":"PurchaseRequestSupplierSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BasicPrinterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BasicPrinterResponseSchema":{"title":"BasicPrinterResponseSchema","type":"object","required":["printerUid","name","type","availablePrintActions"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"availablePrintActions":{"type":"array","description":"Which print job types this printer supports. See [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]}}}}
```

## The PurchaseRequestOrderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestOrderSchema":{"title":"PurchaseRequestOrderSchema","type":"object","required":["orderUid","orderNumber","orderState","settleState","customerDisplayName","storeUid","storeName","items","createdAt"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"customerDisplayName":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestOrderItemSchema"}},"createdAt":{"type":"string","format":"date-time"}},"description":""},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"PurchaseRequestOrderItemSchema":{"title":"PurchaseRequestOrderItemSchema","type":"object","required":["orderItemUid","sortOrder","quantityOrdered","note"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sortOrder":{"type":"integer"},"quantityOrdered":{"type":"integer"},"note":{"type":"string"}}}}}}
```

## The PurchaseRequestOrderGroupSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestOrderGroupSchema":{"title":"PurchaseRequestOrderGroupSchema","type":"object","required":["orderUid","orderNumber","orderState","settleState","customerDisplayName","storeUid","storeName","items","createdAt"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"settleState":{"$ref":"#/components/schemas/OrderSettleStateENUM"},"customerDisplayName":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestOrderItemGroupByOrderSchema"}},"createdAt":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"PurchaseRequestOrderItemGroupByOrderSchema":{"title":"PurchaseRequestOrderItemGroupByOrderSchema","type":"object","required":["orderItemUid","sortOrder","quantityOrdered","note","sku","productName","productUid","suppliers"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sortOrder":{"type":"integer"},"quantityOrdered":{"type":"integer"},"note":{"type":"string"},"sku":{"type":"string"},"productName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestSupplierSchema"}}}},"PurchaseRequestSupplierSchema":{"title":"PurchaseRequestSupplierSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}}}}}
```

## The ExtendedGiftcardExtensionCodeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExtendedGiftcardExtensionCodeENUM":{"title":"ExtendedGiftcardExtensionCodeENUM","type":"string","enum":["FLOWGIFTCARD","STORE_CREDIT","BRITANNIA","PAYEX_GIFTCARD"]}}}}
```

## The OrderItemAddonResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemAddonResponseSchema":{"title":"OrderItemAddonResponseSchema","type":"object","required":["productUid","productLinkType","sku","name","orderItemReference","price","productType","serialNoRequired","allowSale","allowSaleDate","coverImage"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"productLinkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"sku":{"type":"string"},"name":{"type":"string"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."},"price":{"type":"integer"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"type":"string","format":"date-time"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]}}}}
```

## The ReceiptCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptCreateRequestSchema":{"title":"ReceiptCreateRequestSchema","type":"object","properties":{"orderItemUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"settlementUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderReceiptUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceiptUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptUpdateRequestSchema":{"title":"ReceiptUpdateRequestSchema","type":"object","properties":{"externalVoucherNumber":{"type":"string"}}}}}}
```

## The PurchaseRequestOrderItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestOrderItemSchema":{"title":"PurchaseRequestOrderItemSchema","type":"object","required":["orderItemUid","sortOrder","quantityOrdered","note"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sortOrder":{"type":"integer"},"quantityOrdered":{"type":"integer"},"note":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The PurchaseRequestOrderItemGroupByOrderSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseRequestOrderItemGroupByOrderSchema":{"title":"PurchaseRequestOrderItemGroupByOrderSchema","type":"object","required":["orderItemUid","sortOrder","quantityOrdered","note","sku","productName","productUid","suppliers"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sortOrder":{"type":"integer"},"quantityOrdered":{"type":"integer"},"note":{"type":"string"},"sku":{"type":"string"},"productName":{"type":"string"},"productUid":{"$ref":"#/components/schemas/UID"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseRequestSupplierSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PurchaseRequestSupplierSchema":{"title":"PurchaseRequestSupplierSchema","type":"object","required":["supplierUid","name"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}}}}}
```

## The DateTimeRangeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DateTimeRangeSchema":{"title":"DateTimeRangeSchema","type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}}}}}
```

## The AmountRangeSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The OrderItemsReservationUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemsReservationUpdateSchema":{"title":"OrderItemsReservationUpdateSchema","type":"object","required":["reservationType","orders"],"properties":{"uid":{"description":"The uid must be warehouseUid if the reservationType is `WAREHOUSE`, purchaseOrderItemUid if it is `PURCHASEORDER` and receivementItemUid if it is `PURCHASEORDER_CONFIRMED`","$ref":"#/components/schemas/UID"},"reservationType":{"type":"string","enum":["WAREHOUSE","PURCHASEORDER","PURCHASEORDER_CONFIRMED"]},"orders":{"description":"A list of all the orders with order items that should be marked as ready for delivery","type":"array","items":{"$ref":"#/components/schemas/OrderItemUpdateReservationSchema"}}},"description":"If reservationType == WAREHOUSE, uid must have a value pointing to a legal warehouseUid.\nIf reservationType == PURCHASE, uid must have a value pointing to a legal purchase order."},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderItemUpdateReservationSchema":{"title":"OrderItemUpdateReservationSchema","type":"object","required":["orderUid","orderItemUid"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The OrderItemUpdateReservationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemUpdateReservationSchema":{"title":"OrderItemUpdateReservationSchema","type":"object","required":["orderUid","orderItemUid"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeviceSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeviceSearchRequestSchema":{"title":"DeviceSearchRequestSchema","type":"object","properties":{"name":{"type":"string"},"deviceIdentifier":{"$ref":"#/components/schemas/OptionalUID"},"query":{"type":"string"},"appCode":{"$ref":"#/components/schemas/DeviceAppCodeENUM"},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/DeviceStatusENUM"}}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"},"DeviceStatusENUM":{"enum":["ACTIVE","BLOCKED","READY_TO_LINK"],"title":"DeviceAuthorizationStatusENUM","type":"string","description":"| Enum | Description|\n|-----|-----|\n|READY_TO_LINK | The device is ready to a physical device through the link endpoint |\n|ACTIVE| The device is linked and active |\n|BLOCKED| The device is linked, but blocked for usage |"}}}}
```

## The PrinterRequestSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PrinterRequestSearchSchema":{"title":"PrinterRequestSearchSchema","type":"object","properties":{"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"printerType":{"$ref":"#/components/schemas/PrinterTypeENUM"},"query":{"type":"string","description":"Partial or full printer name search"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]}}}}
```

## The PurchaseOrderItemUpdateQtyDeliveredSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderItemUpdateQtyDeliveredSchema":{"title":"PurchaseOrderItemUpdateQtyDeliveredSchema","type":"object","description":"Partial line updates on PUT purchase order: received quantity, expected delivery,\nunit price, and/or ordered quantity. Does not adjust stock except via receivement when quantityReceived is set.","required":["purchaseOrderItemUid"],"properties":{"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"quantityReceived":{"type":"integer"},"expectedDeliveryDate":{"type":"string","format":"date"},"unitPrice":{"type":"integer"},"quantityOrdered":{"type":"integer","description":"New ordered quantity for this line (same unit as on create)."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ServiceOrderAssetResponse object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ServiceOrderAssetResponse":{"title":"ServiceOrderAssetResponse","type":"object","required":["assetUid","name","description","isPublic","publicUrl","mimeType"],"properties":{"assetUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"description":{"type":"string"},"isPublic":{"type":"boolean","description":"For private assets use download endpoint to get signed access."},"publicUrl":{"type":"string"},"mimeType":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ReceiptReportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptReportSchema":{"title":"ReceiptReportSchema","type":"object","required":["settledAt"],"properties":{"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"settledAt":{"$ref":"#/components/schemas/DateTimeRangeSchema"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"DateTimeRangeSchema":{"title":"DateTimeRangeSchema","type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}}}}}
```

## The DownloadableFile object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DownloadableFile":{"title":"DownloadableFile","type":"string","format":"binary"}}}}
```

## The GiftcardStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"GiftcardStatusENUM":{"title":"GiftcardStatusENUM","type":"string","enum":["ACTIVE","INACTIVE","CLEARED"],"description":"`CLEARED` means the card balance is emptied, the card is deactivated and can not be used anymore."}}}}
```

## The CurrencyPurchasePriceUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CurrencyPurchasePriceUpdateSchema":{"title":"CurrencyPurchasePriceUpdateSchema","type":"object","required":["purchasePrice","currencyCode"],"properties":{"purchasePrice":{"type":"integer"},"currencyCode":{"type":"string"}},"description":"Purchase price in currency. The information here will be used to calculate the purchase price in local currency and update the `purchasePrice` field."}}}}
```

## The EhfInvoiceResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"EhfInvoiceResponseSchema":{"title":"EhfInvoiceResponseSchema","type":"object","required":["voucherNumber","orderUid","orderNumber","orderSettlementUid","statusOk","statusAt","statusMessage"],"properties":{"voucherNumber":{"type":"string"},"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderSettlementUid":{"$ref":"#/components/schemas/UID"},"statusOk":{"type":"boolean"},"statusAt":{"type":"string","format":"date-time"},"statusMessage":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The MetadataTemplateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MetadataTemplateSchema":{"title":"TemplateMetadataSchema","type":"object","required":["type","name","template","mimeType","fields"],"properties":{"type":{"type":"string"},"name":{"type":"string"},"template":{"type":"string"},"mimeType":{"$ref":"#/components/schemas/TemplateMimeType"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/MetadataTemplateFieldSchema"}}}},"TemplateMimeType":{"title":"TemplateMimeType","enum":["HTML","TEXT"],"description":""},"MetadataTemplateFieldSchema":{"title":"MetadataTemplateFieldSchema","type":"object","required":["name","description"],"properties":{"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The MetadataTemplateFieldSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MetadataTemplateFieldSchema":{"title":"MetadataTemplateFieldSchema","type":"object","required":["name","description"],"properties":{"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The TransactionTemplateResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransactionTemplateResponseSchema":{"title":"TransactionTemplateResponseSchema","type":"object","required":["type","name","template","subject","mimeType","templateUid","createdAt","createdBy","lastModifiedAt","lastModifiedBy"],"properties":{"type":{"type":"string"},"name":{"type":"string"},"template":{"type":"string","description":"The template body."},"subject":{"type":"string","description":"The template subject, used for emails"},"mimeType":{"$ref":"#/components/schemas/TemplateMimeType"},"templateUid":{"$ref":"#/components/schemas/OptionalUID"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}}},"TemplateMimeType":{"title":"TemplateMimeType","enum":["HTML","TEXT"],"description":""},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The AssociatedTimeslotSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AssociatedTimeslotSchema":{"title":"AssociatedTimeslotSchema","type":"object","required":["deliveryProviderMethodTimeslotUid","name"],"properties":{"deliveryProviderMethodTimeslotUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TransactionTemplateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransactionTemplateRequestSchema":{"title":"TransactionTemplateRequestSchema","type":"object","description":"TransactionTemplateRequestSchema","required":["type","template"],"properties":{"type":{"type":"string","description":"This must be a valid type from /metadata/templates"},"template":{"type":"string"},"subject":{"type":"string"},"templateUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TransactionTemplateUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TransactionTemplateUpdateSchema":{"title":"TransactionTemplateUpdateSchema","type":"object","required":["template"],"properties":{"template":{"type":"string"},"subject":{"type":"string"}}}}}}
```

## The ReceiptEmailTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptEmailTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIPT | Send sales receipt as email|\n","minLength":1,"title":"ReceiptEmailTypeENUM","type":"string","enum":["RECEIPT"]}}}}
```

## The ReceiptEmailSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReceiptEmailSchema":{"title":"ReceiptEmailSchema","type":"object","required":["type","email"],"properties":{"type":{"$ref":"#/components/schemas/ReceiptEmailTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"}},"description":"ReceiptEmailSchema"},"ReceiptEmailTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIPT | Send sales receipt as email|\n","minLength":1,"title":"ReceiptEmailTypeENUM","type":"string","enum":["RECEIPT"]},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The StoreProductSOADetailsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreProductSOADetailsSchema":{"title":"StoreProductSOADetailsSchema","type":"object","required":["soaUid","soaName","amount","fromDateTime","toDateTime","soaAmountUid"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"soaName":{"type":"string"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TemplateMimeType object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TemplateMimeType":{"title":"TemplateMimeType","enum":["HTML","TEXT"],"description":""}}}}
```

## The TenantUserStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserStatusENUM":{"title":"TenantUserStatusENUM","enum":["PENDING_INVITE","ACTIVE","INACTIVE"],"type":"string"}}}}
```

## The TenantUserSearchSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserSearchSchema":{"title":"TenantUserSearchSchema","type":"object","properties":{"query":{"type":"string","description":"Fuzzy search on displayname, firstname, lastname, mobile, email and userCode"},"userCode":{"type":"string","description":"Exact match search."},"email":{"type":"string","description":"Exact match search."},"mobile":{"type":"string","description":"Exact match search."},"status":{"type":"array","items":{"$ref":"#/components/schemas/TenantUserStatusENUM"}}}},"TenantUserStatusENUM":{"title":"TenantUserStatusENUM","enum":["PENDING_INVITE","ACTIVE","INACTIVE"],"type":"string"}}}}
```

## The CustomerCreateConsentSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerCreateConsentSchema":{"title":"CustomerCreateConsentSchema","allOf":[{"$ref":"#/components/schemas/CustomerConsentChangeSchema"},{"type":"object","required":["consentUid"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"}}}]},"CustomerConsentChangeSchema":{"title":"CustomerConsentChangeSchema","type":"object","required":["source","status"],"properties":{"source":{"type":"string"},"status":{"type":"boolean","description":"Is the consent active or withdrawn"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderIntakeRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderIntakeRequestSchema":{"title":"OrderIntakeRequestSchema","type":"object","required":["orderDate"],"properties":{"orderDate":{"$ref":"#/components/schemas/DateTimeRangeSchema"},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderStates":{"type":"array","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}}}},"DateTimeRangeSchema":{"title":"DateTimeRangeSchema","type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"}}}}
```

## The OrderIntakeResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderIntakeResponseSchema":{"title":"OrderIntakeResponseSchema","type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderIntakeItemResponseSchema"}}}},"OrderIntakeItemResponseSchema":{"title":"OrderIntakeItemResponseSchema","type":"object","required":["orderUid","orderNumber","orderDate","orderState","customerName","store","createdBy","orderTotal"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderDate":{"type":"string","format":"date-time"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"customerName":{"type":"string"},"store":{"$ref":"#/components/schemas/OrderIntakeStoreResponseSchema"},"createdBy":{"type":"string"},"orderTotal":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderIntakeStoreResponseSchema":{"title":"OrderIntakeStoreResponseSchema","type":"object","required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The OrderIntakeItemResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderIntakeItemResponseSchema":{"title":"OrderIntakeItemResponseSchema","type":"object","required":["orderUid","orderNumber","orderDate","orderState","customerName","store","createdBy","orderTotal"],"properties":{"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"orderDate":{"type":"string","format":"date-time"},"orderState":{"$ref":"#/components/schemas/OrderOrderStateENUM"},"customerName":{"type":"string"},"store":{"$ref":"#/components/schemas/OrderIntakeStoreResponseSchema"},"createdBy":{"type":"string"},"orderTotal":{"type":"integer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderIntakeStoreResponseSchema":{"title":"OrderIntakeStoreResponseSchema","type":"object","required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The PermissionMetadataResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PermissionMetadataResponseSchema":{"title":"PermissionMetadataResponseSchema","type":"object","description":"PermissionMetadataResponseSchema","required":["permission","description","roleTypes"],"properties":{"permission":{"type":"string"},"description":{"type":"string"},"roleTypes":{"type":"array","items":{"$ref":"#/components/schemas/PermissionLevelENUM"}}}},"PermissionLevelENUM":{"title":"PermissionLevelENUM","enum":["TENANT","STORE"],"type":"string"}}}}
```

## The PermissionLevelENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PermissionLevelENUM":{"title":"PermissionLevelENUM","enum":["TENANT","STORE"],"type":"string"}}}}
```

## The TenantRoleCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantRoleCreateRequestSchema":{"title":"TenantRoleCreateRequestSchema","type":"object","required":["name","description","permissions"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalId":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"tenantRoleUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantRoleResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantRoleResponseSchema":{"title":"TenantRoleResponseSchema","type":"object","required":["name","description","externalId","permissions","tenantRoleUid","isSystemRole"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalId":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"tenantRoleUid":{"$ref":"#/components/schemas/UID"},"isSystemRole":{"type":"boolean"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The TenantRoleUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantRoleUpdateRequestSchema":{"title":"TenantRoleUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"externalId":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}}}}}}}
```

## The CustomerLoyaltyPointResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerLoyaltyPointResponseSchema":{"title":"CustomerLoyaltyPointResponseSchema","type":"object","required":["customerUid","balance","currency","expiringBalance","expirationDate"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"balance":{"type":"integer"},"currency":{"type":"string"},"expiringBalance":{"type":"integer"},"expirationDate":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderLoyaltyPointResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderLoyaltyPointResponseSchema":{"title":"OrderLoyaltyPointResponseSchema","type":"object","required":["balance"],"properties":{"balance":{"type":"integer"}}}}}}
```

## The ProfraktDeliveryMethodsListSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProfraktDeliveryMethodsListSchema":{"title":"ProfraktDeliveryMethodsListSchema","type":"object","required":["profraktIdentifier","name"],"properties":{"profraktIdentifier":{"type":"string"},"name":{"type":"string"}}}}}}
```

## The OrderProfraktDeliveryRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderProfraktDeliveryRequestSchema":{"title":"OrderProfraktDeliveryRequestSchema","type":"object","properties":{"autoPrint":{"type":"boolean"}}}}}}
```

## The OrderDeliveryTimeslotResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryTimeslotResponseSchema":{"title":"OrderDeliveryTimeslotResponseSchema","type":"object","required":["name","fromTime","toTime"],"properties":{"name":{"type":"string"},"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The DeprecatedOrderDeliveryTimeslotResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedOrderDeliveryTimeslotResponseSchema":{"deprecated":true,"title":"DeprecatedOrderDeliveryTimeslotResponseSchema","type":"object","required":["name","fromTime","toTime"],"properties":{"name":{"type":"string"},"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The OrderDeliveryTimeslotRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryTimeslotRequestSchema":{"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The StorePrinterCreateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePrinterCreateRequestSchema":{"title":"StorePrinterCreateRequestSchema","type":"object","required":["printerUid","eventType"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"eventType":{"$ref":"#/components/schemas/StorePrinterEventTypeENUM"},"storePrinterUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StorePrinterEventTypeENUM":{"title":"StorePrinterEventTypeENUM","type":"string","enum":["PICKUP_LABEL"]}}}}
```

## The StorePrinterUpdateRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePrinterUpdateRequestSchema":{"title":"StorePrinterUpdateRequestSchema","type":"object","properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"eventType":{"$ref":"#/components/schemas/StorePrinterEventTypeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StorePrinterEventTypeENUM":{"title":"StorePrinterEventTypeENUM","type":"string","enum":["PICKUP_LABEL"]}}}}
```

## The StorePrinterResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePrinterResponseSchema":{"title":"StorePrinterResponseSchema","type":"object","required":["store","printer","eventType","storePrinterUid"],"properties":{"store":{"$ref":"#/components/schemas/BasicStoreResponseSchema"},"printer":{"$ref":"#/components/schemas/BasicPrinterResponseSchema"},"eventType":{"$ref":"#/components/schemas/StorePrinterEventTypeENUM"},"storePrinterUid":{"$ref":"#/components/schemas/UID"}}},"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"BasicPrinterResponseSchema":{"title":"BasicPrinterResponseSchema","type":"object","required":["printerUid","name","type","availablePrintActions"],"properties":{"printerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/PrinterTypeENUM"},"availablePrintActions":{"type":"array","description":"Which print job types this printer supports. See [`AvailablePrintActionENUM`](#/components/schemas/AvailablePrintActionENUM).","items":{"$ref":"#/components/schemas/AvailablePrintActionENUM"}}}},"PrinterTypeENUM":{"title":"PrinterTypeENUM","type":"string","enum":["LABEL","RECEIPT","GENERAL"]},"AvailablePrintActionENUM":{"description":"Supported print **capabilities** for a printer. Some values intentionally differ from the strings in\n[`PrinterTypeENUM`](#/components/schemas/PrinterTypeENUM) (hardware class: LABEL / RECEIPT) and\n[`OrderPrintTypeENUM`](#/components/schemas/OrderPrintTypeENUM) (order print request `type`), so clients\ndo not confuse `printer.type` with entries in `availablePrintActions`. Use the table below to map a\ncapability to the request `type` it enables.\n\n| ENUM | Meaning | Maps to |\n| ---- | ------- | ------- |\n| RECEIPT | Sales receipt print | `OrderPrintTypeENUM` RECEIPT |\n| EXCHANGENOTE | Exchange note print | `OrderPrintTypeENUM` EXCHANGENOTE |\n| GIFTCARD_BARCODE | Gift card barcode print | `OrderPrintTypeENUM` GIFTCARD |\n| PICKUP_LABEL | Pickup label / note print | `OrderPrintTypeENUM` PICKUP |\n| SHORTAGENOTE | Missing items note (restlapp) print | `OrderPrintTypeENUM` SHORTAGENOTE |\n| PICKNOTE | Pick note (plukkelapp) print | `OrderPrintTypeENUM` PICKNOTE |\n| PRODUCT | Product label print | Print-products API |\n| CUSTOMER_MEMBERSHIP_CARD | Customer membership card print | — |\n","minLength":1,"title":"AvailablePrintActionENUM","type":"string","enum":["RECEIPT","EXCHANGENOTE","GIFTCARD_BARCODE","PICKUP_LABEL","SHORTAGENOTE","PICKNOTE","PRODUCT","CUSTOMER_MEMBERSHIP_CARD"]},"StorePrinterEventTypeENUM":{"title":"StorePrinterEventTypeENUM","type":"string","enum":["PICKUP_LABEL"]}}}}
```

## The StorePrinterEventTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePrinterEventTypeENUM":{"title":"StorePrinterEventTypeENUM","type":"string","enum":["PICKUP_LABEL"]}}}}
```

## The DeprecatedOrderDeliveryTimeslotRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeprecatedOrderDeliveryTimeslotRequestSchema":{"deprecated":true,"title":"OrderDeliveryTimeslotRequestSchema","type":"object","nullable":true,"required":["fromTime","toTime"],"properties":{"fromTime":{"type":"string","format":"time"},"toTime":{"type":"string","format":"time"}}}}}}
```

## The OpenItemsReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpenItemsReportResponseSchema":{"title":"OpenItemsReportResponseSchema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OpenItemsSchema"}}}},"OpenItemsSchema":{"title":"OpenItemsSchema","type":"object","required":["store","customer","orderUid","orderNumber","voucherNumber","settlementUid","settlementCode","settledAt","amount","dueDate","dueAmount"],"properties":{"store":{"$ref":"#/components/schemas/OpenItemsStoreSchema"},"customer":{"$ref":"#/components/schemas/OpenItemsCustomerSchema"},"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"voucherNumber":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementCode":{"type":"string"},"settledAt":{"type":"string","format":"date-time"},"amount":{"type":"integer"},"dueDate":{"type":"string","format":"date"},"dueAmount":{"type":"integer"}}},"OpenItemsStoreSchema":{"title":"OpenItemsStoreSchema","type":"object","required":["storeUid","name","vatNumber"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"vatNumber":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OpenItemsCustomerSchema":{"title":"OpenItemsCustomerSchema","type":"object","required":["customerUid","displayName","ledgerNumber"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"ledgerNumber":{"type":"string"}}}}}}
```

## The OpenItemsSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpenItemsSchema":{"title":"OpenItemsSchema","type":"object","required":["store","customer","orderUid","orderNumber","voucherNumber","settlementUid","settlementCode","settledAt","amount","dueDate","dueAmount"],"properties":{"store":{"$ref":"#/components/schemas/OpenItemsStoreSchema"},"customer":{"$ref":"#/components/schemas/OpenItemsCustomerSchema"},"orderUid":{"$ref":"#/components/schemas/UID"},"orderNumber":{"type":"string"},"voucherNumber":{"type":"string"},"settlementUid":{"$ref":"#/components/schemas/UID"},"settlementCode":{"type":"string"},"settledAt":{"type":"string","format":"date-time"},"amount":{"type":"integer"},"dueDate":{"type":"string","format":"date"},"dueAmount":{"type":"integer"}}},"OpenItemsStoreSchema":{"title":"OpenItemsStoreSchema","type":"object","required":["storeUid","name","vatNumber"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"vatNumber":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OpenItemsCustomerSchema":{"title":"OpenItemsCustomerSchema","type":"object","required":["customerUid","displayName","ledgerNumber"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"ledgerNumber":{"type":"string"}}}}}}
```

## The OpenItemsCustomerSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpenItemsCustomerSchema":{"title":"OpenItemsCustomerSchema","type":"object","required":["customerUid","displayName","ledgerNumber"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"ledgerNumber":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OpenItemsStoreSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OpenItemsStoreSchema":{"title":"OpenItemsStoreSchema","type":"object","required":["storeUid","name","vatNumber"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"vatNumber":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderDeliveryPickupPointResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryPickupPointResponseSchema":{"title":"OrderDeliveryPickupPointResponseSchema","type":"object","required":["pickupPointId","pickupPointType","name","address","postalCode","city","countryCode"],"properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}}}}}
```

## The OrderDeliveryPickupPointRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryPickupPointRequestSchema":{"title":"OrderDeliveryPickupPointRequestSchema","type":"object","properties":{"pickupPointId":{"type":"string"},"pickupPointType":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"}}}}}}
```

## The DeliveryServiceRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryServiceRequestSchema":{"title":"DeliveryServiceRequestSchema","type":"object","required":["postalCode","productUids"],"properties":{"postalCode":{"type":"string"},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The DeliveryServiceResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryServiceResponseSchema":{"title":"DeliveryServiceProductResponseSchema","type":"object","required":["productUid","serviceProducts","freightServiceProducts"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"serviceProducts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductResponseSchema"}},"freightServiceProducts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreProductResponseSchema":{"allOf":[{"type":"object","properties":{"storeProductDetails":{"$ref":"#/components/schemas/StoreProductDetailsSchema"}},"required":["costPrice","grossProfitAmount","grossProfitPercentage","price","quantityReserved","quantityStock","storeProductDetails"]},{"$ref":"#/components/schemas/ProductResponseSchema"}],"description":"StoreProductResponseSchema"},"StoreProductDetailsSchema":{"description":"StoreProductDetailsSchema","type":"object","title":"StoreProductDetailsSchema","required":["grossProfitAmount","grossProfitPercentage","costPrice","price","campaignPrice","campaignName","quantityReserved","quantityStock","quantityOrdered","warehouseStockDetails","soaAmounts"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"price":{"type":"integer"},"campaignPrice":{"type":"integer","description":"Lowest price found in an active campaign"},"campaignName":{"type":"string","description":"Name of campaign for campaignPrice"},"quantityReserved":{"type":"integer","description":"Total reserved quantity on salesorders"},"quantityStock":{"type":"integer","description":"Total quantity in stock"},"quantityOrdered":{"type":"integer","description":"Total Quantity in purchase orders that is not received yet."},"warehouseStockDetails":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductWarehouseStockDetailsSchema"}},"soaAmounts":{"type":"array","items":{"$ref":"#/components/schemas/StoreProductSOADetailsSchema"}}}},"StoreProductWarehouseStockDetailsSchema":{"title":"StoreProductWarehouseStockDetailsSchema","type":"object","required":["grossProfitAmount","grossProfitPercentage","costPrice","quantityReserved","quantityStock","locationLabel","storeUid","storeName","warehouseUid","warehouseName"],"properties":{"grossProfitAmount":{"type":"integer"},"grossProfitPercentage":{"type":"integer"},"costPrice":{"type":"integer"},"quantityReserved":{"type":"integer"},"quantityStock":{"type":"integer"},"locationLabel":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"},"warehouseUid":{"$ref":"#/components/schemas/UID"},"warehouseName":{"type":"string"}}},"StoreProductSOADetailsSchema":{"title":"StoreProductSOADetailsSchema","type":"object","required":["soaUid","soaName","amount","fromDateTime","toDateTime","soaAmountUid"],"properties":{"soaUid":{"$ref":"#/components/schemas/UID"},"soaName":{"type":"string"},"amount":{"type":"integer"},"fromDateTime":{"type":"string","format":"date-time"},"toDateTime":{"type":"string","format":"date-time"},"soaAmountUid":{"$ref":"#/components/schemas/UID"}}},"ProductResponseSchema":{"title":"ProductResponseSchema","type":"object","required":["allowAddon","allowCredit","allowNegativePrice","allowPurchase","allowQuantity","allowSale","allowSaleDate","allowDelivery","allowDeliveryDate","allowOrderSpecificCost","allowOrderSpecificName","allowDiscount","availableForWeb","brandUid","brandName","calculationFactor","categoryUids","createdAt","customerAgeRestriction","description","discontinuedFrom","externalId","externalInfo","externalUrl","gtins","height","internalInfo","lastModifiedAt","ledgerNumber","length","name","optionProperties","priceOverride","productGroupUid","productGroupPath","productUid","productType","recommendedRetailPrice","requiredVariantPropertyUids","serialNoRequired","sellOnlyAsAddon","shortDescription","sku","manufacturerSku","suppliers","textProperties","unitLabel","variantProductUids","variantParentProductUid","variants","vatCodeUid","weight","width","links","parents","requirements","coverImage","imageCount","relevance","visibility","commission","productWarrantyUid","excludeFromStatistics","purchasePrice","numberOfPieces","limitToStoreUids","tradeUnit","usesVatMarginScheme"],"properties":{"allowAddon":{"type":"boolean","description":"This product has addons"},"allowCredit":{"type":"boolean","description":"The product is allowed to credit"},"allowNegativePrice":{"type":"boolean","description":"There can be set a negative price"},"allowPurchase":{"type":"boolean","description":"The product is allowed to be purchased from a supplier"},"allowQuantity":{"type":"boolean","description":"It is allowed to change quantity"},"allowSale":{"$ref":"#/components/schemas/AllowSaleENUM"},"allowSaleDate":{"format":"date-time","type":"string"},"allowDelivery":{"$ref":"#/components/schemas/AllowDeliveryENUM"},"allowDeliveryDate":{"format":"date-time","type":"string"},"allowOrderSpecificCost":{"type":"boolean","description":"Allow to set costPrice on product when adding or updating the product to an order"},"allowOrderSpecificName":{"type":"boolean","description":"Allow to set name on product when adding or updating the product to an order"},"allowDiscount":{"type":"boolean","description":"Allow to add discount to this product."},"availableForWeb":{"type":"boolean","description":"The product is available for web sale"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"calculationFactor":{"type":"integer"},"categoryUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"createdAt":{"format":"date-time","type":"string"},"customerAgeRestriction":{"type":"integer","description":"Age restriction for the customer. 0 = no restriction"},"description":{"type":"string"},"discontinuedFrom":{"type":"string","format":"date-time","nullable":true},"externalId":{"type":"string"},"externalInfo":{"type":"string"},"externalUrl":{"type":"string"},"gtins":{"type":"array","items":{"$ref":"#/components/schemas/ProductGtinResponseSchema"}},"height":{"type":"integer"},"internalInfo":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"ledgerNumber":{"description":"Ledger number must be a valid number with possible leading zeros","type":"string"},"length":{"type":"integer"},"name":{"type":"string"},"optionProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"priceOverride":{"type":"boolean","description":"Allow to override the price without setting a discount."},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupPath":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroupPathSchema"}},"productUid":{"$ref":"#/components/schemas/UID"},"productType":{"$ref":"#/components/schemas/ProductTypeENUM"},"recommendedRetailPrice":{"type":"integer"},"requiredVariantPropertyUids":{"description":"A list of propertyUids that are required for each variant of this product.","type":"array","items":{"type":"string"}},"serialNoRequired":{"$ref":"#/components/schemas/SerialNoRequiredENUM"},"sellOnlyAsAddon":{"type":"boolean","description":"Can only be sold as an addon product"},"shortDescription":{"type":"string"},"sku":{"type":"string"},"manufacturerSku":{"type":"string"},"suppliers":{"type":"array","items":{"$ref":"#/components/schemas/ProductSupplierResponseSchema"}},"textProperties":{"description":"A list or propertyUids that extends the product with new properties.","type":"array","items":{"$ref":"#/components/schemas/ProductPropertyResponseSchema"}},"unitLabel":{"type":"string"},"variantProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"variantParentProductUid":{"$ref":"#/components/schemas/UID"},"variants":{"description":"A list of productUids that make up variants of this product.","type":"array","deprecated":true,"items":{"type":"string"}},"vatCodeUid":{"$ref":"#/components/schemas/UID"},"usesVatMarginScheme":{"type":"boolean","description":"When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods."},"weight":{"type":"integer"},"width":{"type":"integer"},"links":{"type":"array","description":"List of links owned by this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"parents":{"type":"array","description":"List of parents to this product","items":{"$ref":"#/components/schemas/ProductLinkResponseSchema"}},"requirements":{"$ref":"#/components/schemas/ProductRequirementResponseSchema"},"coverImage":{"$ref":"#/components/schemas/CoverImageSchema"},"imageCount":{"type":"integer"},"relevance":{"type":"number"},"visibility":{"$ref":"#/components/schemas/ProductVisibilityENUM"},"commission":{"type":"integer","description":"A commission to be paid to the supplier after delivery."},"productWarrantyUid":{"$ref":"#/components/schemas/UID"},"excludeFromStatistics":{"type":"boolean"},"purchasePrice":{"type":"integer"},"numberOfPieces":{"type":"integer","description":"Indicates how many packages/parts the product consists of."},"limitToStoreUids":{"$ref":"#/components/schemas/LimitToStoreUidsSchema"},"tradeUnit":{"type":"integer"}}},"AllowSaleENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be sold|\n| NO | Do not allow the product to be sold|\n| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowSaleENUM","type":"string"},"AllowDeliveryENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| YES | Allow the product to be delivered|\n| NO | Do not allow the product to be delivered|\n| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date|","enum":["YES","NO","NOT_BEFORE_DATE"],"title":"AllowDeliveryENUM","type":"string"},"ProductGtinResponseSchema":{"title":"ProductGtinResponseSchema","type":"object","required":["gtin","primary","type"],"properties":{"gtin":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string"}}},"ProductPropertyResponseSchema":{"title":"ProductPropertyResponseSchema","type":"object","required":["productPropertyUid","propertyName","propertyOptionName","propertyType","propertyUid","propertyOptionUid","required"],"properties":{"productPropertyUid":{"$ref":"#/components/schemas/UID"},"propertyName":{"type":"string"},"propertyOptionName":{"type":"string"},"propertyType":{"$ref":"#/components/schemas/PropertyTypeENUM"},"propertyText":{"type":"string","description":"Only in use with TEXT properties."},"propertyUid":{"$ref":"#/components/schemas/UID"},"propertyOptionUid":{"$ref":"#/components/schemas/UID"},"required":{"type":"boolean"}}},"PropertyTypeENUM":{"description":"Describes the type of property a product can have.\n\n|ENUM      | Description |\n| ---------------- | ------------ |\n| TEXT | A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.|\n| SINGLESELECT | A list of values where a product can only have one at any given time.|\n| MULTISELECT | A list of values where a product can have none or several at any given time.|","enum":["TEXT","SINGLESELECT","MULTISELECT"],"title":"PropertyTypeENUM","type":"string"},"ProductGroupPathSchema":{"title":"ProductGroupPathSchema","type":"object","properties":{"name":{"type":"string"},"parentUid":{"$ref":"#/components/schemas/UID"},"productGroupUid":{"$ref":"#/components/schemas/UID"}},"required":["name","parentUid","productGroupUid"]},"ProductTypeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| STOCK | Price*quantity|\n| NO_STOCK | No quantity|\n| CONFIGURABLE | Master configurable product|\n| FLOWGIFTCARD | Flow Giftcard product|\n| PAYEX_GIFTCARD | Payex Giftcard product|\n| NON_PHYSICAL | Non physical product|\n| PACKAGE_FIXED | Packaged product with fixed content|\n| PACKAGE_DYNAMIC | Packaged product with dynamic content|","enum":["STOCK","NO_STOCK","CONFIGURABLE","FLOWGIFTCARD","PAYEX_GIFTCARD","NON_PHYSICAL","PACKAGE_FIXED","PACKAGE_DYNAMIC"],"minLength":1,"title":"ProductTypeENUM","type":"string"},"SerialNoRequiredENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NO | No Serial number required|\n| ON_SALE | Can register serial number when selling a product (Serial number is optional)|\n| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required)|","enum":["NO","ON_SALE","ON_RECEIVE"],"title":"SerialNoRequiredENUM","type":"string"},"ProductSupplierResponseSchema":{"title":"ProductSupplierResponseSchema","type":"object","required":["name","supplierUid","supplierProductUid","purchasePrice","currency","supplierSku"],"properties":{"name":{"type":"string"},"supplierUid":{"$ref":"#/components/schemas/UID"},"supplierProductUid":{"$ref":"#/components/schemas/UID"},"purchasePrice":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217 code"},"supplierSku":{"type":"string"}}},"ProductLinkResponseSchema":{"title":"ProductLinkResponseSchema","allOf":[{"properties":{"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["productLinkUid"],"type":"object"},{"$ref":"#/components/schemas/ProductLinkRequestSchema"}]},"ProductLinkRequestSchema":{"title":"ProductLinkRequestSchema","type":"object","properties":{"linkType":{"$ref":"#/components/schemas/ProductLinkTypeENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productLinkUid":{"$ref":"#/components/schemas/UID"}},"required":["linkType","productUid"]},"ProductLinkTypeENUM":{"enum":["INSURANCE","ALTERNATIVE","ACCESSORY","SPARE_PART","SERVICE","AUTO_ADD","FREIGHT_SERVICE"],"title":"ProductLinkTypeENUM","type":"string","description":"| ENUM | Description |\n|-------|-------------|\n| INSURANCE | Insurance products allowed to be added to the product |\n| ALTERNATIVE | Alternative products if the main product is not available |\n| ACCESSORY | Accessory products for the main product |\n| SPARE_PART | Spare part that can be used to repair the product |\n| SERVICE | Service products. |\n| FREIGHT_SERVICE | Freight service products. |\n| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |"},"ProductRequirementResponseSchema":{"title":"ProductRequirementResponseSchema","type":"object","description":"ProductRequirementResponseSchema","required":["requireCustomer","requireCustomerMobile","requireCustomerEmail","requireCustomerDeliveryAddress","orderItemReference"],"properties":{"requireCustomer":{"type":"boolean"},"requireCustomerMobile":{"type":"boolean"},"requireCustomerEmail":{"type":"boolean"},"requireCustomerDeliveryAddress":{"type":"boolean"},"orderItemReference":{"type":"string","description":"If this field has any value, the order line must include a property with the key `ORDERITEM_REFERENCE`. The allowed values for this field are `phone`, `email`, `not_empty`, or a regular expression."}}},"CoverImageSchema":{"title":"CoverImageSchema","type":"object","properties":{"productMediaUid":{"$ref":"#/components/schemas/UID"},"mainUrl":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["productMediaUid","mainUrl","thumbnailUrl"]},"ProductVisibilityENUM":{"type":"string","title":"ProductVisibilityENUM","enum":["ALWAYS_VISIBLE","NOT_VISIBLE"]},"LimitToStoreUidsSchema":{"title":"LimitToStoreUidsSchema","type":"array","description":"Limit the product to be used for a list of storeUids.","items":{"$ref":"#/components/schemas/UID"}}}}}
```

## The OrderConsentRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderConsentRequestSchema":{"title":"OrderConsentRequestSchema","type":"object","required":["type"],"properties":{"type":{"$ref":"#/components/schemas/OrderConsentENUM"}}},"OrderConsentENUM":{"title":"OrderConsentENUM","type":"string","enum":["SUBSCRIPTION"]}}}}
```

## The OrderConsentENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderConsentENUM":{"title":"OrderConsentENUM","type":"string","enum":["SUBSCRIPTION"]}}}}
```

## The OrderConsentResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderConsentResponseSchema":{"title":"OrderConsentResponseSchema","type":"object","required":["orderItemUid","sku","type","status"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"type":{"$ref":"#/components/schemas/OrderConsentENUM"},"status":{"$ref":"#/components/schemas/OrderConsentResponseTypeENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderConsentENUM":{"title":"OrderConsentENUM","type":"string","enum":["SUBSCRIPTION"]},"OrderConsentResponseTypeENUM":{"title":"OrderConsentResponseTypeENUM","type":"string","enum":["ACCEPT","REJECT","PENDING"]}}}}
```

## The OrderConsentResponseTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderConsentResponseTypeENUM":{"title":"OrderConsentResponseTypeENUM","type":"string","enum":["ACCEPT","REJECT","PENDING"]}}}}
```

## The DeliveryOptionProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DeliveryOptionProductSchema":{"title":"DeliveryOptionProductSchema","type":"object","required":["productUid","quantity"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"quantity":{"type":"integer"},"freightServiceProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"serviceProductUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreAddressResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreAddressResponseSchema":{"title":"StoreAddressResponseSchema","allOf":[{"type":"object","required":["storeAddressUid","companyName","vatNumber","address","postalCode","city","countryCode","email","phone","type","default"],"properties":{"storeAddressUid":{"$ref":"#/components/schemas/UID"},"companyName":{"type":"string"},"vatNumber":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"type":{"$ref":"#/components/schemas/StoreAddressTypeENUM"},"default":{"type":"boolean"}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreAddressTypeENUM":{"title":"StoreAddressTypeENUM","enum":["PURCHASE_INVOICE_ADDRESS","DELIVERY_ADDRESS"],"type":"string"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The StoreAddressTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreAddressTypeENUM":{"title":"StoreAddressTypeENUM","enum":["PURCHASE_INVOICE_ADDRESS","DELIVERY_ADDRESS"],"type":"string"}}}}
```

## The PurchaseOrderInvoiceAddress object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderInvoiceAddress":{"title":"PurchaseOrderInvoiceAddress","type":"object","required":["companyName","address","postalCode","city","countryCode","vatNumber","email"],"properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The PurchaseOrderInvoiceAddressCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderInvoiceAddressCreateSchema":{"title":"PurchaseOrderInvoiceAddressCreateSchema","type":"object","required":["companyName","address","postalCode","city","countryCode"],"properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The PurchaseOrderInvoiceAddressUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PurchaseOrderInvoiceAddressUpdateSchema":{"title":"PurchaseOrderInvoiceAddressUpdateSchema","type":"object","properties":{"companyName":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"vatNumber":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The storeSettlementIssuerSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"storeSettlementIssuerSchema":{"title":"storeSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["storeSettlementIssuerUid","name","code"],"properties":{"storeSettlementIssuerUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderImportStoreSettlementIssuerSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderImportStoreSettlementIssuerSchema":{"title":"OrderImportStoreSettlementIssuerSchema","type":"object","description":"Settlement issuer information","required":["name","code"],"properties":{"name":{"type":"string","description":"The name of the settlement issuer"},"code":{"type":"string","description":"The code of the settlement issuer"}}}}}}
```

## The ProductsSoldNotDeliveredSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductsSoldNotDeliveredSchema":{"title":"ProductsSoldNotDeliveredSchema","type":"object","properties":{"organisationUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AccountingConfigsCustomerSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsCustomerSchema":{"title":"AccountingConfigsCustomerSchema","type":"object","required":["ledgerNumber"],"properties":{"ledgerNumber":{"type":"string","description":"Ledger number for the customer on the specific store"}}}}}}
```

## The AccountingConfigsFullCustomerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AccountingConfigsFullCustomerResponseSchema":{"title":"AccountingConfigsFullCustomerResponseSchema","type":"object","required":["accounting","customer"],"properties":{"accounting":{"$ref":"#/components/schemas/AccountingConfigsCustomerSchema"},"customer":{"$ref":"#/components/schemas/CustomerResponseSchema"}}},"AccountingConfigsCustomerSchema":{"title":"AccountingConfigsCustomerSchema","type":"object","required":["ledgerNumber"],"properties":{"ledgerNumber":{"type":"string","description":"Ledger number for the customer on the specific store"}}},"CustomerResponseSchema":{"title":"CustomerResponseSchema","type":"object","description":"CustomerResponseSchema","required":["address","city","companyName","countryCode","createdAt","customerUid","customerNumber","customerParentUid","customerType","email","externalId","firstname","lastModifiedAt","lastname","mobile","postalCode","pricelistUid","vatNumber","origin","addresses","contacts","extensions","consents","loyaltyId","displayName","credit","paymentTerms","internalNote","accountManager","ehf","customerGroupUids","defaultStore","relevance"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"countryCode":{"description":"ISO 3166-1: 2 characters representation of country","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"customerParentUid":{"description":"References another customer, establishing it as a department under the main customer. Only applicable when customerType is COMPANY.","$ref":"#/components/schemas/OptionalUID"},"customerType":{"$ref":"#/components/schemas/CustomerTypeENUM"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"externalId":{"type":"string"},"customerNumber":{"type":"string","description":"Tenant-scoped running customer number, assigned on creation. Absent for customers created before customer numbers were enabled, or when the tenant has no customer number series."},"firstname":{"type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"lastname":{"type":"string"},"ledgerNumber":{"type":"string","deprecated":true,"description":"Deprecated. Use ledgerNumber in accountingConfigs instead"},"mobile":{"type":"string"},"postalCode":{"type":"string"},"pricelistUid":{"$ref":"#/components/schemas/OptionalUID"},"vatNumber":{"$ref":"#/components/schemas/VatNumberTYPE"},"origin":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/CustomerAddressResponseSchema"}},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactResponseSchema"}},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerExtensionResponseSchema"}},"consents":{"type":"array","items":{"$ref":"#/components/schemas/CustomerConsentStatusSchema"}},"loyaltyId":{"type":"string"},"displayName":{"type":"string"},"credit":{"$ref":"#/components/schemas/CustomerCreditResponseSchema"},"paymentTerms":{"type":"integer"},"internalNote":{"type":"string"},"accountManager":{"$ref":"#/components/schemas/AccountManagerResponseSchema"},"ehfEnabled":{"type":"boolean","description":"Deprecated: Use ehf -> enabled instead","deprecated":true},"ehf":{"$ref":"#/components/schemas/CustomerEhfResponseSchema"},"customerGroupUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"defaultStore":{"$ref":"#/components/schemas/CustomerStoreResponseSchema"},"representedStore":{"description":"Inter-store trade: the store this customer represents (the buyer). Only set when the INTER_STORE_TRADE extension is active.","allOf":[{"$ref":"#/components/schemas/CustomerStoreResponseSchema"}]},"relevance":{"type":"number"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"CustomerTypeENUM":{"enum":["COMPANY","PERSON","B2B"],"title":"CustomerTypeENUM","type":"string"},"EmailTYPE":{"title":"Email","type":"string"},"VatNumberTYPE":{"description":"VAT identification number for value added tax reporting purposes.","title":"VatNumber","type":"string"},"CustomerAddressResponseSchema":{"title":"CustomerAddressResponseSchema","type":"object","required":["address","city","companyName","firstname","lastname","countryCode","email","phone","postalCode","type","customerAddressUid","displayName"],"properties":{"address":{"type":"string"},"city":{"type":"string"},"companyName":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"countryCode":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"phone":{"type":"string"},"postalCode":{"type":"string"},"type":{"$ref":"#/components/schemas/CustomerAddressTypeENUM"},"customerAddressUid":{"type":"string"},"displayName":{"type":"string"}}},"CustomerAddressTypeENUM":{"enum":["DELIVERY_ADDRESS","INVOICE_ADDRESS"],"title":"CustomerAddressTypeENUM","type":"string"},"CustomerContactResponseSchema":{"title":"CustomerContactResponseSchema","type":"object","description":"CustomerContactResponseSchema","required":["firstname","lastname","email","mobile","address","postalCode","city","createdAt","lastModifiedAt","customerContactUid","extensions","displayName","role"],"properties":{"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"},"address":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedAt":{"type":"string","format":"date-time"},"customerContactUid":{"type":"string"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}}},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerExtensionResponseSchema":{"title":"CustomerExtensionResponseSchema","description":"CustomerExtensionResponseSchema","type":"object","required":["extensionCode","organizationUid"],"properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/OptionalUID"}}},"CustomerConsentStatusSchema":{"title":"CustomerConsentStatusSchema","type":"object","required":["consentUid","name","status","source","createdAt"],"properties":{"consentUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"status":{"type":"boolean"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"CustomerCreditResponseSchema":{"title":"CustomerCreditResponseSchema","required":["limit","balance"],"properties":{"limit":{"type":"integer"},"balance":{"type":"integer"}},"type":"object"},"AccountManagerResponseSchema":{"title":"AccountManagerResponseSchema","type":"object","required":["tenantUserUid","displayName","userCode"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/OptionalUID"},"displayName":{"type":"string"},"userCode":{"type":"string"}}},"CustomerEhfResponseSchema":{"title":"CustomerEhfResponseSchema","type":"object","required":["enabled","address"],"properties":{"enabled":{"type":"boolean","description":"EHF is enabled for this customer"},"address":{"type":"string","description":"EHF address"}}},"CustomerStoreResponseSchema":{"title":"CustomerStoreResponseSchema","type":"object","nullable":true,"required":["name","storeUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The StoreCashReconciliationSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCashReconciliationSchema":{"title":"StoreCashReconciliationSchema","allOf":[{"type":"object","required":["storeCashReconciliationUid","reconciliationDate","balance","depositAmount","deposits","status","note","tenantUserUid","tenantUserDisplayName","review","cashReports"],"properties":{"storeCashReconciliationUid":{"$ref":"#/components/schemas/UID"},"reconciliationDate":{"type":"string","format":"date"},"balance":{"type":"integer"},"depositAmount":{"type":"integer"},"deposits":{"type":"array","items":{"$ref":"#/components/schemas/CashDepositSchema"}},"status":{"$ref":"#/components/schemas/StoreCashReconciliationStatusENUM"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"},"review":{"$ref":"#/components/schemas/StoreCashReconciliationReviewSchema"},"cashReports":{"type":"array","items":{"$ref":"#/components/schemas/ExtendedTillCashReportSchema"}}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CashDepositSchema":{"title":"CashDepositSchema","type":"object","required":["cashDepositUid","depositNumber","amount","depositedAt","denominations","reconciliations"],"properties":{"cashDepositUid":{"$ref":"#/components/schemas/UID"},"depositNumber":{"type":"string"},"amount":{"type":"integer"},"depositedAt":{"type":"string","format":"date-time"},"denominations":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}},"reconciliations":{"type":"array","items":{"$ref":"#/components/schemas/StoreCashReconciliationSummary"}}}},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"},"StoreCashReconciliationSummary":{"title":"StoreCashReconciliationSummary","type":"object","required":["storeCashReconciliationUid","reconciliationDate","depositAmount","status"],"properties":{"storeCashReconciliationUid":{"$ref":"#/components/schemas/UID"},"reconciliationDate":{"type":"string","format":"date"},"depositAmount":{"type":"integer"},"status":{"$ref":"#/components/schemas/StoreCashReconciliationStatusENUM"}}},"StoreCashReconciliationStatusENUM":{"type":"string","title":"StoreCashReconciliationStatusENUM","enum":["IN_PROGRESS","COMPLETE","NOT_STARTED"]},"StoreCashReconciliationReviewSchema":{"title":"StoreCashReconciliationReviewSchema","type":"object","nullable":true,"required":["reviewedAt","approved","note","tenantUserUid","tenantUserDisplayName"],"properties":{"reviewedAt":{"type":"string","format":"date-time"},"approved":{"type":"boolean"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"ExtendedTillCashReportSchema":{"title":"ExtendedTillCashReportSchema","allOf":[{"type":"object","required":["tillUid","tillName","tillNumber"],"properties":{"tillUid":{"$ref":"#/components/schemas/UID"},"tillName":{"type":"string"},"tillNumber":{"type":"integer"}}},{"$ref":"#/components/schemas/TillCashReportResponseSchema"}]},"TillCashReportResponseSchema":{"description":" Cash report for a till","title":"TillCashReportResponseSchema","type":"object","properties":{"bankdepositAmount":{"type":"integer","nullable":true},"bankdepositReference":{"type":"string"},"cashDifferenceAmount":{"description":"The cash difference amount.  \nCalculation: (countedAmount + withdrawalAmount ) - (changeAmount + cashRevenueAmount)","type":"integer"},"cashRevenueAmount":{"description":"After the till is closed the cash revenue will be calculated in this field","type":"integer"},"cashreportUid":{"$ref":"#/components/schemas/UID"},"changeAmount":{"type":"integer"},"closedAt":{"format":"date-time","type":"string","nullable":true},"closedByDisplayName":{"type":"string"},"comment":{"type":"string"},"countedAmount":{"type":"integer","nullable":true},"openAt":{"format":"date-time","type":"string"},"openByDisplayName":{"type":"string"},"status":{"$ref":"#/components/schemas/TillStatusENUM"},"withdrawalAmount":{"type":"integer","nullable":true},"cashDetailsAtOpen":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}},"cashDetailsAtClose":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}},"required":["bankdepositAmount","bankdepositReference","cashDifferenceAmount","cashRevenueAmount","cashreportUid","changeAmount","closedAt","closedByDisplayName","comment","countedAmount","openAt","openByDisplayName","status","withdrawalAmount"]},"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The StoreCashReconciliationReviewSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCashReconciliationReviewSchema":{"title":"StoreCashReconciliationReviewSchema","type":"object","nullable":true,"required":["reviewedAt","approved","note","tenantUserUid","tenantUserDisplayName"],"properties":{"reviewedAt":{"type":"string","format":"date-time"},"approved":{"type":"boolean"},"note":{"type":"string"},"tenantUserUid":{"$ref":"#/components/schemas/UID"},"tenantUserDisplayName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreCashReconciliationReviewRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCashReconciliationReviewRequestSchema":{"title":"StoreCashReconciliationReviewRequestSchema","type":"object","required":["tenantUserUid","reviewedAt","approved","pin"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/UID"},"reviewedAt":{"type":"string","format":"date-time"},"approved":{"type":"boolean"},"note":{"type":"string"},"pin":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StoreCashReconciliationStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCashReconciliationStatusENUM":{"type":"string","title":"StoreCashReconciliationStatusENUM","enum":["IN_PROGRESS","COMPLETE","NOT_STARTED"]}}}}
```

## The CashDepositSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashDepositSchema":{"title":"CashDepositSchema","type":"object","required":["cashDepositUid","depositNumber","amount","depositedAt","denominations","reconciliations"],"properties":{"cashDepositUid":{"$ref":"#/components/schemas/UID"},"depositNumber":{"type":"string"},"amount":{"type":"integer"},"depositedAt":{"type":"string","format":"date-time"},"denominations":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}},"reconciliations":{"type":"array","items":{"$ref":"#/components/schemas/StoreCashReconciliationSummary"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"},"StoreCashReconciliationSummary":{"title":"StoreCashReconciliationSummary","type":"object","required":["storeCashReconciliationUid","reconciliationDate","depositAmount","status"],"properties":{"storeCashReconciliationUid":{"$ref":"#/components/schemas/UID"},"reconciliationDate":{"type":"string","format":"date"},"depositAmount":{"type":"integer"},"status":{"$ref":"#/components/schemas/StoreCashReconciliationStatusENUM"}}},"StoreCashReconciliationStatusENUM":{"type":"string","title":"StoreCashReconciliationStatusENUM","enum":["IN_PROGRESS","COMPLETE","NOT_STARTED"]}}}}
```

## The StoreCashReconciliationSummary object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StoreCashReconciliationSummary":{"title":"StoreCashReconciliationSummary","type":"object","required":["storeCashReconciliationUid","reconciliationDate","depositAmount","status"],"properties":{"storeCashReconciliationUid":{"$ref":"#/components/schemas/UID"},"reconciliationDate":{"type":"string","format":"date"},"depositAmount":{"type":"integer"},"status":{"$ref":"#/components/schemas/StoreCashReconciliationStatusENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreCashReconciliationStatusENUM":{"type":"string","title":"StoreCashReconciliationStatusENUM","enum":["IN_PROGRESS","COMPLETE","NOT_STARTED"]}}}}
```

## The TillCashReportKey object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillCashReportKey":{"title":"TillCashRegisterStatusKey","type":"object","required":["tillUid","cashReportUid"],"properties":{"tillUid":{"$ref":"#/components/schemas/UID"},"cashReportUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The CashDepositRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CashDepositRequestSchema":{"title":"CashDepositRequestSchema","type":"object","properties":{"depositNumber":{"type":"string"},"amount":{"type":"integer"},"depositedAt":{"type":"string","format":"date-time"},"denominations":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}}},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The ReasonsReportRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonsReportRequestSchema":{"title":"ReasonsReportRequestSchema","type":"object","description":"Request schema for reasons usage report","required":["fromDateTime","toDateTime"],"properties":{"fromDateTime":{"type":"string","format":"date-time","description":"Start date and time for the report period"},"toDateTime":{"type":"string","format":"date-time","description":"End date and time for the report period"},"storeUid":{"$ref":"#/components/schemas/OptionalUID"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The DiscountReasonStatisticSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"DiscountReasonStatisticSchema":{"title":"DiscountReasonStatisticSchema","type":"object","description":"Aggregated statistics for a discount reason code","required":["reasonCode","reasonDescription","totalAmount","percentageOfTotal","totalOccurrences"],"properties":{"reasonCode":{"type":"string","description":"The unique code identifying the discount reason"},"reasonDescription":{"type":"string","description":"The description of the discount reason"},"totalAmount":{"type":"integer","description":"Total discount amount (in minor units, e.g. cents) for this reason","minimum":0},"percentageOfTotal":{"type":"number","format":"double","description":"Percentage of total discount amount represented by this reason","minimum":0,"maximum":100},"totalOccurrences":{"type":"integer","description":"Number of times this discount reason was used","minimum":0}}}}}}
```

## The ReturnReasonStatisticSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReturnReasonStatisticSchema":{"title":"ReturnReasonStatisticSchema","type":"object","description":"Aggregated statistics for a return reason code","required":["reasonCode","reasonDescription","totalAmount","percentageOfTotal","totalOccurrences"],"properties":{"reasonCode":{"type":"string","description":"The unique code identifying the return reason"},"reasonDescription":{"type":"string","description":"The description of the return reason"},"totalAmount":{"type":"integer","description":"Total return amount (in minor units, e.g. cents) for this reason","minimum":0},"percentageOfTotal":{"type":"number","format":"double","description":"Percentage of total return amount represented by this reason","minimum":0,"maximum":100},"totalOccurrences":{"type":"integer","description":"Number of times this return reason was used","minimum":0}}}}}}
```

## The ReasonsReportResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ReasonsReportResponseSchema":{"title":"ReasonsReportResponseSchema","type":"object","description":"Response schema for reasons usage report with aggregated discount and return reason data","required":["discountReasons","returnReasons"],"properties":{"discountReasons":{"type":"array","description":"Aggregated statistics for discount reasons used during the report period","items":{"$ref":"#/components/schemas/DiscountReasonStatisticSchema"}},"returnReasons":{"type":"array","description":"Aggregated statistics for return reasons used during the report period","items":{"$ref":"#/components/schemas/ReturnReasonStatisticSchema"}}}},"DiscountReasonStatisticSchema":{"title":"DiscountReasonStatisticSchema","type":"object","description":"Aggregated statistics for a discount reason code","required":["reasonCode","reasonDescription","totalAmount","percentageOfTotal","totalOccurrences"],"properties":{"reasonCode":{"type":"string","description":"The unique code identifying the discount reason"},"reasonDescription":{"type":"string","description":"The description of the discount reason"},"totalAmount":{"type":"integer","description":"Total discount amount (in minor units, e.g. cents) for this reason","minimum":0},"percentageOfTotal":{"type":"number","format":"double","description":"Percentage of total discount amount represented by this reason","minimum":0,"maximum":100},"totalOccurrences":{"type":"integer","description":"Number of times this discount reason was used","minimum":0}}},"ReturnReasonStatisticSchema":{"title":"ReturnReasonStatisticSchema","type":"object","description":"Aggregated statistics for a return reason code","required":["reasonCode","reasonDescription","totalAmount","percentageOfTotal","totalOccurrences"],"properties":{"reasonCode":{"type":"string","description":"The unique code identifying the return reason"},"reasonDescription":{"type":"string","description":"The description of the return reason"},"totalAmount":{"type":"integer","description":"Total return amount (in minor units, e.g. cents) for this reason","minimum":0},"percentageOfTotal":{"type":"number","format":"double","description":"Percentage of total return amount represented by this reason","minimum":0,"maximum":100},"totalOccurrences":{"type":"integer","description":"Number of times this return reason was used","minimum":0}}}}}}
```

## The StockLogSalesOrderReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogSalesOrderReferenceSchema":{"title":"StockLogSalesOrderReferenceSchema","type":"object","nullable":true,"required":["orderNumber","orderUid","storeUid","orderItemUid"],"properties":{"orderNumber":{"type":"string"},"orderUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogReceivementReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogReceivementReferenceSchema":{"title":"StockLogReceivementReferenceSchema","type":"object","nullable":true,"required":["purchaseNumber","storeUid","purchaseOrderUid","purchaseOrderItemUid","receivementUid","receivementItemUid"],"properties":{"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogRmaOrderReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogRmaOrderReferenceSchema":{"title":"StockLogRmaOrderReferenceSchema","type":"object","nullable":true,"required":["rmaNumber","storeUid","rmaOrderUid","rmaOrderItemUid"],"properties":{"rmaNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"rmaOrderUid":{"$ref":"#/components/schemas/UID"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogStocktakingReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogStocktakingReferenceSchema":{"title":"StockLogStocktakingReferenceSchema","type":"object","nullable":true,"required":["name","storeUid","stocktakingUid","stocktakingItemUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogInternalPurchaseOrderReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogInternalPurchaseOrderReferenceSchema":{"title":"StockLogInternalPurchaseOrderReferenceSchema","type":"object","nullable":true,"required":["internalPurchaseNumber","storeUid","internalPurchaseOrderUid","internalPurchaseOrderItemUid"],"properties":{"internalPurchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogServiceOrderReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogServiceOrderReferenceSchema":{"title":"StockLogServiceOrderReferenceSchema","type":"object","nullable":true,"required":["serviceOrderNumber","storeUid","serviceOrderUid","serviceOrderItemUid"],"properties":{"serviceOrderNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SalesReservationReceivementSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SalesReservationReceivementSchema":{"title":"SalesReservationReceivementSchema","type":"object","required":["receivementUid","receivementItemUid","expectedArrival","quantity","supplierOrderReference","receivedAt"],"properties":{"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"},"expectedArrival":{"type":"string","format":"date-time"},"expectedDispatch":{"type":"string","format":"date-time"},"quantity":{"type":"integer"},"supplierOrderReference":{"type":"string"},"receivedAt":{"type":"string","format":"date-time","nullable":true}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ProfraktPickupLocationRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProfraktPickupLocationRequestSchema":{"title":"ProfraktPickupLocationRequestSchema","type":"object","description":"Profrakt Pickup Location request Schema","required":["postalCode","city","countryCode","carrier"],"properties":{"postalCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"carrier":{"type":"string"},"address":{"type":"string"}}}}}}
```

## The ProfraktPickupLocationResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProfraktPickupLocationResponseSchema":{"title":"ProfraktPickupLocationResponseSchema","type":"object","required":["number","name","address1","address2","postalCode","countryCode","distanceInKm","city"],"properties":{"number":{"type":"string"},"name":{"type":"string"},"address1":{"type":"string"},"address2":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"distanceInKm":{"type":"number","format":"double"},"city":{"type":"string"}}}}}}
```

## The ExtendedTillCashReportSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ExtendedTillCashReportSchema":{"title":"ExtendedTillCashReportSchema","allOf":[{"type":"object","required":["tillUid","tillName","tillNumber"],"properties":{"tillUid":{"$ref":"#/components/schemas/UID"},"tillName":{"type":"string"},"tillNumber":{"type":"integer"}}},{"$ref":"#/components/schemas/TillCashReportResponseSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"TillCashReportResponseSchema":{"description":" Cash report for a till","title":"TillCashReportResponseSchema","type":"object","properties":{"bankdepositAmount":{"type":"integer","nullable":true},"bankdepositReference":{"type":"string"},"cashDifferenceAmount":{"description":"The cash difference amount.  \nCalculation: (countedAmount + withdrawalAmount ) - (changeAmount + cashRevenueAmount)","type":"integer"},"cashRevenueAmount":{"description":"After the till is closed the cash revenue will be calculated in this field","type":"integer"},"cashreportUid":{"$ref":"#/components/schemas/UID"},"changeAmount":{"type":"integer"},"closedAt":{"format":"date-time","type":"string","nullable":true},"closedByDisplayName":{"type":"string"},"comment":{"type":"string"},"countedAmount":{"type":"integer","nullable":true},"openAt":{"format":"date-time","type":"string"},"openByDisplayName":{"type":"string"},"status":{"$ref":"#/components/schemas/TillStatusENUM"},"withdrawalAmount":{"type":"integer","nullable":true},"cashDetailsAtOpen":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}},"cashDetailsAtClose":{"type":"array","items":{"$ref":"#/components/schemas/CashDetailSchema"}}},"required":["bankdepositAmount","bankdepositReference","cashDifferenceAmount","cashRevenueAmount","cashreportUid","changeAmount","closedAt","closedByDisplayName","comment","countedAmount","openAt","openByDisplayName","status","withdrawalAmount"]},"TillStatusENUM":{"enum":["OPEN","CLOSED","CLOSED_NOT_COUNTED"],"title":"TillStatus","type":"string"},"CashDetailSchema":{"title":"CashDetailSchema","type":"object","properties":{"currencyCode":{"type":"string"},"denomination":{"type":"integer"},"material":{"$ref":"#/components/schemas/CurrencyDenominationMaterialENUM"},"quantityCounted":{"type":"integer"},"amount":{"type":"integer"}},"required":["currencyCode","denomination","material","quantityCounted","amount"]},"CurrencyDenominationMaterialENUM":{"description":"","enum":["COIN","NOTE"],"title":"CurrencyDenominationMaterialENUM","type":"string"}}}}
```

## The TenantUserPermissionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantUserPermissionResponseSchema":{"title":"TenantUserPermissionResponseSchema","type":"object","required":["tenant","stores","organizations"],"properties":{"tenant":{"type":"array","items":{"type":"string"}},"stores":{"type":"array","items":{"$ref":"#/components/schemas/StorePermissionResponseSchema"}},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationPermissionResponseSchema"}}}},"StorePermissionResponseSchema":{"title":"StorePermissionResponseSchema","type":"object","required":["store","permissions"],"properties":{"store":{"$ref":"#/components/schemas/BasicStoreResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrganizationPermissionResponseSchema":{"title":"OrganizationPermissionResponseSchema","type":"object","required":["organization","permissions"],"properties":{"organization":{"$ref":"#/components/schemas/BasicOrganizationResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicOrganizationResponseSchema":{"title":"BasicOrganizationResponseSchema","type":"object","required":["name","organizationUid"],"properties":{"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The StorePermissionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StorePermissionResponseSchema":{"title":"StorePermissionResponseSchema","type":"object","required":["store","permissions"],"properties":{"store":{"$ref":"#/components/schemas/BasicStoreResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicStoreResponseSchema":{"title":"BasicStoreResponseSchema","type":"object","required":["name","storeUid","organizationUid","organizationName"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrganizationPermissionResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrganizationPermissionResponseSchema":{"title":"OrganizationPermissionResponseSchema","type":"object","required":["organization","permissions"],"properties":{"organization":{"$ref":"#/components/schemas/BasicOrganizationResponseSchema"},"permissions":{"type":"array","items":{"type":"string"}}}},"BasicOrganizationResponseSchema":{"title":"BasicOrganizationResponseSchema","type":"object","required":["name","organizationUid"],"properties":{"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The StockLogReferenceSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"StockLogReferenceSchema":{"title":"StockLogReferenceSchema","type":"object","required":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","responseType"],"properties":{"salesOrder":{"$ref":"#/components/schemas/StockLogSalesOrderReferenceSchema"},"rmaOrder":{"$ref":"#/components/schemas/StockLogRmaOrderReferenceSchema"},"stocktaking":{"$ref":"#/components/schemas/StockLogStocktakingReferenceSchema"},"internalPurchaseOrder":{"$ref":"#/components/schemas/StockLogInternalPurchaseOrderReferenceSchema"},"serviceOrder":{"$ref":"#/components/schemas/StockLogServiceOrderReferenceSchema"},"receivement":{"$ref":"#/components/schemas/StockLogReceivementReferenceSchema"},"responseType":{"type":"string","enum":["salesOrder","rmaOrder","stocktaking","internalPurchaseOrder","serviceOrder","receivement","noReference"]}}},"StockLogSalesOrderReferenceSchema":{"title":"StockLogSalesOrderReferenceSchema","type":"object","nullable":true,"required":["orderNumber","orderUid","storeUid","orderItemUid"],"properties":{"orderNumber":{"type":"string"},"orderUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"$ref":"#/components/schemas/UID"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StockLogRmaOrderReferenceSchema":{"title":"StockLogRmaOrderReferenceSchema","type":"object","nullable":true,"required":["rmaNumber","storeUid","rmaOrderUid","rmaOrderItemUid"],"properties":{"rmaNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"rmaOrderUid":{"$ref":"#/components/schemas/UID"},"rmaOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogStocktakingReferenceSchema":{"title":"StockLogStocktakingReferenceSchema","type":"object","nullable":true,"required":["name","storeUid","stocktakingUid","stocktakingItemUid"],"properties":{"name":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"stocktakingUid":{"$ref":"#/components/schemas/UID"},"stocktakingItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogInternalPurchaseOrderReferenceSchema":{"title":"StockLogInternalPurchaseOrderReferenceSchema","type":"object","nullable":true,"required":["internalPurchaseNumber","storeUid","internalPurchaseOrderUid","internalPurchaseOrderItemUid"],"properties":{"internalPurchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"internalPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogServiceOrderReferenceSchema":{"title":"StockLogServiceOrderReferenceSchema","type":"object","nullable":true,"required":["serviceOrderNumber","storeUid","serviceOrderUid","serviceOrderItemUid"],"properties":{"serviceOrderNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"serviceOrderUid":{"$ref":"#/components/schemas/UID"},"serviceOrderItemUid":{"$ref":"#/components/schemas/UID"}}},"StockLogReceivementReferenceSchema":{"title":"StockLogReceivementReferenceSchema","type":"object","nullable":true,"required":["purchaseNumber","storeUid","purchaseOrderUid","purchaseOrderItemUid","receivementUid","receivementItemUid"],"properties":{"purchaseNumber":{"type":"string"},"storeUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderUid":{"$ref":"#/components/schemas/UID"},"purchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"receivementUid":{"$ref":"#/components/schemas/UID"},"receivementItemUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The TillOperationActionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillOperationActionENUM":{"title":"TillOperationActionENUM","type":"string","enum":["CLEAR_ORDER"],"description":"Action | Description\n---------|----------\nCLEAR_ORDER | Removes the current order from the till, regardless of the state of the order. Requires SUPERADMIN \n"}}}}
```

## The PosterTemplateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PosterTemplateSchema":{"allOf":[{"type":"object","required":["posterTemplateUid","name","html","size","orientation","previewImage","thousandSeparator"],"properties":{"posterTemplateUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"html":{"type":"string","description":"template body"},"size":{"$ref":"#/components/schemas/PaperSizeEnum"},"orientation":{"$ref":"#/components/schemas/PaperOrientationEnum"},"previewImage":{"type":"string","description":"base64 encoded image data"},"thousandSeparator":{"$ref":"#/components/schemas/ThousandSeparatorENUM"}}},{"$ref":"#/components/schemas/CreatedModifiedSchema"}]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"PaperSizeEnum":{"title":"PaperSizeEnum","type":"string","enum":["A1","A2","A3","A4","A5","A6"]},"PaperOrientationEnum":{"title":"PaperOrientationEnum","type":"string","enum":["Portrait","Landscape"]},"ThousandSeparatorENUM":{"title":"ThousandSeparatorENUM","type":"string","enum":["COMMA","DOT","SPACE","NONE"]},"CreatedModifiedSchema":{"title":"CreatedModifiedSchema","type":"object","required":["createdBy","createdAt","lastModifiedBy","lastModifiedAt"],"properties":{"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"}}}}}}
```

## The PaperSizeEnum object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaperSizeEnum":{"title":"PaperSizeEnum","type":"string","enum":["A1","A2","A3","A4","A5","A6"]}}}}
```

## The PaperOrientationEnum object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaperOrientationEnum":{"title":"PaperOrientationEnum","type":"string","enum":["Portrait","Landscape"]}}}}
```

## The PosterTemplateBaseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PosterTemplateBaseSchema":{"title":"PosterTemplateBaseSchema","type":"object","required":["name","size","orientation","html"],"properties":{"name":{"type":"string"},"size":{"$ref":"#/components/schemas/PaperSizeEnum"},"orientation":{"$ref":"#/components/schemas/PaperOrientationEnum"},"html":{"type":"string","description":"template body"}}},"PaperSizeEnum":{"title":"PaperSizeEnum","type":"string","enum":["A1","A2","A3","A4","A5","A6"]},"PaperOrientationEnum":{"title":"PaperOrientationEnum","type":"string","enum":["Portrait","Landscape"]}}}}
```

## The PosterProductRequest object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PosterProductRequest":{"title":"PosterProductRequest","type":"object","properties":{"sku":{"type":"string"},"name":{"type":"string"},"nowPrice":{"type":"integer"},"beforePrice":{"type":"integer"},"discountPercentage":{"type":"integer"},"brandName":{"type":"string"},"description":{"type":"string"},"usps":{"type":"array","description":"Unique Selling Propositions","items":{"type":"string"}},"imageUrl":{"type":"string"},"barcodeValue":{"type":"string"},"properties":{"type":"array","items":{"type":"string"}}}}}}}
```

## The TillDeviceResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TillDeviceResponseSchema":{"title":"TillDeviceResponseSchema","type":"object","nullable":true,"required":["deviceUid","identifier","name"],"properties":{"deviceUid":{"$ref":"#/components/schemas/UID"},"identifier":{"type":"string"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderStatusResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderStatusResponseSchema":{"title":"OrderStatusResponseSchema","type":"object","required":["orderItems","deliveries"],"properties":{"orderItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemStatusSchema"}},"deliveries":{"type":"array","items":{"$ref":"#/components/schemas/OrderDeliveryStatusSchema"}}}},"OrderItemStatusSchema":{"title":"OrderItemStatusSchema","type":"object","required":["severity","message","orderItemUid"],"properties":{"severity":{"$ref":"#/components/schemas/SeverityENUM"},"message":{"type":"string"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"SeverityENUM":{"title":"SeverityENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| WARNING | Warning message, not critical|\n| ERROR | Error message, action must be taken by user|","type":"string","enum":["WARNING","ERROR"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderDeliveryStatusSchema":{"title":"OrderDeliveryStatusSchema","type":"object","required":["severity","message","orderDeliveryUid"],"properties":{"severity":{"$ref":"#/components/schemas/SeverityENUM"},"message":{"type":"string"},"orderDeliveryUid":{"$ref":"#/components/schemas/UID"}}}}}}
```

## The OrderItemStatusSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemStatusSchema":{"title":"OrderItemStatusSchema","type":"object","required":["severity","message","orderItemUid"],"properties":{"severity":{"$ref":"#/components/schemas/SeverityENUM"},"message":{"type":"string"},"orderItemUid":{"$ref":"#/components/schemas/UID"}}},"SeverityENUM":{"title":"SeverityENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| WARNING | Warning message, not critical|\n| ERROR | Error message, action must be taken by user|","type":"string","enum":["WARNING","ERROR"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The OrderDeliveryStatusSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderDeliveryStatusSchema":{"title":"OrderDeliveryStatusSchema","type":"object","required":["severity","message","orderDeliveryUid"],"properties":{"severity":{"$ref":"#/components/schemas/SeverityENUM"},"message":{"type":"string"},"orderDeliveryUid":{"$ref":"#/components/schemas/UID"}}},"SeverityENUM":{"title":"SeverityENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| WARNING | Warning message, not critical|\n| ERROR | Error message, action must be taken by user|","type":"string","enum":["WARNING","ERROR"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The SeverityENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SeverityENUM":{"title":"SeverityENUM","description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| WARNING | Warning message, not critical|\n| ERROR | Error message, action must be taken by user|","type":"string","enum":["WARNING","ERROR"]}}}}
```

## The CustomerRequiredFieldENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]}}}}
```

## The NullableCustomerRequiredFieldArray object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"NullableCustomerRequiredFieldArray":{"title":"NullableCustomerRequiredFieldArray","type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomerRequiredFieldENUM"},"description":"Type-specific required-field override. Null means inherit requiredCustomerFields.\nAn empty array means no required fields for this type (explicit override).\n"},"CustomerRequiredFieldENUM":{"title":"CustomerRequiredFieldENUM","type":"string","enum":["email","mobile","vatNumber","postalCode","city","address"]}}}}
```

## The ThousandSeparatorENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ThousandSeparatorENUM":{"title":"ThousandSeparatorENUM","type":"string","enum":["COMMA","DOT","SPACE","NONE"]}}}}
```

## The FlowboxAutoRegisterSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"FlowboxAutoRegisterSchema":{"title":"FlowboxAutoRegisterSchema","type":"object","properties":{"hostname":{"type":"string"}}}}}}
```

## The SubscriberResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SubscriberResponseSchema":{"title":"SubscriberResponseSchema","type":"object","required":["subscriberUid","subscription","tenantUser","createdAt","createdBy"],"properties":{"subscriberUid":{"$ref":"#/components/schemas/UID"},"subscription":{"$ref":"#/components/schemas/SubscriberSubscription"},"tenantUser":{"$ref":"#/components/schemas/SubscriberTenantUser"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"SubscriberSubscription":{"title":"SubscriberSubscription","type":"object","required":["type","name"],"properties":{"type":{"$ref":"#/components/schemas/SubscriberSubscriptionType"},"name":{"type":"string"}}},"SubscriberSubscriptionType":{"title":"SubscriberSubscriptionType","type":"string","enum":["SALES_SUMMARY_REPORT"]},"SubscriberTenantUser":{"title":"SubscriberTenantUser","type":"object","required":["tenantUserUid","displayName","email"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"email":{"type":"string"}}}}}}
```

## The SubscriberSubscription object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SubscriberSubscription":{"title":"SubscriberSubscription","type":"object","required":["type","name"],"properties":{"type":{"$ref":"#/components/schemas/SubscriberSubscriptionType"},"name":{"type":"string"}}},"SubscriberSubscriptionType":{"title":"SubscriberSubscriptionType","type":"string","enum":["SALES_SUMMARY_REPORT"]}}}}
```

## The SubscriberSubscriptionType object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SubscriberSubscriptionType":{"title":"SubscriberSubscriptionType","type":"string","enum":["SALES_SUMMARY_REPORT"]}}}}
```

## The SubscriberTenantUser object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"SubscriberTenantUser":{"title":"SubscriberTenantUser","type":"object","required":["tenantUserUid","displayName","email"],"properties":{"tenantUserUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"email":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The AiChatMessageSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AiChatMessageSchema":{"title":"AiChatMessageSchema","type":"object","required":["role","content"],"properties":{"role":{"$ref":"#/components/schemas/AiRoleENUM"},"content":{"type":"string"}}},"AiRoleENUM":{"title":"AiRoleENUM","type":"string","enum":["USER","ASSISTANT"]}}}}
```

## The AiRoleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AiRoleENUM":{"title":"AiRoleENUM","type":"string","enum":["USER","ASSISTANT"]}}}}
```

## The AiResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AiResponseSchema":{"title":"AiResponseSchema","type":"object","required":["message","conversationHistory","toolsUsed","inputTokens","outputTokens","durationMs"],"properties":{"message":{"type":"string"},"conversationHistory":{"type":"array","items":{"$ref":"#/components/schemas/AiChatMessageSchema"}},"toolsUsed":{"type":"array","items":{"type":"string"}},"inputTokens":{"type":"integer"},"outputTokens":{"type":"integer"},"durationMs":{"type":"integer"}}},"AiChatMessageSchema":{"title":"AiChatMessageSchema","type":"object","required":["role","content"],"properties":{"role":{"$ref":"#/components/schemas/AiRoleENUM"},"content":{"type":"string"}}},"AiRoleENUM":{"title":"AiRoleENUM","type":"string","enum":["USER","ASSISTANT"]}}}}
```

## The AiRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"AiRequestSchema":{"title":"AiRequestSchema","type":"object","required":["message"],"properties":{"message":{"type":"string"},"conversationHistory":{"type":"array","items":{"$ref":"#/components/schemas/AiChatMessageSchema"}},"storeUid":{"$ref":"#/components/schemas/OptionalUID"},"model":{"type":"string"}}},"AiChatMessageSchema":{"title":"AiChatMessageSchema","type":"object","required":["role","content"],"properties":{"role":{"$ref":"#/components/schemas/AiRoleENUM"},"content":{"type":"string"}}},"AiRoleENUM":{"title":"AiRoleENUM","type":"string","enum":["USER","ASSISTANT"]},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The MinimumVersionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"MinimumVersionSchema":{"title":"MinimumVersionSchema","type":"object","description":"Minimum version support schema","required":["appId","version"],"properties":{"appId":{"$ref":"#/components/schemas/DeviceAppCodeENUM"},"version":{"type":"string","description":"The minimum version supported"}}},"DeviceAppCodeENUM":{"title":"DeviceAppCodeENUM","type":"string","enum":["CLIENT","ASSISTANT","UNKNOWN"],"description":"| Enum | Description |\n|---|----|\n| CLIENT | Flow Retail Client |\n| ASSISTANT | Flow Retail Assistant |\n| UNKNOWN | No specific app |"}}}}
```

## The OrderCountRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCountRequestSchema":{"title":"OrderCountRequestSchema","type":"object","required":["queryKey","query"],"properties":{"queryKey":{"type":"string","description":"Used for correlating requests and responses. Can be any value."},"query":{"$ref":"#/components/schemas/TenantOrderSearchSchema"}}},"TenantOrderSearchSchema":{"description":"Search for orders in all stores on tenant. \n\nAn empty string will be ignored, and handled as if the key did not exist in the payload.\n\nFuzzy search means that it will try to find words that contains the query string that is supplied. The search is case-insensitive. \nExample: If you search for \"Ol\" you will get \"Olsen\", \"Olstad\", \"Bolset\", \"Ormebol\", kolstad@example.com, etc ..","title":"TenantOrderSearchSchema","type":"object","properties":{"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"organizationUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"customerQuery":{"description":"Search for orders containting this customer. The customer can be specific by firstname, lastname, phonenumber or email. This is a fuzzy search.","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"fromDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtFrom":{"format":"date-time","type":"string"},"settledAtFrom":{"format":"date-time","type":"string"},"lastModifiedAtFrom":{"format":"date-time","type":"string"},"orderNumber":{"description":"Search for an order with a specific ordernumber. This is an exact lookup","type":"string"},"externalOrderNumber":{"description":"Search for an order with a specific externalOrderNumber. This is an exact lookup","type":"string"},"externalVoucherNumber":{"description":"Search for an order with a specific externalVouchermber. This is an exact lookup","type":"string","deprecated":true},"externalIdKey":{"description":"Search for orders with an external ID for the given key. Must be used together with externalIdValue.","type":"string"},"externalIdValue":{"description":"Exact match on external ID value for the given externalIdKey.","type":"string"},"productSku":{"description":"Search for orders containing the product. This must be a SKU and is an exact lookup.","type":"string"},"toDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtTo":{"format":"date-time","type":"string"},"settledAtTo":{"format":"date-time","type":"string"},"lastModifiedAtTo":{"format":"date-time","type":"string"},"tenantUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderStates":{"type":"array","description":"Reference to a list of orderStates.","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}},"settleStates":{"type":"array","description":"Reference to a list of settleStates.","items":{"$ref":"#/components/schemas/OrderSettleStateENUM"}},"deliveryStates":{"type":"array","description":"Reference to an array of deliveryStates.","items":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"}},"orderStatuses":{"type":"array","description":"Reference to a list of orderStatuses.","items":{"$ref":"#/components/schemas/OrderStatusENUM"}},"orderTypes":{"type":"array","description":"Reference to a list of orderTypes","items":{"$ref":"#/components/schemas/OrderTypeENUM"}},"orderHandlingStates":{"type":"array","items":{"$ref":"#/components/schemas/HandlingStateENUM"}},"orderHandlingUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"deliverFromStoreUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"query":{"type":"string","description":"General fuzzy search."},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"tenantPaymentMethodUids":{"type":"array","description":"Search for order containing one of the specified payment methods.","items":{"$ref":"#/components/schemas/UID"}},"reservationTypes":{"type":"array","items":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}},"isCustomerOrder":{"type":"boolean","description":"If true, returns orders with orderlines that has either reservationType='REQUEST_PURCHASEORDER' or has a link to a purchaseOrder item"},"hasReservedLines":{"type":"boolean","description":"When true, the search returns only orders that include at least one order line with a reservation (reservedQuantity <> 0).\nWhen omitted or false, reservation state does not affect the results."},"amountRange":{"$ref":"#/components/schemas/AmountRangeSchema"},"orderDateFrom":{"type":"string","format":"date-time"},"orderDateTo":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| DELIVERED | Order is completely delivered|\n| READY_FOR_DELIVERY | Order is settled and ready to be delivered|\n| UNPAID | Order is settled with settlementCode INVOICE and is not fully paid|\n| CONFIRMED | Order is confirmed|","enum":["OPEN","PARKED","CANCELED","READY_FOR_DELIVERY","DELIVERED","UNPAID","CONFIRMED"],"title":"OrderStatusENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The OrderCountRequestListSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCountRequestListSchema":{"title":"OrderCountRequestListSchema","type":"object","required":["queries"],"properties":{"queries":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/OrderCountRequestSchema"}}}},"OrderCountRequestSchema":{"title":"OrderCountRequestSchema","type":"object","required":["queryKey","query"],"properties":{"queryKey":{"type":"string","description":"Used for correlating requests and responses. Can be any value."},"query":{"$ref":"#/components/schemas/TenantOrderSearchSchema"}}},"TenantOrderSearchSchema":{"description":"Search for orders in all stores on tenant. \n\nAn empty string will be ignored, and handled as if the key did not exist in the payload.\n\nFuzzy search means that it will try to find words that contains the query string that is supplied. The search is case-insensitive. \nExample: If you search for \"Ol\" you will get \"Olsen\", \"Olstad\", \"Bolset\", \"Ormebol\", kolstad@example.com, etc ..","title":"TenantOrderSearchSchema","type":"object","properties":{"storeUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"organizationUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"customerQuery":{"description":"Search for orders containting this customer. The customer can be specific by firstname, lastname, phonenumber or email. This is a fuzzy search.","type":"string"},"customerUid":{"$ref":"#/components/schemas/UID"},"fromDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtFrom":{"format":"date-time","type":"string"},"settledAtFrom":{"format":"date-time","type":"string"},"lastModifiedAtFrom":{"format":"date-time","type":"string"},"orderNumber":{"description":"Search for an order with a specific ordernumber. This is an exact lookup","type":"string"},"externalOrderNumber":{"description":"Search for an order with a specific externalOrderNumber. This is an exact lookup","type":"string"},"externalVoucherNumber":{"description":"Search for an order with a specific externalVouchermber. This is an exact lookup","type":"string","deprecated":true},"externalIdKey":{"description":"Search for orders with an external ID for the given key. Must be used together with externalIdValue.","type":"string"},"externalIdValue":{"description":"Exact match on external ID value for the given externalIdKey.","type":"string"},"productSku":{"description":"Search for orders containing the product. This must be a SKU and is an exact lookup.","type":"string"},"toDateTime":{"format":"date-time","type":"string","deprecated":true},"createdAtTo":{"format":"date-time","type":"string"},"settledAtTo":{"format":"date-time","type":"string"},"lastModifiedAtTo":{"format":"date-time","type":"string"},"tenantUserUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"orderStates":{"type":"array","description":"Reference to a list of orderStates.","items":{"$ref":"#/components/schemas/OrderOrderStateENUM"}},"settleStates":{"type":"array","description":"Reference to a list of settleStates.","items":{"$ref":"#/components/schemas/OrderSettleStateENUM"}},"deliveryStates":{"type":"array","description":"Reference to an array of deliveryStates.","items":{"$ref":"#/components/schemas/OrderDeliveryStateENUM"}},"orderStatuses":{"type":"array","description":"Reference to a list of orderStatuses.","items":{"$ref":"#/components/schemas/OrderStatusENUM"}},"orderTypes":{"type":"array","description":"Reference to a list of orderTypes","items":{"$ref":"#/components/schemas/OrderTypeENUM"}},"orderHandlingStates":{"type":"array","items":{"$ref":"#/components/schemas/HandlingStateENUM"}},"orderHandlingUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"deliverFromStoreUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"query":{"type":"string","description":"General fuzzy search."},"productUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}},"tenantPaymentMethodUids":{"type":"array","description":"Search for order containing one of the specified payment methods.","items":{"$ref":"#/components/schemas/UID"}},"reservationTypes":{"type":"array","items":{"$ref":"#/components/schemas/SalesReservationTypeENUM"}},"isCustomerOrder":{"type":"boolean","description":"If true, returns orders with orderlines that has either reservationType='REQUEST_PURCHASEORDER' or has a link to a purchaseOrder item"},"hasReservedLines":{"type":"boolean","description":"When true, the search returns only orders that include at least one order line with a reservation (reservedQuantity <> 0).\nWhen omitted or false, reservation state does not affect the results."},"amountRange":{"$ref":"#/components/schemas/AmountRangeSchema"},"orderDateFrom":{"type":"string","format":"date-time"},"orderDateTo":{"type":"string","format":"date-time"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OrderOrderStateENUM":{"description":"|ENUM | Description |\n| --- | --- |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| COMPLETE | Order is complete|\n| CONFIRMED | Order is confirmed|\n","enum":["OPEN","PARKED","CANCELED","COMPLETE","CONFIRMED"],"title":"OrderOrderStateENUM","type":"string"},"OrderSettleStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Settlement not started|\n| IN_PROGRESS | Settlement is in progress and the order cannot be changed|\n| COMPLETE | Settlement is complete|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderSettleStateENUM","type":"string"},"OrderDeliveryStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Delivery not started|\n| IN_PROGRESS | Delivery is in progress. Some order lines are still reserved|\n| COMPLETE | Delivery is complete. All order lines are delivered|","enum":["NOT_STARTED","IN_PROGRESS","COMPLETE"],"title":"OrderDeliveryStateENUM","type":"string"},"OrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| OPEN | Order is open and beeing edited by someone|\n| PARKED | Order is parked|\n| CANCELED | Order is canceled/deleted|\n| DELIVERED | Order is completely delivered|\n| READY_FOR_DELIVERY | Order is settled and ready to be delivered|\n| UNPAID | Order is settled with settlementCode INVOICE and is not fully paid|\n| CONFIRMED | Order is confirmed|","enum":["OPEN","PARKED","CANCELED","READY_FOR_DELIVERY","DELIVERED","UNPAID","CONFIRMED"],"title":"OrderStatusENUM","type":"string"},"OrderTypeENUM":{"enum":["OFFER","ORDER","PAYMENT"],"title":"OrderTypeENUM","type":"string"},"HandlingStateENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NOT_STARTED | Handling has not been started. |\n| IN_PROGRESS | Handling is in progress. |\n| ON_HOLD | Handling is paused (on hold). |\n| COMPLETE | Handling is complete. |","enum":["NOT_STARTED","IN_PROGRESS","ON_HOLD","COMPLETE"],"title":"HandlingStateENUM","type":"string"},"SalesReservationTypeENUM":{"title":"SalesReservationTypeENUM","type":"string","enum":["NONE","WAREHOUSE","PURCHASEORDER","REQUEST_PURCHASEORDER","PURCHASEORDER_CONFIRMED"],"description":""},"AmountRangeSchema":{"title":"AmountRangeSchema","type":"object","description":"Search for an amount range","required":["from","to"],"properties":{"from":{"type":"integer"},"to":{"type":"integer"}}}}}}
```

## The OrderCountResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCountResponseSchema":{"title":"OrderCountResponseSchema","type":"object","required":["queryKey","count"],"properties":{"queryKey":{"type":"string","description":"Used for correlating requests and responses. Can be any value."},"count":{"type":"integer"}}}}}}
```

## The OrderCountResponseListSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderCountResponseListSchema":{"title":"OrderCountResponseListSchema","type":"object","required":["results"],"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/OrderCountResponseSchema"}}}},"OrderCountResponseSchema":{"title":"OrderCountResponseSchema","type":"object","required":["queryKey","count"],"properties":{"queryKey":{"type":"string","description":"Used for correlating requests and responses. Can be any value."},"count":{"type":"integer"}}}}}}
```

## The PaymentMethodCustomerTypeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"PaymentMethodCustomerTypeENUM":{"title":"PaymentMethodCustomerTypeENUM","type":"string","enum":["ANY","PERSON","COMPANY"]}}}}
```

## The TenantPaymentMethodAmountInputENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"TenantPaymentMethodAmountInputENUM":{"title":"TenantPaymentMethodAmountInputENUM","type":"string","enum":["NONE","AUTOFILL_REMAINING","FORCE_REMAINING"]}}}}
```

## The OrderImportSettlementStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderImportSettlementStatusENUM":{"title":"OrderImportSettlementStatusENUM","type":"string","enum":["AUTHORIZED","CAPTURED"]}}}}
```

## The CustomerContactRoleENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactCustomersSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactCustomersSchema":{"title":"CustomerContactCustomersSchema","type":"object","required":["customerUid","displayName","role","extensions"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"}}}}
```

## The CustomerContactAddCustomerRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactAddCustomerRequestSchema":{"title":"CustomerContactAddCustomerRequestSchema","type":"object","properties":{"customers":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactLinkRequestSchema"}}}},"CustomerContactLinkRequestSchema":{"type":"object","required":["customerUid"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"}},"title":"CustomerContactLinkRequestSchema"},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]}}}}
```

## The CustomerContactSearchRequestSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactSearchRequestSchema":{"title":"CustomerContactSearchRequestSchema","type":"object","properties":{"query":{"type":"string"},"email":{"$ref":"#/components/schemas/EmailTYPE"},"mobile":{"type":"string"}}},"EmailTYPE":{"title":"Email","type":"string"}}}}
```

## The CustomerContactsListSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"CustomerContactsListSchema":{"title":"CustomerContactsListSchema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactCustomersSchema"}}}},"CustomerContactCustomersSchema":{"title":"CustomerContactCustomersSchema","type":"object","required":["customerUid","displayName","role","extensions"],"properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"displayName":{"type":"string"},"role":{"$ref":"#/components/schemas/CustomerContactRoleENUM"},"extensions":{"type":"array","items":{"$ref":"#/components/schemas/CustomerContactExtensionResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"CustomerContactRoleENUM":{"title":"CustomerContactRoleENUM","type":"string","enum":["ADMIN","PURCHASER","ACCOUNTING","NONE"]},"CustomerContactExtensionResponseSchema":{"description":"CustomerContactExtensionResponseSchema","title":"CustomerContactExtensionResponseSchema","type":"object","properties":{"extensionCode":{"$ref":"#/components/schemas/CustomerExtensionCodeENUM"},"organizationUid":{"$ref":"#/components/schemas/UID"}},"required":["extensionCode","organizationUid"]},"CustomerExtensionCodeENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| TWO_INVOICE | The Two Invoice extension.|\n| KLAVIYO_PROFILE_ID | Klaviyo profile ID |","enum":["TWO_INVOICE","KLAVIYO_PROFILE_ID"],"title":"CustomerExtensionCodeENUM","type":"string"}}}}
```

## The OrderItemMessageSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"OrderItemMessageSchema":{"title":"OrderItemMessageSchema","type":"object","required":["orderItemUid","message"],"properties":{"orderItemUid":{"$ref":"#/components/schemas/OptionalUID"},"message":{"type":"string"}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"}}}}
```

## The ImportFieldDefinitionSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFieldDefinitionSchema":{"title":"ImportFieldDefinitionSchema","type":"object","required":["name","type","allowedValues","createUsage","updateUsage"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}},"createUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"},"updateUsage":{"$ref":"#/components/schemas/ImportFieldUsageSchema"}}},"ImportFieldUsageSchema":{"title":"ImportFieldUsageSchema","type":"object","required":["usage","requiredExchangeableWith"],"properties":{"usage":{"$ref":"#/components/schemas/ImportFieldUsageENUM"},"requiredExchangeableWith":{"type":"array","description":"List of field names that can substitute this field. \nAt least one field in an exchangeable group must be mapped in the layout. \nEmpty array if the field is unconditionally required.","items":{"type":"string"}}}},"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ImportFieldUsageENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ImportFieldUsageSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ImportFieldUsageSchema":{"title":"ImportFieldUsageSchema","type":"object","required":["usage","requiredExchangeableWith"],"properties":{"usage":{"$ref":"#/components/schemas/ImportFieldUsageENUM"},"requiredExchangeableWith":{"type":"array","description":"List of field names that can substitute this field. \nAt least one field in an exchangeable group must be mapped in the layout. \nEmpty array if the field is unconditionally required.","items":{"type":"string"}}}},"ImportFieldUsageENUM":{"title":"ImportFieldUsageENUM","type":"string","enum":["REQUIRED","OPTIONAL","UNAVAILABLE"]}}}}
```

## The ProductPropertiesSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ProductPropertiesSchema":{"title":"ProductPropertiesSchema","description":"Product property value for `propertyUid`. Supports TEXT, SINGLESELECT (single), and MULTISELECT (multi) property types.\n\nAn empty string for `value` removes the property from the product.","type":"object","required":["propertyUid","value"],"properties":{"propertyUid":{"$ref":"#/components/schemas/UID"},"value":{"type":"string","description":"Text line for TEXT properties, or property option UID for SINGLESELECT/MULTISELECT as applicable. Empty string (`\"\"`) removes this property from the product."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ShelfWarmerResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerResponseSchema":{"type":"object","required":["product","qtyStock","stockValue","lastSoldAt","lastReceivedAt","lastStockChangeAt","warehouses","suppliers"],"properties":{"product":{"$ref":"#/components/schemas/ShelfWarmerProductSchema"},"qtyStock":{"type":"integer","description":"Total stock across the matching warehouses, in hundredths (100 = 1.00)."},"stockValue":{"type":"integer","description":"Total stock value across the matching warehouses, in the tenant currency's minor unit."},"lastSoldAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent completed sale, scoped to the selected stores. Null if never sold."},"lastReceivedAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent goods receipt in the matching warehouses. Null if never received."},"lastStockChangeAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent warehouse stock movement in the matching warehouses, including stock imports. Null if no logged stock transaction."},"warehouses":{"type":"array","description":"Per-warehouse stock breakdown. Empty if none match.","items":{"$ref":"#/components/schemas/ShelfWarmerWarehouseSchema"}},"suppliers":{"type":"array","description":"Suppliers for the product. Empty if none.","items":{"$ref":"#/components/schemas/ShelfWarmerSupplierSchema"}}}},"ShelfWarmerProductSchema":{"type":"object","required":["productUid","sku","name","brandUid","brandName","gtins","productGroupUid","productGroupName","productGroupPath","categories","properties"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"name":{"type":"string"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"gtins":{"type":"array","description":"Empty if the product has no GTINs.","items":{"type":"string"}},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupName":{"type":"string"},"productGroupPath":{"type":"array","description":"The product group's full path, root first, ending with the group the product sits in. Always present. Every product belongs to a product group, so this normally has at least one entry; it is empty only when the group could not be resolved, for instance because it was deleted while the report was running. Do not index the last element without checking the length.\n","items":{"$ref":"#/components/schemas/ShelfWarmerProductGroupRefSchema"}},"categories":{"type":"array","description":"Empty if the product has no categories.","items":{"$ref":"#/components/schemas/ShelfWarmerCategoryRefSchema"}},"properties":{"type":"array","description":"Empty if the product has no properties.","items":{"$ref":"#/components/schemas/ShelfWarmerPropertySchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ShelfWarmerProductGroupRefSchema":{"type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"ShelfWarmerCategoryRefSchema":{"type":"object","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"ShelfWarmerPropertySchema":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string","description":"Empty string if the property has no value."}}},"ShelfWarmerWarehouseSchema":{"type":"object","required":["warehouseUid","name","store","qtyStock","averageCost","stockLayers","lastSoldAt","lastStockChangeAt"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"store":{"$ref":"#/components/schemas/ShelfWarmerStoreRefSchema"},"qtyStock":{"type":"integer","description":"Stock in this warehouse, in hundredths."},"averageCost":{"type":"integer","description":"Average unit cost in the tenant currency's minor unit."},"stockLayers":{"type":"array","description":"This warehouse's stock split over the days it last came in on, oldest first, with an undated layer last. Always present, and empty when the request did not ask for it with includeStockLayers — an empty breakdown therefore does not mean the warehouse holds no stock. Read qtyStock for that.\n","items":{"$ref":"#/components/schemas/ShelfWarmerStockLayerSchema"}},"lastSoldAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent completed sale of the product in this warehouse's store. Null if never sold there, if the warehouse has no store, or if the request did not ask for it with includeStockLayers. A store is the finest scope a sale can be attributed to, since order lines do not reliably carry a warehouse.\n"},"lastStockChangeAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent logged stock movement on this warehouse's stock, including imports. Null if there is no logged transaction, or if the request did not ask for it with includeStockLayers.\n"}}},"ShelfWarmerStoreRefSchema":{"type":"object","nullable":true,"description":"The store this warehouse belongs to. Null if the warehouse is not tied to a store.","required":["storeUid","name","organizationUid","organizationName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"ShelfWarmerStockLayerSchema":{"type":"object","description":"One FIFO layer of the stock still on hand in a warehouse: the day it last came in, and how much of it is left.\n","required":["stockInOn","qtyStock"],"properties":{"stockInOn":{"type":"string","format":"date","nullable":true,"description":"The day the units last came into the warehouse, by any positive stock movement — a goods receipt, but also a customer return, a stock count correction, an import, an RMA or a transfer in from another store. Not a goods-receipt date, and so not the age of the goods either: returning or moving a single unit resets this day for that unit while the rest of the batch keeps its older one. Null when the stock cannot be traced to a logged movement at all, for instance older imported stock.\n"},"qtyStock":{"type":"integer","description":"The part of the warehouse stock that came in on that day, in hundredths."}}},"ShelfWarmerSupplierSchema":{"type":"object","required":["supplierUid","name","supplierSku","purchasePrice"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"supplierSku":{"type":"string","description":"Empty string if not set."},"purchasePrice":{"type":"integer","description":"Supplier purchase price in the tenant currency's minor unit."}}}}}}
```

## The ShelfWarmerProductSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerProductSchema":{"type":"object","required":["productUid","sku","name","brandUid","brandName","gtins","productGroupUid","productGroupName","productGroupPath","categories","properties"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"sku":{"type":"string"},"name":{"type":"string"},"brandUid":{"$ref":"#/components/schemas/UID"},"brandName":{"type":"string"},"gtins":{"type":"array","description":"Empty if the product has no GTINs.","items":{"type":"string"}},"productGroupUid":{"$ref":"#/components/schemas/UID"},"productGroupName":{"type":"string"},"productGroupPath":{"type":"array","description":"The product group's full path, root first, ending with the group the product sits in. Always present. Every product belongs to a product group, so this normally has at least one entry; it is empty only when the group could not be resolved, for instance because it was deleted while the report was running. Do not index the last element without checking the length.\n","items":{"$ref":"#/components/schemas/ShelfWarmerProductGroupRefSchema"}},"categories":{"type":"array","description":"Empty if the product has no categories.","items":{"$ref":"#/components/schemas/ShelfWarmerCategoryRefSchema"}},"properties":{"type":"array","description":"Empty if the product has no properties.","items":{"$ref":"#/components/schemas/ShelfWarmerPropertySchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ShelfWarmerProductGroupRefSchema":{"type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"ShelfWarmerCategoryRefSchema":{"type":"object","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"ShelfWarmerPropertySchema":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string","description":"Empty string if the property has no value."}}}}}}
```

## The ShelfWarmerProductGroupRefSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerProductGroupRefSchema":{"type":"object","required":["productGroupUid","name"],"properties":{"productGroupUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ShelfWarmerCategoryRefSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerCategoryRefSchema":{"type":"object","required":["categoryUid","name"],"properties":{"categoryUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ShelfWarmerPropertySchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerPropertySchema":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string","description":"Empty string if the property has no value."}}}}}}
```

## The ShelfWarmerStoreRefSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerStoreRefSchema":{"type":"object","nullable":true,"description":"The store this warehouse belongs to. Null if the warehouse is not tied to a store.","required":["storeUid","name","organizationUid","organizationName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The ShelfWarmerStockLayerSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerStockLayerSchema":{"type":"object","description":"One FIFO layer of the stock still on hand in a warehouse: the day it last came in, and how much of it is left.\n","required":["stockInOn","qtyStock"],"properties":{"stockInOn":{"type":"string","format":"date","nullable":true,"description":"The day the units last came into the warehouse, by any positive stock movement — a goods receipt, but also a customer return, a stock count correction, an import, an RMA or a transfer in from another store. Not a goods-receipt date, and so not the age of the goods either: returning or moving a single unit resets this day for that unit while the rest of the batch keeps its older one. Null when the stock cannot be traced to a logged movement at all, for instance older imported stock.\n"},"qtyStock":{"type":"integer","description":"The part of the warehouse stock that came in on that day, in hundredths."}}}}}}
```

## The ShelfWarmerWarehouseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerWarehouseSchema":{"type":"object","required":["warehouseUid","name","store","qtyStock","averageCost","stockLayers","lastSoldAt","lastStockChangeAt"],"properties":{"warehouseUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"store":{"$ref":"#/components/schemas/ShelfWarmerStoreRefSchema"},"qtyStock":{"type":"integer","description":"Stock in this warehouse, in hundredths."},"averageCost":{"type":"integer","description":"Average unit cost in the tenant currency's minor unit."},"stockLayers":{"type":"array","description":"This warehouse's stock split over the days it last came in on, oldest first, with an undated layer last. Always present, and empty when the request did not ask for it with includeStockLayers — an empty breakdown therefore does not mean the warehouse holds no stock. Read qtyStock for that.\n","items":{"$ref":"#/components/schemas/ShelfWarmerStockLayerSchema"}},"lastSoldAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent completed sale of the product in this warehouse's store. Null if never sold there, if the warehouse has no store, or if the request did not ask for it with includeStockLayers. A store is the finest scope a sale can be attributed to, since order lines do not reliably carry a warehouse.\n"},"lastStockChangeAt":{"type":"string","format":"date-time","nullable":true,"description":"Most recent logged stock movement on this warehouse's stock, including imports. Null if there is no logged transaction, or if the request did not ask for it with includeStockLayers.\n"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ShelfWarmerStoreRefSchema":{"type":"object","nullable":true,"description":"The store this warehouse belongs to. Null if the warehouse is not tied to a store.","required":["storeUid","name","organizationUid","organizationName"],"properties":{"storeUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"organizationUid":{"$ref":"#/components/schemas/UID"},"organizationName":{"type":"string"}}},"ShelfWarmerStockLayerSchema":{"type":"object","description":"One FIFO layer of the stock still on hand in a warehouse: the day it last came in, and how much of it is left.\n","required":["stockInOn","qtyStock"],"properties":{"stockInOn":{"type":"string","format":"date","nullable":true,"description":"The day the units last came into the warehouse, by any positive stock movement — a goods receipt, but also a customer return, a stock count correction, an import, an RMA or a transfer in from another store. Not a goods-receipt date, and so not the age of the goods either: returning or moving a single unit resets this day for that unit while the rest of the batch keeps its older one. Null when the stock cannot be traced to a logged movement at all, for instance older imported stock.\n"},"qtyStock":{"type":"integer","description":"The part of the warehouse stock that came in on that day, in hundredths."}}}}}}
```

## The ShelfWarmerSupplierSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"ShelfWarmerSupplierSchema":{"type":"object","required":["supplierUid","name","supplierSku","purchasePrice"],"properties":{"supplierUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"supplierSku":{"type":"string","description":"Empty string if not set."},"purchasePrice":{"type":"integer","description":"Supplier purchase price in the tenant currency's minor unit."}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastChannelENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastChannelENUM":{"title":"BroadcastChannelENUM","description":"The delivery channel of a broadcast. A broadcast is single-channel.","enum":["SMS","EMAIL"],"type":"string"}}}}
```

## The BroadcastPurposeENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastPurposeENUM":{"title":"BroadcastPurposeENUM","description":"The purpose of a broadcast. MARKETING is a marketing message; SERVICE is a service/transactional message.\nConsent is the responsibility of the party building the recipient list: MARKETING sends must only include recipients with the relevant marketing consent (see add recipients).","enum":["MARKETING","SERVICE"],"type":"string"}}}}
```

## The BroadcastStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastStatusENUM":{"title":"BroadcastStatusENUM","description":"Lifecycle state of a broadcast.\nDRAFT: editable, recipients can be edited. LAUNCHED: committed to send — sent immediately when sendAt is null or in the past, or held until a future sendAt. SENDING: in progress. COMPLETED: all recipients processed. CANCELLED: stopped before/while sending. FAILED: aborted with an error.","enum":["DRAFT","LAUNCHED","SENDING","COMPLETED","CANCELLED","FAILED"],"type":"string"}}}}
```

## The BroadcastStatusTransitionENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastStatusTransitionENUM":{"title":"BroadcastStatusTransitionENUM","description":"Broadcast statuses a client may set via update. The server validates that the transition is legal from the broadcast's current state.\nDRAFT: pull a not-yet-sending broadcast back for editing (allowed only from LAUNCHED, before it starts sending). LAUNCHED: launch — sent immediately when sendAt is null or in the past, or scheduled for a future sendAt. CANCELLED: cancel a launched or sending broadcast.","enum":["DRAFT","LAUNCHED","CANCELLED"],"type":"string"}}}}
```

## The BroadcastRecipientStatusENUM object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientStatusENUM":{"title":"BroadcastRecipientStatusENUM","description":"Delivery state of a single broadcast recipient.\nQUEUED: not yet handed to the provider. DISPATCHED: handed to the provider, delivery not yet confirmed. DELIVERED: confirmed delivered. FAILED: delivery failed.","enum":["QUEUED","DISPATCHED","DELIVERED","FAILED"],"type":"string"}}}}
```

## The BroadcastProgressSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastProgressSchema":{"title":"BroadcastProgressSchema","description":"Live delivery progress for a broadcast, derived from its recipients.","type":"object","properties":{"totalCount":{"type":"integer","description":"Total number of recipients."},"queuedCount":{"type":"integer","description":"Recipients not yet handed to the provider."},"dispatchedCount":{"type":"integer","description":"Recipients handed to the provider, delivery not yet confirmed."},"deliveredCount":{"type":"integer","description":"Recipients confirmed delivered."},"failedCount":{"type":"integer","description":"Recipients that failed to deliver."}},"required":["totalCount","queuedCount","dispatchedCount","deliveredCount","failedCount"]}}}}
```

## The BroadcastRecipientSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientSchema":{"title":"BroadcastRecipientSchema","description":"A recipient of a broadcast — either a customer (customerUid set, address snapshotted from the customer) or an ad-hoc address (customerUid null).","type":"object","required":["broadcastRecipientUid","customerUid","displayName","address","status"],"properties":{"broadcastRecipientUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"description":"The customer this recipient represents, or null for an ad-hoc address.","$ref":"#/components/schemas/OptionalNullableUID"},"displayName":{"type":"string","nullable":true,"description":"Customer display label, or null for an ad-hoc address-only recipient."},"address":{"type":"string","description":"The mobile number or email address the broadcast is sent to (snapshotted from the customer when customerUid is set)."},"status":{"$ref":"#/components/schemas/BroadcastRecipientStatusENUM"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"OptionalNullableUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*","nullable":true},"BroadcastRecipientStatusENUM":{"title":"BroadcastRecipientStatusENUM","description":"Delivery state of a single broadcast recipient.\nQUEUED: not yet handed to the provider. DISPATCHED: handed to the provider, delivery not yet confirmed. DELIVERED: confirmed delivered. FAILED: delivery failed.","enum":["QUEUED","DISPATCHED","DELIVERED","FAILED"],"type":"string"}}}}
```

## The BroadcastRecipientInputSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientInputSchema":{"title":"BroadcastRecipientInputSchema","description":"A recipient to add. Provide customerUid to target a customer (address is snapshotted from the customer), or address for an ad-hoc recipient. At least one of customerUid / address is required (server-validated). Recipients are deduplicated on (broadcast, address).","type":"object","properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"address":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastRecipientUpdateItemSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientUpdateItemSchema":{"title":"BroadcastRecipientUpdateItemSchema","description":"An edit to an existing recipient, identified by broadcastRecipientUid. At least one of customerUid / address must be set on the resulting recipient (server-validated).","type":"object","required":["broadcastRecipientUid"],"properties":{"broadcastRecipientUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"$ref":"#/components/schemas/UID"},"address":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastRecipientsAddSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientsAddSchema":{"title":"BroadcastRecipientsAddSchema","description":"A batch of recipients to add to a broadcast (DRAFT only).","type":"object","required":["recipients"],"properties":{"recipients":{"type":"array","items":{"$ref":"#/components/schemas/BroadcastRecipientInputSchema"}}}},"BroadcastRecipientInputSchema":{"title":"BroadcastRecipientInputSchema","description":"A recipient to add. Provide customerUid to target a customer (address is snapshotted from the customer), or address for an ad-hoc recipient. At least one of customerUid / address is required (server-validated). Recipients are deduplicated on (broadcast, address).","type":"object","properties":{"customerUid":{"$ref":"#/components/schemas/UID"},"address":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastRecipientsUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientsUpdateSchema":{"title":"BroadcastRecipientsUpdateSchema","description":"A batch of recipient edits, each identified by broadcastRecipientUid (DRAFT only). Recipients not listed are left unchanged.","type":"object","required":["recipients"],"properties":{"recipients":{"type":"array","items":{"$ref":"#/components/schemas/BroadcastRecipientUpdateItemSchema"}}}},"BroadcastRecipientUpdateItemSchema":{"title":"BroadcastRecipientUpdateItemSchema","description":"An edit to an existing recipient, identified by broadcastRecipientUid. At least one of customerUid / address must be set on the resulting recipient (server-validated).","type":"object","required":["broadcastRecipientUid"],"properties":{"broadcastRecipientUid":{"$ref":"#/components/schemas/UID"},"customerUid":{"$ref":"#/components/schemas/UID"},"address":{"type":"string"}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastRecipientsDeleteSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastRecipientsDeleteSchema":{"title":"BroadcastRecipientsDeleteSchema","description":"The recipients to remove from a broadcast, by uid (one or more; DRAFT only).","type":"object","required":["broadcastRecipientUids"],"properties":{"broadcastRecipientUids":{"type":"array","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"}}}}
```

## The BroadcastResponseSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastResponseSchema":{"title":"BroadcastResponseSchema","description":"A broadcast header.","type":"object","properties":{"broadcastUid":{"$ref":"#/components/schemas/UID"},"channel":{"$ref":"#/components/schemas/BroadcastChannelENUM"},"purpose":{"$ref":"#/components/schemas/BroadcastPurposeENUM"},"status":{"$ref":"#/components/schemas/BroadcastStatusENUM"},"title":{"type":"string","description":"Operator-facing label."},"description":{"type":"string","description":"Operator-facing note. Empty string if not set."},"body":{"type":"string","description":"The message content. Plain text for SMS, HTML for EMAIL."},"subject":{"type":"string","description":"Email subject. Empty string for SMS."},"sender":{"type":"string","description":"Sender name/address. Empty string if resolved from configuration at send time."},"storeUid":{"description":"Store the broadcast is sent in the context of — the SMS bill payer and/or sender.","$ref":"#/components/schemas/UID"},"sendAt":{"type":"string","format":"date-time","nullable":true,"description":"Scheduled send time. Null means send immediately on launch."},"startedAt":{"type":"string","format":"date-time","nullable":true,"description":"When sending started. Null until the broadcast starts sending."},"finishedAt":{"type":"string","format":"date-time","nullable":true,"description":"When sending finished. Null until the broadcast completes."},"progress":{"$ref":"#/components/schemas/BroadcastProgressSchema"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastModifiedAt":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"}},"required":["broadcastUid","channel","purpose","status","title","description","body","subject","sender","storeUid","sendAt","startedAt","finishedAt","progress","createdAt","createdBy","lastModifiedAt","lastModifiedBy"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"BroadcastChannelENUM":{"title":"BroadcastChannelENUM","description":"The delivery channel of a broadcast. A broadcast is single-channel.","enum":["SMS","EMAIL"],"type":"string"},"BroadcastPurposeENUM":{"title":"BroadcastPurposeENUM","description":"The purpose of a broadcast. MARKETING is a marketing message; SERVICE is a service/transactional message.\nConsent is the responsibility of the party building the recipient list: MARKETING sends must only include recipients with the relevant marketing consent (see add recipients).","enum":["MARKETING","SERVICE"],"type":"string"},"BroadcastStatusENUM":{"title":"BroadcastStatusENUM","description":"Lifecycle state of a broadcast.\nDRAFT: editable, recipients can be edited. LAUNCHED: committed to send — sent immediately when sendAt is null or in the past, or held until a future sendAt. SENDING: in progress. COMPLETED: all recipients processed. CANCELLED: stopped before/while sending. FAILED: aborted with an error.","enum":["DRAFT","LAUNCHED","SENDING","COMPLETED","CANCELLED","FAILED"],"type":"string"},"BroadcastProgressSchema":{"title":"BroadcastProgressSchema","description":"Live delivery progress for a broadcast, derived from its recipients.","type":"object","properties":{"totalCount":{"type":"integer","description":"Total number of recipients."},"queuedCount":{"type":"integer","description":"Recipients not yet handed to the provider."},"dispatchedCount":{"type":"integer","description":"Recipients handed to the provider, delivery not yet confirmed."},"deliveredCount":{"type":"integer","description":"Recipients confirmed delivered."},"failedCount":{"type":"integer","description":"Recipients that failed to deliver."}},"required":["totalCount","queuedCount","dispatchedCount","deliveredCount","failedCount"]}}}}
```

## The BroadcastCreateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastCreateSchema":{"title":"BroadcastCreateSchema","description":"Create a broadcast. It is created in DRAFT status. Recipients are added via the broadcast recipients endpoints, not a filter. Creating never sends — transition the broadcast via update to send it.","type":"object","required":["channel","purpose","title","body"],"properties":{"broadcastUid":{"description":"Optional client-supplied id for the broadcast. Omit to have one generated. Must be unique within the tenant.","$ref":"#/components/schemas/OptionalUID"},"channel":{"$ref":"#/components/schemas/BroadcastChannelENUM"},"purpose":{"$ref":"#/components/schemas/BroadcastPurposeENUM"},"title":{"type":"string"},"description":{"type":"string"},"body":{"type":"string","description":"The message content. Plain text for SMS, HTML for EMAIL."},"subject":{"type":"string","description":"Email subject. Required for EMAIL, ignored for SMS."},"sender":{"type":"string","description":"Optional sender name/address. Resolved from configuration if omitted."},"sendAt":{"type":"string","format":"date-time","description":"Optional scheduled send time, applied when the broadcast is sent. Omit to send immediately."}}},"OptionalUID":{"title":"OptionalUID","type":"string","pattern":"^[A-Za-z0-9-_]*"},"BroadcastChannelENUM":{"title":"BroadcastChannelENUM","description":"The delivery channel of a broadcast. A broadcast is single-channel.","enum":["SMS","EMAIL"],"type":"string"},"BroadcastPurposeENUM":{"title":"BroadcastPurposeENUM","description":"The purpose of a broadcast. MARKETING is a marketing message; SERVICE is a service/transactional message.\nConsent is the responsibility of the party building the recipient list: MARKETING sends must only include recipients with the relevant marketing consent (see add recipients).","enum":["MARKETING","SERVICE"],"type":"string"}}}}
```

## The BroadcastUpdateSchema object

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"components":{"schemas":{"BroadcastUpdateSchema":{"title":"BroadcastUpdateSchema","description":"Update a broadcast. Partial updates are allowed. Field edits are permitted only while the broadcast is DRAFT; channel and purpose are immutable after creation. Set status to transition the broadcast: DRAFT to LAUNCHED launches it (sent immediately when sendAt is null or in the past, or scheduled for a future sendAt), and to CANCELLED cancels it. The server validates the transition (illegal -> 422, stale -> 409).","type":"object","properties":{"status":{"description":"Target status to transition the broadcast to. Omit to leave the status unchanged. DRAFT pulls a not-yet-sending broadcast back for editing, LAUNCHED launches it (or schedules it by sendAt), CANCELLED cancels it. Valid transitions are enforced by the server.","$ref":"#/components/schemas/BroadcastStatusTransitionENUM"},"title":{"type":"string"},"description":{"type":"string"},"body":{"type":"string","description":"The message content. Plain text for SMS, HTML for EMAIL."},"subject":{"type":"string"},"sender":{"type":"string"},"sendAt":{"type":"string","format":"date-time","nullable":true,"description":"Scheduled send time. Omit to leave the stored value unchanged; send null to clear a previously scheduled time (reverting to send immediately)."}}},"BroadcastStatusTransitionENUM":{"title":"BroadcastStatusTransitionENUM","description":"Broadcast statuses a client may set via update. The server validates that the transition is legal from the broadcast's current state.\nDRAFT: pull a not-yet-sending broadcast back for editing (allowed only from LAUNCHED, before it starts sending). LAUNCHED: launch — sent immediately when sendAt is null or in the past, or scheduled for a future sendAt. CANCELLED: cancel a launched or sending broadcast.","enum":["DRAFT","LAUNCHED","CANCELLED"],"type":"string"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flowretail.com/docs/developers/api-documentation/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
