<repo_name>wizzardmr42/LinnworksNetSDK<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Update_PurchaseOrderItemParameter.cs
using System;

namespace LinnworksAPI
{
    public class Update_PurchaseOrderItemParameter
    {
        public Guid pkPurchaseItemId;
        public Guid pkPurchaseId;
        public Int32? Quantity;
        public Int32? PackQuantity;
        public Int32? PackSize;
        public Decimal? Cost;
        public Decimal? TaxRate;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Get_PurchaseOrderResponse.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class Get_PurchaseOrderResponse
    {
        public PurchaseOrderHeader PurchaseOrderHeader;
        public List<PurchaseOrderItem> PurchaseOrderItem;
        public Int32 NoteCount;
    }
}<file_sep>/Linnworks/src/javascript/ImportExport.js
var ImportExport =
{
	// http://apidoc.linnworks.net/#/ImportExport-RenameFTPFolder
	RenameFTPFolder: function(server,port,ssl,userName,<PASSWORD>,passiveMode,path,newfolderName,token, server)
	{
		return Factory.GetResponse("ImportExport/RenameFTPFolder", token, server, "server=" + server + "&port=" + port + "&ssl=" + ssl + "&userName=" + userName + "&password=" + <PASSWORD> + "&passiveMode=" + passiveMode + "&path=" + path + "&newfolderName=" + newfolderName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromFile
	GetColumnsFromFile: function(URL,delimiter,hasHeaders,escape,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromFile", token, server, "URL=" + URL + "&delimiter=" + JSON.stringify(delimiter) + "&hasHeaders=" + hasHeaders + "&escape=" + JSON.stringify(escape) +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckFile
	CheckFile: function(URL,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckFile", token, server, "URL=" + URL +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportTypes
	GetImportTypes: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportTypes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SaveImport
	SaveImport: function(importConfig,feedType,feedJSON,token, server)
	{
		return Factory.GetResponse("ImportExport/SaveImport", token, server, "importConfig=" + JSON.stringify(importConfig) + "&feedType=" + feedType + "&feedJSON=" + feedJSON +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-IsImportEnabled
	IsImportEnabled: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/IsImportEnabled", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-EnableImport
	EnableImport: function(importId,enable,token, server)
	{
		return Factory.GetResponse("ImportExport/EnableImport", token, server, "importId=" + importId + "&enable=" + enable +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-RunNowImport
	RunNowImport: function(importId,token, server)
	{
		return Factory.GetResponse("ImportExport/RunNowImport", token, server, "importId=" + importId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImport
	GetImport: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImport", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportIdByName
	GetImportIdByName: function(friendlyName,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportIdByName", token, server, "friendlyName=" + friendlyName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteImport
	DeleteImport: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteImport", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExecutingOrQueuedImports
	GetExecutingOrQueuedImports: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetExecutingOrQueuedImports", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportSessionErrors
	GetImportSessionErrors: function(sessionId,pageNumber,entriesPerPage,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportSessionErrors", token, server, "sessionId=" + sessionId + "&pageNumber=" + pageNumber + "&entriesPerPage=" + entriesPerPage +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportSessions
	GetImportSessions: function(importId,pageNumber,entriesPerPage,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportSessions", token, server, "importId=" + importId + "&pageNumber=" + pageNumber + "&entriesPerPage=" + entriesPerPage +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImports
	GetImports: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetImports", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportRegister
	GetImportRegister: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportRegister", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DownloadImportedFile
	DownloadImportedFile: function(fileId,token, server)
	{
		return Factory.GetResponse("ImportExport/DownloadImportedFile", token, server, "fileId=" + fileId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetImportListOfValues
	GetImportListOfValues: function(importType,columnName,additionalFieldName,token, server)
	{
		return Factory.GetResponse("ImportExport/GetImportListOfValues", token, server, "importType=" + JSON.stringify(importType) + "&columnName=" + columnName + "&additionalFieldName=" + additionalFieldName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetFullfilmentCenterSettings
	GetFullfilmentCenterSettings: function(fkStockLocationId,token, server)
	{
		return Factory.GetResponse("ImportExport/GetFullfilmentCenterSettings", token, server, "fkStockLocationId=" + fkStockLocationId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SaveOrdersExportId
	SaveOrdersExportId: function(fkStockLocationId,fkOrdersExportId,token, server)
	{
		return Factory.GetResponse("ImportExport/SaveOrdersExportId", token, server, "fkStockLocationId=" + fkStockLocationId + "&fkOrdersExportId=" + fkOrdersExportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SaveOrdersImportId
	SaveOrdersImportId: function(fkStockLocationId,fkOrdersImportId,token, server)
	{
		return Factory.GetResponse("ImportExport/SaveOrdersImportId", token, server, "fkStockLocationId=" + fkStockLocationId + "&fkOrdersImportId=" + fkOrdersImportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SaveInventoryImportId
	SaveInventoryImportId: function(fkStockLocationId,fkInventoryImportId,token, server)
	{
		return Factory.GetResponse("ImportExport/SaveInventoryImportId", token, server, "fkStockLocationId=" + fkStockLocationId + "&fkInventoryImportId=" + fkInventoryImportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteOrdersExportId
	DeleteOrdersExportId: function(fkStockLocationId,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteOrdersExportId", token, server, "fkStockLocationId=" + fkStockLocationId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteOrdersImportId
	DeleteOrdersImportId: function(fkStockLocationId,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteOrdersImportId", token, server, "fkStockLocationId=" + fkStockLocationId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteInventoryImportId
	DeleteInventoryImportId: function(fkStockLocationId,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteInventoryImportId", token, server, "fkStockLocationId=" + fkStockLocationId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetFulfilmentCenterNameByOrdersExportId
	GetFulfilmentCenterNameByOrdersExportId: function(fkOrdersExportId,token, server)
	{
		return Factory.GetResponse("ImportExport/GetFulfilmentCenterNameByOrdersExportId", token, server, "fkOrdersExportId=" + fkOrdersExportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetFulfilmentCenterNameByOrdersImportId
	GetFulfilmentCenterNameByOrdersImportId: function(fkOrdersImportId,token, server)
	{
		return Factory.GetResponse("ImportExport/GetFulfilmentCenterNameByOrdersImportId", token, server, "fkOrdersImportId=" + fkOrdersImportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetFulfilmentCenterNameByInventoryImportId
	GetFulfilmentCenterNameByInventoryImportId: function(fkInventoryImportId,token, server)
	{
		return Factory.GetResponse("ImportExport/GetFulfilmentCenterNameByInventoryImportId", token, server, "fkInventoryImportId=" + fkInventoryImportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportIdByName
	GetExportIdByName: function(friendlyName,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportIdByName", token, server, "friendlyName=" + friendlyName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportTypes
	GetExportTypes: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportTypes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportSubQuerySelectionFieldValues
	GetExportSubQuerySelectionFieldValues: function(exportType,subQueryName,selectionFieldName,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportSubQuerySelectionFieldValues", token, server, "exportType=" + JSON.stringify(exportType) + "&subQueryName=" + subQueryName + "&selectionFieldName=" + selectionFieldName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SaveExport
	SaveExport: function(exportConfig,feedType,feedJSON,token, server)
	{
		return Factory.GetResponse("ImportExport/SaveExport", token, server, "exportConfig=" + JSON.stringify(exportConfig) + "&feedType=" + feedType + "&feedJSON=" + feedJSON +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-IsExportEnabled
	IsExportEnabled: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/IsExportEnabled", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-EnableExport
	EnableExport: function(exportId,enable,token, server)
	{
		return Factory.GetResponse("ImportExport/EnableExport", token, server, "exportId=" + exportId + "&enable=" + enable +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-RunNowExport
	RunNowExport: function(exportId,token, server)
	{
		return Factory.GetResponse("ImportExport/RunNowExport", token, server, "exportId=" + exportId +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExport
	GetExport: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExport", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteExport
	DeleteExport: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteExport", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExecutingOrQueuedExports
	GetExecutingOrQueuedExports: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetExecutingOrQueuedExports", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportSessionErrors
	GetExportSessionErrors: function(sessionId,pageNumber,entriesPerPage,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportSessionErrors", token, server, "sessionId=" + sessionId + "&pageNumber=" + pageNumber + "&entriesPerPage=" + entriesPerPage +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportSessions
	GetExportSessions: function(exportId,pageNumber,entriesPerPage,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportSessions", token, server, "exportId=" + exportId + "&pageNumber=" + pageNumber + "&entriesPerPage=" + entriesPerPage +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExports
	GetExports: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetExports", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetExportRegister
	GetExportRegister: function(id,token, server)
	{
		return Factory.GetResponse("ImportExport/GetExportRegister", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetSQLColumns
	GetSQLColumns: function(sqlQuery,token, server)
	{
		return Factory.GetResponse("ImportExport/GetSQLColumns", token, server, "sqlQuery=" + sqlQuery +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetDropboxAccounts
	GetDropboxAccounts: function(token, server)
	{
		return Factory.GetResponse("ImportExport/GetDropboxAccounts", token, server, "");
	},
	// http://apidoc.linnworks.net/#/ImportExport-SetDropboxAccounts
	SetDropboxAccounts: function(accounts,token, server)
	{
		return Factory.GetResponse("ImportExport/SetDropboxAccounts", token, server, "accounts=" + JSON.stringify(accounts) +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromUploadedFile
	GetColumnsFromUploadedFile: function(fileId,delimiter,comment,hasHeaders,escape,quote,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromUploadedFile", token, server, "fileId=" + fileId + "&delimiter=" + delimiter + "&comment=" + comment + "&hasHeaders=" + hasHeaders + "&escape=" + escape + "&quote=" + quote +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckHTTPFile
	CheckHTTPFile: function(URL,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckHTTPFile", token, server, "URL=" + URL +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-EvalExpression
	EvalExpression: function(expression,token, server)
	{
		return Factory.GetResponse("ImportExport/EvalExpression", token, server, "expression=" + expression +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromDropboxFile
	GetColumnsFromDropboxFile: function(token,filePath,fileName,delimiter,comment,hasHeaders,escape,quote,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromDropboxFile", token, server, "token=" + token + "&filePath=" + filePath + "&fileName=" + fileName + "&delimiter=" + delimiter + "&comment=" + comment + "&hasHeaders=" + hasHeaders + "&escape=" + escape + "&quote=" + quote +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromHTTPFile
	GetColumnsFromHTTPFile: function(URL,delimiter,comment,hasHeaders,escape,quote,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromHTTPFile", token, server, "URL=" + URL + "&delimiter=" + delimiter + "&comment=" + comment + "&hasHeaders=" + hasHeaders + "&escape=" + escape + "&quote=" + quote +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckFTPFile
	CheckFTPFile: function(server,port,filePath,fileName,SSL,passiveMode,protocol,userName,password,postDownload,ftpMoveToFolder,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckFTPFile", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&fileName=" + fileName + "&SSL=" + SSL + "&passiveMode=" + passiveMode + "&protocol=" + JSON.stringify(protocol) + "&userName=" + userName + "&password=" + <PASSWORD> + "&postDownload=" + JSON.stringify(postDownload) + "&ftpMoveToFolder=" + ftpMoveToFolder +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckSFTPFile
	CheckSFTPFile: function(server,port,filePath,fileName,compression,userName,password,postDownload,ftpMoveToFolder,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckSFTPFile", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&fileName=" + fileName + "&compression=" + compression + "&userName=" + userName + "&password=" + <PASSWORD> + "&postDownload=" + JSON.stringify(postDownload) + "&ftpMoveToFolder=" + ftpMoveToFolder +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckDropboxFile
	CheckDropboxFile: function(token,filePath,fileName,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckDropboxFile", token, server, "token=" + token + "&filePath=" + filePath + "&fileName=" + fileName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromFTPFile
	GetColumnsFromFTPFile: function(server,port,filePath,fileName,SSL,passiveMode,protocol,userName,password,delimiter,hasHeaders,escape,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromFTPFile", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&fileName=" + fileName + "&SSL=" + SSL + "&passiveMode=" + passiveMode + "&protocol=" + JSON.stringify(protocol) + "&userName=" + userName + "&password=" + <PASSWORD> + "&delimiter=" + delimiter + "&hasHeaders=" + hasHeaders + "&escape=" + escape +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetColumnsFromSFTPFile
	GetColumnsFromSFTPFile: function(server,port,filePath,fileName,compression,userName,password,delimiter,hasHeaders,escape,token, server)
	{
		return Factory.GetResponse("ImportExport/GetColumnsFromSFTPFile", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&fileName=" + fileName + "&compression=" + compression + "&userName=" + userName + "&password=" + <PASSWORD> + "&delimiter=" + delimiter + "&hasHeaders=" + hasHeaders + "&escape=" + escape +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckFTPConnection
	CheckFTPConnection: function(server,port,filePath,SSL,passiveMode,protocol,userName,password,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckFTPConnection", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&SSL=" + SSL + "&passiveMode=" + passiveMode + "&protocol=" + JSON.stringify(protocol) + "&userName=" + userName + "&password=" + <PASSWORD> +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CheckSFTPConnection
	CheckSFTPConnection: function(server,port,filePath,compression,userName,password,token, server)
	{
		return Factory.GetResponse("ImportExport/CheckSFTPConnection", token, server, "server=" + server + "&port=" + port + "&filePath=" + filePath + "&compression=" + compression + "&userName=" + userName + "&password=" + <PASSWORD> +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetFTPFolderContent
	GetFTPFolderContent: function(server,port,ssl,userName,password,passiveMode,path,token, server)
	{
		return Factory.GetResponse("ImportExport/GetFTPFolderContent", token, server, "server=" + server + "&port=" + port + "&ssl=" + ssl + "&userName=" + userName + "&password=" + <PASSWORD> + "&passiveMode=" + passiveMode + "&path=" + path +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-GetSFTPFolderContent
	GetSFTPFolderContent: function(server,port,userName,password,compression,path,token, server)
	{
		return Factory.GetResponse("ImportExport/GetSFTPFolderContent", token, server, "server=" + server + "&port=" + port + "&userName=" + userName + "&password=" + <PASSWORD> + "&compression=" + compression + "&path=" + path +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-CreateFTPFolder
	CreateFTPFolder: function(server,port,ssl,userName,password,passiveMode,path,folderName,token, server)
	{
		return Factory.GetResponse("ImportExport/CreateFTPFolder", token, server, "server=" + server + "&port=" + port + "&ssl=" + ssl + "&userName=" + userName + "&password=" + <PASSWORD> + "&passiveMode=" + passiveMode + "&path=" + path + "&folderName=" + folderName +"");
	},
	// http://apidoc.linnworks.net/#/ImportExport-DeleteFTPFile
	DeleteFTPFile: function(server,port,ssl,userName,password,passiveMode,path,token, server)
	{
		return Factory.GetResponse("ImportExport/DeleteFTPFile", token, server, "server=" + server + "&port=" + port + "&ssl=" + ssl + "&userName=" + userName + "&password=" + <PASSWORD> + "&passiveMode=" + passiveMode + "&path=" + path +"");
	},
};
<file_sep>/Linnworks/src/javascript/Inventory.js
var Inventory =
{
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemPrices
	CreateInventoryItemPrices: function(inventoryItemPrices,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemPrices", token, server, "inventoryItemPrices=" + JSON.stringify(inventoryItemPrices) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemPrices
	UpdateInventoryItemPrices: function(inventoryItemPrices,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemPrices", token, server, "inventoryItemPrices=" + JSON.stringify(inventoryItemPrices) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemPrices
	DeleteInventoryItemPrices: function(inventoryItemPriceIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemPrices", token, server, "inventoryItemPriceIds=" + JSON.stringify(inventoryItemPriceIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemDescriptions
	GetInventoryItemDescriptions: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemDescriptions", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemDescriptions
	CreateInventoryItemDescriptions: function(inventoryItemDescriptions,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemDescriptions", token, server, "inventoryItemDescriptions=" + JSON.stringify(inventoryItemDescriptions) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemDescriptions
	UpdateInventoryItemDescriptions: function(inventoryItemDescriptions,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemDescriptions", token, server, "inventoryItemDescriptions=" + JSON.stringify(inventoryItemDescriptions) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemDescriptions
	DeleteInventoryItemDescriptions: function(inventoryItemDescriptionIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemDescriptions", token, server, "inventoryItemDescriptionIds=" + JSON.stringify(inventoryItemDescriptionIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetChannels
	GetChannels: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetChannels", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetExtendedPropertyNames
	GetExtendedPropertyNames: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetExtendedPropertyNames", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetExtendedPropertyTypes
	GetExtendedPropertyTypes: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetExtendedPropertyTypes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetSystemPropertyNames
	GetSystemPropertyNames: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetSystemPropertyNames", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetPackageGroups
	GetPackageGroups: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetPackageGroups", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetPostalServices
	GetPostalServices: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetPostalServices", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItems
	GetInventoryItems: function(view,stockLocationIds,startIndex,itemsCount,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItems", token, server, "view=" + JSON.stringify(view) + "&stockLocationIds=" + JSON.stringify(stockLocationIds) + "&startIndex=" + startIndex + "&itemsCount=" + itemsCount +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemField
	UpdateInventoryItemField: function(inventoryItemId,fieldName,fieldValue,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemField", token, server, "inventoryItemId=" + inventoryItemId + "&fieldName=" + fieldName + "&fieldValue=" + fieldValue +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemStockField
	UpdateInventoryItemStockField: function(inventoryItemId,fieldName,fieldValue,locationId,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemStockField", token, server, "inventoryItemId=" + inventoryItemId + "&fieldName=" + fieldName + "&fieldValue=" + fieldValue + "&locationId=" + locationId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemLocationField
	UpdateInventoryItemLocationField: function(inventoryItemId,fieldName,fieldValue,locationId,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemLocationField", token, server, "inventoryItemId=" + inventoryItemId + "&fieldName=" + fieldName + "&fieldValue=" + fieldValue + "&locationId=" + locationId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemById
	GetInventoryItemById: function(id,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemById", token, server, "id=" + id +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryViews
	GetInventoryViews: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryViews", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryFilterTypes
	GetInventoryFilterTypes: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryFilterTypes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryColumnTypes
	GetInventoryColumnTypes: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryColumnTypes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetNewInventoryView
	GetNewInventoryView: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetNewInventoryView", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryViews
	UpdateInventoryViews: function(views,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryViews", token, server, "views=" + JSON.stringify(views) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-AddInventoryItem
	AddInventoryItem: function(inventoryItem,token, server)
	{
		return Factory.GetResponse("Inventory/AddInventoryItem", token, server, "inventoryItem=" + JSON.stringify(inventoryItem) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DuplicateInventoryItem
	DuplicateInventoryItem: function(inventoryItem,sourceItemId,token, server)
	{
		return Factory.GetResponse("Inventory/DuplicateInventoryItem", token, server, "inventoryItem=" + JSON.stringify(inventoryItem) + "&sourceItemId=" + sourceItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetNewItemNumber
	GetNewItemNumber: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetNewItemNumber", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItem
	UpdateInventoryItem: function(inventoryItem,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItem", token, server, "inventoryItem=" + JSON.stringify(inventoryItem) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItems
	DeleteInventoryItems: function(inventoryItemIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItems", token, server, "inventoryItemIds=" + JSON.stringify(inventoryItemIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-AdjustTemplatesInstant
	AdjustTemplatesInstant: function(inventoryItemIds,source,subSource,adjustmentOptions,token, server)
	{
		return Factory.GetResponse("Inventory/AdjustTemplatesInstant", token, server, "inventoryItemIds=" + JSON.stringify(inventoryItemIds) + "&source=" + source + "&subSource=" + subSource + "&adjustmentOptions=" + JSON.stringify(adjustmentOptions) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemChannelSKUs
	GetInventoryItemChannelSKUs: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemChannelSKUs", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemChannelSKUs
	CreateInventoryItemChannelSKUs: function(inventoryItemChannelSKUs,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemChannelSKUs", token, server, "inventoryItemChannelSKUs=" + JSON.stringify(inventoryItemChannelSKUs) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemChannelSKUs
	DeleteInventoryItemChannelSKUs: function(inventoryItemChannelSKUIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemChannelSKUs", token, server, "inventoryItemChannelSKUIds=" + JSON.stringify(inventoryItemChannelSKUIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UnlinkChannelListing
	UnlinkChannelListing: function(channelRefId,source,subSource,token, server)
	{
		return Factory.GetResponse("Inventory/UnlinkChannelListing", token, server, "channelRefId=" + channelRefId + "&source=" + source + "&subSource=" + subSource +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemAuditTrail
	GetInventoryItemAuditTrail: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemAuditTrail", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemImages
	GetInventoryItemImages: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemImages", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemImagesForTemplates
	GetInventoryItemImagesForTemplates: function(inventoryItemIds,source,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemImagesForTemplates", token, server, "inventoryItemIds=" + JSON.stringify(inventoryItemIds) + "&source=" + source +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-SetInventoryItemImageAsMain
	SetInventoryItemImageAsMain: function(inventoryItemId,mainImageId,token, server)
	{
		return Factory.GetResponse("Inventory/SetInventoryItemImageAsMain", token, server, "inventoryItemId=" + inventoryItemId + "&mainImageId=" + mainImageId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UploadImagesToInventoryItem
	UploadImagesToInventoryItem: function(inventoryItemId,imageIds,token, server)
	{
		return Factory.GetResponse("Inventory/UploadImagesToInventoryItem", token, server, "inventoryItemId=" + inventoryItemId + "&imageIds=" + JSON.stringify(imageIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteImagesFromInventoryItem
	DeleteImagesFromInventoryItem: function(imageURL,inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteImagesFromInventoryItem", token, server, "imageURL=" + imageURL + "&inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetCategories
	GetCategories: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetCategories", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateCategory
	CreateCategory: function(categoryName,token, server)
	{
		return Factory.GetResponse("Inventory/CreateCategory", token, server, "categoryName=" + categoryName +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateCategory
	UpdateCategory: function(category,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateCategory", token, server, "category=" + JSON.stringify(category) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteCategoryById
	DeleteCategoryById: function(categoryId,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteCategoryById", token, server, "categoryId=" + categoryId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetCountryCodes
	GetCountryCodes: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetCountryCodes", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetCountries
	GetCountries: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetCountries", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateCountries
	CreateCountries: function(countries,token, server)
	{
		return Factory.GetResponse("Inventory/CreateCountries", token, server, "countries=" + JSON.stringify(countries) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateCountries
	UpdateCountries: function(countries,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateCountries", token, server, "countries=" + JSON.stringify(countries) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteCountries
	DeleteCountries: function(countries,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteCountries", token, server, "countries=" + JSON.stringify(countries) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetStockLocations
	GetStockLocations: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetStockLocations", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemLocations
	GetInventoryItemLocations: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemLocations", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-AddItemLocations
	AddItemLocations: function(itemLocations,token, server)
	{
		return Factory.GetResponse("Inventory/AddItemLocations", token, server, "itemLocations=" + JSON.stringify(itemLocations) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateItemLocations
	UpdateItemLocations: function(itemLocations,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateItemLocations", token, server, "itemLocations=" + JSON.stringify(itemLocations) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteItemLocations
	DeleteItemLocations: function(inventoryItemId,itemLocations,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteItemLocations", token, server, "inventoryItemId=" + inventoryItemId + "&itemLocations=" + JSON.stringify(itemLocations) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemCompositions
	GetInventoryItemCompositions: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemCompositions", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemCompositions
	CreateInventoryItemCompositions: function(inventoryItemCompositions,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemCompositions", token, server, "inventoryItemCompositions=" + JSON.stringify(inventoryItemCompositions) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemCompositions
	UpdateInventoryItemCompositions: function(inventoryItemCompositions,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemCompositions", token, server, "inventoryItemCompositions=" + JSON.stringify(inventoryItemCompositions) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemCompositions
	DeleteInventoryItemCompositions: function(stockItemId,inventoryItemCompositionIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemCompositions", token, server, "stockItemId=" + stockItemId + "&inventoryItemCompositionIds=" + JSON.stringify(inventoryItemCompositionIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemExtendedProperties
	GetInventoryItemExtendedProperties: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemExtendedProperties", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemExtendedProperties
	CreateInventoryItemExtendedProperties: function(inventoryItemExtendedProperties,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemExtendedProperties", token, server, "inventoryItemExtendedProperties=" + JSON.stringify(inventoryItemExtendedProperties) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemExtendedProperties
	UpdateInventoryItemExtendedProperties: function(inventoryItemExtendedProperties,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemExtendedProperties", token, server, "inventoryItemExtendedProperties=" + JSON.stringify(inventoryItemExtendedProperties) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemExtendedProperties
	DeleteInventoryItemExtendedProperties: function(inventoryItemId,inventoryItemExtendedPropertyIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemExtendedProperties", token, server, "inventoryItemId=" + inventoryItemId + "&inventoryItemExtendedPropertyIds=" + JSON.stringify(inventoryItemExtendedPropertyIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemTitles
	GetInventoryItemTitles: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemTitles", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateInventoryItemTitles
	CreateInventoryItemTitles: function(inventoryItemTitles,token, server)
	{
		return Factory.GetResponse("Inventory/CreateInventoryItemTitles", token, server, "inventoryItemTitles=" + JSON.stringify(inventoryItemTitles) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateInventoryItemTitles
	UpdateInventoryItemTitles: function(inventoryItemTitles,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateInventoryItemTitles", token, server, "inventoryItemTitles=" + JSON.stringify(inventoryItemTitles) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteInventoryItemTitles
	DeleteInventoryItemTitles: function(inventoryItemTitleIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteInventoryItemTitles", token, server, "inventoryItemTitleIds=" + JSON.stringify(inventoryItemTitleIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetSupplierList
	GetSupplierList: function(token, server)
	{
		return Factory.GetResponse("Inventory/GetSupplierList", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetStockSupplierStat
	GetStockSupplierStat: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetStockSupplierStat", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-CreateStockSupplierStat
	CreateStockSupplierStat: function(itemSuppliers,token, server)
	{
		return Factory.GetResponse("Inventory/CreateStockSupplierStat", token, server, "itemSuppliers=" + JSON.stringify(itemSuppliers) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-UpdateStockSupplierStat
	UpdateStockSupplierStat: function(itemSuppliers,token, server)
	{
		return Factory.GetResponse("Inventory/UpdateStockSupplierStat", token, server, "itemSuppliers=" + JSON.stringify(itemSuppliers) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-DeleteStockSupplierStat
	DeleteStockSupplierStat: function(stockItemId,itemSupplierIds,token, server)
	{
		return Factory.GetResponse("Inventory/DeleteStockSupplierStat", token, server, "stockItemId=" + stockItemId + "&itemSupplierIds=" + JSON.stringify(itemSupplierIds) +"");
	},
	// http://apidoc.linnworks.net/#/Inventory-GetInventoryItemPrices
	GetInventoryItemPrices: function(inventoryItemId,token, server)
	{
		return Factory.GetResponse("Inventory/GetInventoryItemPrices", token, server, "inventoryItemId=" + inventoryItemId +"");
	},
};
<file_sep>/Linnworks/src/net/LinnworksAPI/LinnworksException.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinnworksAPI
{
    public class LinnworksAPIException : System.Exception 
    {

        public LinnworksAPIException(string message, string code, Exception innerException):base(message,innerException)
        {
            _Code = code;
        }

        private string _Code;
        public string Code {
            get
            {
                return _Code;
            }
        }

    }
}
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Error.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinnworksAPI
{
    public class Error
    {
        public string Code;
        public string Message;
    }
}
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_GetOrderPackagingCalculationRequest.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class GetOrderPackagingCalculationRequest
    {
        public List<Guid> pkOrderIds;
        public Boolean Recalculate;
        public Boolean SaveRecalculation;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_OrderItem.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class OrderItem
    {
        public Guid OrderId;
        public Guid ItemId;
        public Guid StockItemId;
        public String ItemNumber;
        public String SKU;
        public String ItemSource;
        public String Title;
        public Int32 Quantity;
        public String CategoryName;
        public Int32? CompositeAvailablity;
        public Guid RowId;
        public Boolean StockLevelsSpecified;
        public Int32 OnOrder;
        public Int32? InOrderBook;
        public Int32 Level;
        public Int32? MinimumLevel;
        public Int32 AvailableStock;
        public Double PricePerUnit;
        public Double UnitCost;
        public Double Discount;
        public Double Tax;
        public Double TaxRate;
        public Double Cost;
        public Double CostIncTax;
        public List<OrderItem> CompositeSubItems;
        public Boolean IsService;
        public Double SalesTax;
        public Boolean TaxCostInclusive;
        public Boolean PartShipped;
        public Double Weight;
        public String BarcodeNumber;
        public Int32 Market;
        public String ChannelSKU;
        public String ChannelTitle;
        public Boolean HasImage;
        public Guid? ImageId;
        public List<OrderItemOption> AdditionalInfo;
        public Int32 StockLevelIndicator;
        public String BinRack;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_InventoryItem.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class InventoryItem
    {
        public Guid Id;
        public String SKU;
        public String Title;
        public Double? RetailPrice;
        public Double? PurchasePrice;
        public String Barcode;
        public Int32 Available;
        public Int32 MinimumLevel;
        public Int32 InOrder;
        public Int32 StockLevel;
        public Double StockValue;
        public Int32 Due;
        public Boolean Tracked;
        public String BinRack;
        public Guid Category;
        public Boolean IsComposite;
        public Boolean IsArchived;
        public String Image;
        public DateTime? CreatedDate;
        public DateTime? ModifiedDate;
        public String VariationGroupName;
        public List<InventoryItem> Products;
        public Dictionary<String, ChannelDetails> Channels;
        public Int32 TotalChangedProducts;
        public Boolean ContainsChanges;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_SearchField.cs
using System;

namespace LinnworksAPI
{
    public class SearchField
    {
        public String Field;
        public String Name;
        public Boolean AllowForAllDates;
        public Boolean ExactSearchOptional;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Search_PurchaseOrdersResult.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class Search_PurchaseOrdersResult
    {
        public List<PurchaseOrderHeader> Result;
        public Int32 TotalPages;
        public Int32 CurrentPageNumber;
        public Int32 EntriesPerPage;
        public Int32 TotalNumberOfRecords;
    }
}<file_sep>/Linnworks/src/javascript/Auth.js
var Auth =
{
	// http://apidoc.linnworks.net/#/Auth-GetDebugInformation
	GetDebugInformation: function(key,password)
	{
		return Factory.GetResponse("Auth/GetDebugInformation", "", "", "key=" + key + "&password=" + password +"");
	},
	// http://apidoc.linnworks.net/#/Auth-MultiLogin
	MultiLogin: function(userName,password)
	{
		return Factory.GetResponse("Auth/MultiLogin", "", "", "userName=" + userName + "&password=" + password +"");
	},
	// http://apidoc.linnworks.net/#/Auth-Authorize
	Authorize: function(userName,password,userId)
	{
		return Factory.GetResponse("Auth/Authorize", "", "", "userName=" + userName + "&password=" + <PASSWORD> + "&userId=" + userId +"");
	},
	// http://apidoc.linnworks.net/#/Auth-ResetPassword
	ResetPassword: function(userName,resetToken,newPassword,confirmNewPassword)
	{
		return Factory.GetResponse("Auth/ResetPassword", "", "", "userName=" + userName + "&resetToken=" + resetToken + "&newPassword=" + <PASSWORD> + "&confirmNewPassword=" + <PASSWORD> +"");
	},
	// http://apidoc.linnworks.net/#/Auth-ResetPasswordRequest
	ResetPasswordRequest: function(userName)
	{
		return Factory.GetResponse("Auth/ResetPasswordRequest", "", "", "userName=" + userName +"");
	},
	// http://apidoc.linnworks.net/#/Auth-AuthorizeByApplication
	AuthorizeByApplication: function(applicationId,applicationSecret,token)
	{
		return Factory.GetResponse("Auth/AuthorizeByApplication", "", "", "applicationId=" + applicationId + "&applicationSecret=" + applicationSecret + "&token=" + token +"");
	},
	// http://apidoc.linnworks.net/#/Auth-GetServerUTCTime
	GetServerUTCTime: function()
	{
		return Factory.GetResponse("Auth/GetServerUTCTime", "", "", "");
	},
};
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_ConfigPropertySelectionList.cs
using System;

namespace LinnworksAPI
{
    public class ConfigPropertySelectionList<SelectStringValueOption, Guid>
    {
        public GetSelectionList<SelectStringValueOption> OnGetSelectionList;
        public Boolean Loaded;
        public Int32 pkPropertyId;
        public Boolean IsChanged;
        public Guid PropertyValue;
        public String PropertyType;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_LinePricingRequest.cs
using System;

namespace LinnworksAPI
{
    public class LinePricingRequest
    {
        public Double PricePerUnit;
        public Double DiscountPercentage;
        public Double TaxRatePercentage;
        public Boolean TaxInclusive;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_RefundInfo.cs
using System;

namespace LinnworksAPI
{
    public class RefundInfo
    {
        public Guid? pkRefundRowId;
        public String SKU;
        public String ItemTitle;
        public Boolean IsItem;
        public Boolean IsService;
        public Double Amount;
        public String Reason;
        public Boolean Actioned;
        public DateTime? ActionDate;
        public String ReturnReference;
        public Double? Cost;
        public RefundStatus RefundStatus;
        public Boolean IgnoredValidation;
        public Guid? fkOrderItemRowId;
        public Boolean ShouldSerializeChannelReason;
        public String ChannelReason;
        public Boolean ShouldSerializeChannelReasonSec;
        public String ChannelReasonSec;
        public Boolean IsNew;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Add_PurchaseOrderItemParameter.cs
using System;

namespace LinnworksAPI
{
    public class Add_PurchaseOrderItemParameter
    {
        public Guid pkPurchaseId;
        public Guid fkStockItemId;
        public Int32 Qty;
        public Int32 PackQuantity;
        public Int32 PackSize;
        public Decimal Cost;
        public Decimal TaxRate;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/ClientConfig.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinnworksAPI
{
    public static class ClientConfig
    {

        private static bool _ThrowExceptions;

        public static bool ThrowExceptions
        {
            get
            {
                return _ThrowExceptions;
            }
            set
            {
                _ThrowExceptions = value;
            }
        }

    }
}
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_BooleanFilter.cs
using System;

namespace LinnworksAPI
{
    public class BooleanFilter
    {
        public Boolean? Value;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_StockItemImageSimple.cs
using System;

namespace LinnworksAPI
{
    public class StockItemImageSimple
    {
        public Guid pkRowId;
        public Boolean IsMain;
        public Int32 SortOrder;
        public Guid StockItemId;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_BookedReturnsExchangeItem.cs
using System;

namespace LinnworksAPI
{
    public class BookedReturnsExchangeItem
    {
        public Guid fkOrderItemRowId;
        public String RowType;
        public String SKU;
        public String ItemTitle;
        public Int32 ReturnQty;
        public Int32 MaxReturnQty;
        public Int32? NewQty;
        public String NewSKU;
        public String NewTitle;
        public Guid? fkNewStockItemId;
        public String Category;
        public String Reason;
        public Guid fkReturnLocationId;
        public String ReturnLocation;
        public Double? PendingRefundAmount;
        public Boolean Scrapped;
        public Int32? ScrapQty;
        public Guid ParentOrderItemRowId;
        public Double? AdditionalCost;
        public String cCurrency;
        public Int32 pkReturnId;
        public String ChannelReason;
        public String ChannelReasonSec;
        public DateTime ReturnDate;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_Deliver_PurchaseItemParameter.cs
using System;

namespace LinnworksAPI
{
    public class Deliver_PurchaseItemParameter
    {
        public Guid pkPurchaseId;
        public Guid pkPurchaseItemId;
        public Int32? Delivered;
        public Int32? AddToDelivered;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_OrderNote.cs
using System;

namespace LinnworksAPI
{
    public class OrderNote
    {
        public Boolean Internal;
        public String Note;
        public DateTime NoteEntryDate;
        public String NoteUserName;
        public Guid pkOrderNoteId;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Factory.cs
using System;
using System.IO;
using System.Net;
using Newtonsoft.Json;

public static class Factory
{

    public static string SerializeAndUrlEscape(object o)
    {
        //doesn't work! return System.Web.HttpUtility.UrlEncode(Newtonsoft.Json.JsonConvert.SerializeObject(o));
        JsonSerializerSettings jss = new JsonSerializerSettings();
        jss.DateFormatString = "yyyy-MM-ddTHH:mm:ss.ffZ";
        return Newtonsoft.Json.JsonConvert.SerializeObject(o,jss).Trim('\"');
    }

    public static string GetResponse(string Extension, string Body, string Token, string Server)
    {
        if (string.IsNullOrEmpty(Server))
        {
            Server = "https://api.linnworks.net/api/";
        }
        else
        {
            Server += "/api/";
        }

        HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Server + Extension);

        Request.ContentType = "application/x-www-form-urlencoded";
        Request.Method = "POST";

        if (!string.IsNullOrEmpty(Token))
        {
            Request.Headers.Add("Authorization", Token);
        }

        using (StreamWriter writer = new StreamWriter(Request.GetRequestStream()))
        {
            writer.Write(Body);
        }

        try
        {
            using (StreamReader reader = new StreamReader(Request.GetResponse().GetResponseStream()))
            {
                return reader.ReadToEnd();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            if (LinnworksAPI.ClientConfig.ThrowExceptions)
            {
                bool docatch = true;
                
                try
                {
                    WebException wex = (WebException)ex;
                    string response;

                    using (StreamReader reader = new StreamReader(wex.Response.GetResponseStream()))
                    {
                        response=reader.ReadToEnd();
                    }

                    LinnworksAPI.Error err = null;
                    try
                    {
                        err = Newtonsoft.Json.JsonConvert.DeserializeObject<LinnworksAPI.Error>(response);
                    }
                    catch
                    {
                        docatch = false;
                        throw new Exception("Error in response from Linnworks API: " + response, ex);
                    }
                    docatch = false;
                    if (err!=null)
                        throw new LinnworksAPI.LinnworksAPIException(err.Message, err.Code, ex);
                    else
                        throw new Exception("Error in response from Linnworks API: " + response, ex);
                }
                catch when (docatch)
                {

                }
                throw;
            }
            return "";
        }
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_StockItemLevel.cs
using System;

namespace LinnworksAPI
{
    public class StockItemLevel
    {
        public StockLocation Location;
        public Int32 StockLevel;
        public Double StockValue;
        public Int32 MinimumLevel;
        public Int32 InOrderBook;
        public Int32 Due;
        public Int32 InOrders;
        public Int32 Available;
        public Double UnitCost;
        public String SKU;
        public Boolean AutoAdjust;
        public DateTime LastUpdateDate;
        public String LastUpdateOperation;
        public Guid rowid;
        public Boolean PendingUpdate;
        public Guid StockItemId;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_CalcOrderHeader.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class CalcOrderHeader
    {
        public Guid pkOrderID;
        public Int32 nOrderId;
        public Guid fkPostalServiceId;
        public Guid fkCountryId;
        public String cCountry;
        public Double ItemWeight;
        public Guid fkPackagingGroupId;
        public Guid fkPackagingTypeId;
        public Boolean IsSplitPackaging;
        public Double PackagingWeight;
        public Double TotalWeight;
        public Decimal? TotalWidth;
        public Decimal? TotalHeight;
        public Decimal? TotalDepth;
        public Boolean ManualAdjust;
        public Int32 SplitPackageCount;
        public Boolean LabelPrinted;
        public List<String> CalculationHints;
        public List<CalcOrderItem> Items;
        public List<CalcBin> Bins;
        public CalcMethod DimMethod;
        public SqlDataRecord DataRecordMetaData;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/ImportExport.cs
using Newtonsoft.Json;
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public static class ImportExportMethods
    {
        private static JsonSerializerSettings serializerSettings = new JsonSerializerSettings() { DateFormatString = "yyyy-MM-ddTHH:mm:ss.ffZ" };

        public static ImportRegister EnableImport(Int32 importId, Boolean enable, String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<ImportRegister>(Factory.GetResponse("ImportExport/EnableImport", "importId=" + importId + "&enable=" + enable + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static void RunNowImport(Int32 importId, String ApiToken, String ApiServer)
        {
            Factory.GetResponse("ImportExport/RunNowImport", "importId=" + importId + "", ApiToken, ApiServer);
        }

        public static Import GetImport(Int32 id, String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<Import>(Factory.GetResponse("ImportExport/GetImport", "id=" + id + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static void DeleteImport(Int32 id, String ApiToken, String ApiServer)
        {
            Factory.GetResponse("ImportExport/DeleteImport", "id=" + id + "", ApiToken, ApiServer);
        }

        public static List<ImportRegister> GetImports(String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<List<ImportRegister>>(Factory.GetResponse("ImportExport/GetImports", "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static FulfilmentCenterImportExportSettings GetFullfilmentCenterSettings(Guid fkStockLocationId, String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<FulfilmentCenterImportExportSettings>(Factory.GetResponse("ImportExport/GetFullfilmentCenterSettings", "fkStockLocationId=" + fkStockLocationId + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static ExportRegister EnableExport(Int32 exportId, Boolean enable, String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<ExportRegister>(Factory.GetResponse("ImportExport/EnableExport", "exportId=" + exportId + "&enable=" + enable + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static void RunNowExport(Int32 exportId, String ApiToken, String ApiServer)
        {
            Factory.GetResponse("ImportExport/RunNowExport", "exportId=" + exportId + "", ApiToken, ApiServer);
        }

        public static Export GetExport(Int32 id, String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<Export>(Factory.GetResponse("ImportExport/GetExport", "id=" + id + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }

        public static void DeleteExport(Int32 id, String ApiToken, String ApiServer)
        {
            Factory.GetResponse("ImportExport/DeleteExport", "id=" + id + "", ApiToken, ApiServer);
        }

        public static List<ExportRegister> GetExports(String ApiToken, String ApiServer)
        {
            return Newtonsoft.Json.JsonConvert.DeserializeObject<List<ExportRegister>>(Factory.GetResponse("ImportExport/GetExports", "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
        }
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_ChannelDetails.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class ChannelDetails
    {
        public Int32 LinksCount;
        public List<InventoryListingTemplate> Templates;
        public List<FieldTypes> Changes;
        public Boolean ContainsChanges;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_OrderRelation.cs
using System;

namespace LinnworksAPI
{
    public class OrderRelation
    {
        public Int32 ChildOrderId;
        public Guid ChildOrderPkOrderId;
        public Int32 ParentOrderId;
        public Guid ParentOrderPkOrderId;
        public String RelationType;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_ScheduleConfiguration.cs
using System;

namespace LinnworksAPI
{
    public class ScheduleConfiguration
    {
        public RepetitionType RepetitionType;
        public DateTime? OneTimeDate;
        public DailyFrequencyType? DailyFrequency;
        public DateTime? OccursFrequencyStartingDate;
        public Int32? OccursFrequencyEveryX;
        public String WeeklyDays;
        public RepetitionType? OccursFrequency;
        public String OccursOnceAtTime;
        public Int32? OccursEveryHours;
        public String StartingTime;
        public String EndingTime;
        public Boolean Enabled;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_SqlDataRecord.cs
using System;

namespace LinnworksAPI
{
    public class SqlDataRecord
    {
        public Int32 FieldCount;
        public Object Item;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_StockItemPricingRule.cs
using System;

namespace LinnworksAPI
{
    public class StockItemPricingRule
    {
        public Int32? pkRowId;
        public Guid fkStockPricingId;
        public String Type;
        public Int32 LowerBound;
        public Double Value;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_GetConversionRatesRequest.cs
using System;

namespace LinnworksAPI
{
    public class GetConversionRatesRequest
    {
        public Boolean GetCurrenciesFromOrders;
        public String Currency;
    }
}<file_sep>/Linnworks/src/javascript/Settings.js
var Settings =
{
	// http://apidoc.linnworks.net/#/Settings-AddSetting
	AddSetting: function(category,setting,value,userSpecific,token, server)
	{
		return Factory.GetResponse("Settings/AddSetting", token, server, "category=" + category + "&setting=" + setting + "&value=" + value + "&userSpecific=" + userSpecific +"");
	},
	// http://apidoc.linnworks.net/#/Settings-DeleteSetting
	DeleteSetting: function(category,setting,userSpecific,token, server)
	{
		return Factory.GetResponse("Settings/DeleteSetting", token, server, "category=" + category + "&setting=" + setting + "&userSpecific=" + userSpecific +"");
	},
	// http://apidoc.linnworks.net/#/Settings-GetSettings
	GetSettings: function(categories,token, server)
	{
		return Factory.GetResponse("Settings/GetSettings", token, server, "categories=" + JSON.stringify(categories) +"");
	},
	// http://apidoc.linnworks.net/#/Settings-IsCustomerAuthorized
	IsCustomerAuthorized: function(module,token, server)
	{
		return Factory.GetResponse("Settings/IsCustomerAuthorized", token, server, "module=" + module +"");
	},
	// http://apidoc.linnworks.net/#/Settings-IsBetaApplied
	IsBetaApplied: function(module,token, server)
	{
		return Factory.GetResponse("Settings/IsBetaApplied", token, server, "module=" + module +"");
	},
	// http://apidoc.linnworks.net/#/Settings-RequestCustomerAccess
	RequestCustomerAccess: function(module,name,telephone,time,token, server)
	{
		return Factory.GetResponse("Settings/RequestCustomerAccess", token, server, "module=" + module + "&name=" + name + "&telephone=" + telephone + "&time=" + JSON.stringify(time) +"");
	},
	// http://apidoc.linnworks.net/#/Settings-GetMeasures
	GetMeasures: function(token, server)
	{
		return Factory.GetResponse("Settings/GetMeasures", token, server, "");
	},
	// http://apidoc.linnworks.net/#/Settings-GetXmlSetting
	GetXmlSetting: function(name,category,token, server)
	{
		return Factory.GetResponse("Settings/GetXmlSetting", token, server, "name=" + name + "&category=" + category +"");
	},
};
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_RowQty.cs
using System;

namespace LinnworksAPI
{
    public class RowQty
    {
        public Guid OrderItemRowId;
        public Double Refund;
        public Int32 Qty;
        public Int32? ScrapQty;
        public Double AdditionalCost;
        public Guid? NewStockItemId;
        public Int32 NewQty;
    }
}<file_sep>/Linnworks/src/javascript/PrintService.js
var PrintService =
{
	// http://apidoc.linnworks.net/#/PrintService-CreatePDFfromJobForceTemplate
	CreatePDFfromJobForceTemplate: function(templateType,IDs,templateID,parameters,printerName,token, server)
	{
		return Factory.GetResponse("PrintService/CreatePDFfromJobForceTemplate", token, server, "templateType=" + templateType + "&IDs=" + JSON.stringify(IDs) + "&templateID=" + templateID + "&parameters=" + JSON.stringify(parameters) + "&printerName=" + printerName +"");
	},
	// http://apidoc.linnworks.net/#/PrintService-PrintTemplatePreview
	PrintTemplatePreview: function(templateId,token, server)
	{
		return Factory.GetResponse("PrintService/PrintTemplatePreview", token, server, "templateId=" + templateId +"");
	},
	// http://apidoc.linnworks.net/#/PrintService-GetTemplateList
	GetTemplateList: function(templateType,token, server)
	{
		return Factory.GetResponse("PrintService/GetTemplateList", token, server, "templateType=" + templateType +"");
	},
	// http://apidoc.linnworks.net/#/PrintService-VP_GetPrinters
	VP_GetPrinters: function(token, server)
	{
		return Factory.GetResponse("PrintService/VP_GetPrinters", token, server, "");
	},
	// http://apidoc.linnworks.net/#/PrintService-DownloadVirtualPrinterClient
	DownloadVirtualPrinterClient: function(token, server)
	{
		return Factory.GetResponse("PrintService/DownloadVirtualPrinterClient", token, server, "");
	},
};
<file_sep>/Linnworks/src/net/LinnworksAPI/Class_ReturnInfo.cs
using System;

namespace LinnworksAPI
{
    public class ReturnInfo
    {
        public Int32 pkReturnId;
        public ReturnType RowType;
        public String ReturnReference;
        public Guid fkOrderId;
        public Guid fkOrderItemRowId;
        public Int32 nOrderId;
        public String SKU;
        public String ItemTitle;
        public String Reason;
        public String ChannelReason;
        public String ChannelReasonSec;
        public String Category;
        public Int32 ReturnQty;
        public Guid? fkReturnLocationId;
        public Boolean Scrapped;
        public Int32? ScrapQty;
        public String LastState;
        public DateTime LastDate;
        public Boolean Completed;
        public Guid? fkNewOrderId;
        public Guid? fkNewOrderItemRowId;
        public Guid? fkNewStockItemId;
        public Int32? NewQty;
        public Int32? NewOrderId;
        public Boolean NewOrderCancelled;
        public String NewSKU;
        public String NewItemTitle;
        public DateTime? NewOrderProcessedOn;
        public Double? AdditionalCost;
        public Guid? fkRefundRowId;
        public Double? RefundedAmount;
        public Double? PendingRefund;
        public DateTime ReturnDate;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_InventoryParameters.cs
using System;
using System.Collections.Generic;

namespace LinnworksAPI
{
    public class InventoryParameters
    {
        public List<Guid> InventoryItemIds;
        public List<Tuple<Int32, Int32>> SelectedRegions;
        public Guid Token;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_PurchaseOrderItem.cs
using System;

namespace LinnworksAPI
{
    public class PurchaseOrderItem
    {
        public Guid pkPurchaseItemId;
        public Guid fkStockItemId;
        public Int32 Quantity;
        public Decimal Cost;
        public Int32 Delivered;
        public Decimal TaxRate;
        public Decimal Tax;
        public Int32 PackQuantity;
        public Int32 PackSize;
        public String SKU;
        public String ItemTitle;
    }
}<file_sep>/Linnworks/src/net/LinnworksAPI/Class_StockLevelUpdate.cs
using System;

namespace LinnworksAPI
{
    public class StockLevelUpdate
    {
        public String SKU;
        public Guid LocationId;
        public Int32 Level;
    }
}