# Inputs / Products

# Products

**Object**
## BarcodeDeleteInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| product | [ID!](/documentation/Types/UUID#UUID) | The ID of the product to delete the barcode from |  |
| code | *String!* | The code of the barcode to delete | Minimum Length: 1Maximum Length: 160 |



**Object**
## FutureCostInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| item | [ID!](/documentation/Types/UUID#UUID) | The ID of the item the future cost applies to |  |
| type | [HasPriceItemTypeEnum!](/documentation/Enums/Has-Price-Item-Type-Enum#HasPriceItemTypeEnum) | The type of item the future price applies to |  |
| cost | *Float!* | The cost for the future cost (inclusive of tax) | Minimum: 0Maximum: 1,000,000 |
| outlet | [ID](/documentation/Types/UUID#UUID) | The ID of the outlet of the future cost (set to `null` to apply to global) |  |
| effective | [DateTime!](/documentation/Types/Date-Time#DateTime) | The date time of when the future cost is effective |  |



**Object**
## FuturePriceInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| item | [ID!](/documentation/Types/UUID#UUID) | The ID of the item the future price applies to |  |
| type | [HasPriceItemTypeEnum!](/documentation/Enums/Has-Price-Item-Type-Enum#HasPriceItemTypeEnum) | The type of item the future price applies to |  |
| quantity | *Float!* | The quantity for the future price | Minimum: 1Maximum: 1,000,000,000 |
| price | *Float* | The price for the future price (inclusive of tax), if null, the price at the provided quantity will be deleted | Minimum: -100,000,000Maximum: 100,000,000 |
| priceSet | [ID](/documentation/Types/UUID#UUID) | The ID of the price set of the future price |  |
| effective | [DateTime!](/documentation/Types/Date-Time#DateTime) | The date time of when the future price is effective |  |



**Object**
## ProductBarcodeInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| quantity | *Float!* | The quantity this barcode applies to | Minimum: -10,000Maximum: 10,000 |
| code | *String!* | The barcode (include leading zeros if they exist) | Minimum Length: 1Maximum Length: 160 |
| template | *String* | The name of the barcode template to use | Minimum Length: 1Maximum Length: 160 |



**Object**
## ProductContainsInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| product | [ID!](/documentation/Types/UUID#UUID) | The product that is contained in the parent product |  |
| quantity | *Float!* | The quantity of the contained product in the parent product | Minimum: 0Maximum: 1,000,000 |
| addPrice | *Float* | The price added for every additional product above the set quantity added to the parent product (only for "PACKAGE" type parent products) | Minimum: -1,000,000Maximum: 1,000,000 |
| removePrice | *Float* | The price removed for every additional product below the set quantity added to the parent product (only for "PACKAGE" type parent products) | Minimum: -1,000,000Maximum: 1,000,000 |



**Object**
## ProductCostInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| outlet | *String!* | The UUID of the outlet this cost is for or "global" for the global cost, you must include all outlets and "global" |  |
| averageCost | *Float* | The average cost of the product, if null, the cost will remain the same | Minimum: -1,000,000Maximum: 1,000,000 |
| lastCost | *Float* | The last cost of the product, if null, the cost will remain the same | Minimum: -1,000,000Maximum: 1,000,000 |



**Object**
## ProductInventoryInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| outlet | [ID!](/documentation/Types/UUID#UUID) | The outlet this inventory is for |  |
| quantity | *Float* | The current inventory for this outlet | Minimum: -100,000,000Maximum: 100,000,000 |
| reorderLevel | *Float* | The reorder level for this outlet | Minimum: -1,000,000Maximum: 1,000,000 |
| reorderQuantity | *Float* | The amount to reorder once the reorder level is reached for this outlet | Minimum: -1,000,000Maximum: 1,000,000 |
| reorderLimit | *Float* | The maximum amount of items to reorder at any point (note, this is a soft limit) | Minimum: -1,000,000Maximum: 1,000,000 |
| reorderRounding | [InventoryReorderRoundingTypeEnum](/documentation/Enums/Inventory-Reorder-Rounding-Type-Enum#InventoryReorderRoundingTypeEnum) | The direction the reorder amount should round when automatically calculating reorder amounts |  |
| maxQuantity | *Float* | The maximum amount of items to have on hand at any time (note, this is a soft limit) | Minimum: -100,000,000Maximum: 100,000,000 |



**Object**
## ProductLoyaltyInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| outlet | [ID!](/documentation/Types/UUID#UUID) | The outlet to apply this loyalty to |  |
| quantity | *Float!* | The quantity at which to apply this loyalty | Minimum: 0Maximum: 10,000 |
| loyaltyValue | *Float* | The value (in points) that this quantity is worth when sold | Minimum: 0Maximum: 10,000 |
| redeemValue | *Float* | The value (in points) that this quantity is worth when redeemed | Minimum: 0Maximum: 10,000 |



**Object**
## ProductPriceInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| quantity | *Float!* | The quantity of this price | Minimum: 0Maximum: 100,000,000,000 |
| price | *Float!* | The price (including tax) | Minimum: 0Maximum: 100,000,000 |
| priceSet | [ID](/documentation/Types/UUID#UUID) | The price set this price belongs to |  |



**Object**
## ProductSupplierInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| supplier | [ID!](/documentation/Types/UUID#UUID) | The supplier this product can be purchased from |  |
| code | *String* | The supplier's code to purchase this product with | Minimum Length: 0Maximum Length: 160 |
| replacementCosts | [[ProductSupplierReplacementCostInput!]](/documentation/Inputs/Products#ProductSupplierReplacementCostInput) | The replacement costs for this product from this supplier |  |
| minimumOrderQuantity | *Int* | The minimum order quantity that this product can be purchased from this supplier | Minimum: 0Maximum: 99,999,999 |



**Object**
## ProductSupplierReplacementCostInput

| Fields | Type | Description | Validation |
| --- | --- | --- | --- |
| outlet | [ID!](/documentation/Types/UUID#UUID) | The outlet that the replacement cost is related to |  |
| cost | *Float* | The replacement cost | Minimum: -1,000,000Maximum: 1,000,000 |