{
  "Name": "CalWinLibrary",
  "Namespace": "CalWin.Server",
  "ID": "{A670AB00-C7B6-4338-97C4-1A743325D1D3}",
  "Version": "4.0",
  "Documentation": "CalWin Server library",
  "Services": [
    {
      "Name": "ApplicationService",
      "ID": "{8D65FA16-9C0C-4E5F-8B50-A90EE1D578AF}",
      "Documentation": "The application service is used to interact with the application as defined in the .App file, and has methods for user login, user management, App parameters, and to get data from application defined SQL statements.",
      "Operations": [
        {
          "Name": "AddOrUpdateAppUser",
          "AllowRoles": [
            "ApplicationService.AddOrUpdateAppUser"
          ],
          "Documentation": "This operation adds or updates an AppUser. If aParameter.AppUser.Id = 0, then the user will be added.",
          "CustomAttributes": {
            "HttpApiPath": "application\/addOrUpdateAppUser",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddOrUpdateAppUser",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraAddOrUpdateAppUser"
            }
          ]
        },
        {
          "Name": "ChangeUsernameAndPassword",
          "AllowRoles": [
            "ApplicationService.ChangeUsernameAndPassword"
          ],
          "Documentation": "Change the username and password for the given user. The user must be identified by either UserId or Username (OldUsername).",
          "CustomAttributes": {
            "HttpApiPath": "application\/changeUsernameAndPassword",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resChangeUsernameAndPassword",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraChangeUsernameAndPassword"
            }
          ]
        },
        {
          "Name": "GetAppParameters",
          "AllowRoles": [
            "ApplicationService.GetAppParameters"
          ],
          "Documentation": "Get values for defined parameters for the Application",
          "CustomAttributes": {
            "HttpApiPath": "application\/getAppParameters",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetAppParameters",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetAppParameters"
            }
          ]
        },
        {
          "Name": "LoginUser",
          "AllowRoles": [
            "ApplicationService.LoginUser"
          ],
          "Documentation": "Log in a user identified by username and password.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resLoginUser",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraLoginUser"
            }
          ]
        },
        {
          "Name": "SendNewPassword",
          "AllowRoles": [
            "ApplicationService.SendNewPassword"
          ],
          "Documentation": "This operation will reset and create a new password, and send it by e-mail. On next login the password has to be changed.",
          "CustomAttributes": {
            "HttpApiPath": "application\/sendNewPassword",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSendNewPassword",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSendNewPassword"
            }
          ]
        },
        {
          "Name": "ExecuteSQL",
          "AllowRoles": [
            "ApplicationService.ExecuteSQL"
          ],
          "Documentation": "Executes the SQL and returns the data and column definitions as XML",
          "CustomAttributes": {
            "HttpApiPath": "application\/executeSQL",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteSQL",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteSQL"
            }
          ]
        },
        {
          "Name": "ExecuteSQLV2",
          "AllowRoles": [
            "ApplicationService.ExecuteSQL"
          ],
          "Documentation": "Executes the SQL and returns the column definitions and data. The data is returned as JSON",
          "CustomAttributes": {
            "HttpApiPath": "application\/executeSQLV2",
            "HttpApiTags": "Application"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteSQLV2",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteSQLV2"
            }
          ]
        }
      ]
    },
    {
      "Name": "BusinessObjectsService",
      "ID": "{C9BB874C-7522-4B33-A876-EF7668128EC8}",
      "Operations": [
        {
          "Name": "Update",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resUpdate",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraUpdate"
            }
          ]
        },
        {
          "Name": "Save",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSave",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSave"
            }
          ]
        },
        {
          "Name": "InsertChild",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resInsertChild",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraInsertChild"
            }
          ]
        },
        {
          "Name": "Delete",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resDelete",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraDelete"
            }
          ]
        },
        {
          "Name": "Dispose",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resDispose",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraDispose"
            }
          ]
        },
        {
          "Name": "Refetch",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resRefetch",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraRefetch"
            }
          ]
        }
      ]
    },
    {
      "Name": "CheckpointService",
      "ID": "{A2BB9726-1507-4B49-9BAA-1877E36837F5}",
      "Documentation": "Operations for the Checkpoint module. Requires session (Login).",
      "Operations": [
        {
          "Name": "GetWorklogInformation",
          "AllowRoles": [
            "CheckpointService.GetWorklogInformation"
          ],
          "Documentation": "Returns information about a specific checkpoint signing.",
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/getWorklogInformation",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetWorklogInformation",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetWorklogInformation"
            }
          ]
        },
        {
          "Name": "GetWorklogList",
          "AllowRoles": [
            "CheckpointService.GetWorklogList"
          ],
          "Documentation": "Returns a list of WorkLogStruct for a given Workid",
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/getWorklogList",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetWorkloglist",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetWorklogList"
            }
          ]
        },
        {
          "Name": "GetWorkStructList",
          "AllowRoles": [
            "CheckpointService.GetWorkStructList"
          ],
          "Documentation": "Returns a list of WorkStructs for a given salesline and checkpoint",
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/getWorkStructList",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetWorkstructList",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetWorkstructList"
            }
          ]
        },
        {
          "Name": "SignCheckpoint",
          "AllowRoles": [
            "CheckpointService.SignCheckpoint"
          ],
          "Documentation": "Signs a checkpoint. The checkpoint id has to be retrived using GetWorkStruct or other functions returning a valid workid.  The return value is the worklog id.\r\nPS! This operation is atomic",
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/signCheckpoint",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSignCheckpoint",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSignCheckpoint"
            }
          ]
        },
        {
          "Name": "GetCheckpointprofileDocumentLinks",
          "AllowRoles": [
            "CheckpointService.GetCheckpointprofileDocumentLinks"
          ],
          "Documentation": "Returns links to all relevant documents for the given workid and checkpoint profile",
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/getCheckpointprofileDocumentLinks",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetCheckpointDocumentLinks",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetCheckpointDocumentLinks"
            }
          ]
        },
        {
          "Name": "GetCheckpointprofileInfo",
          "AllowRoles": [
            "CheckpointService.GetCheckpointprofileInfo"
          ],
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/getCheckpointprofileInfo",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetCheckpointprofileInfo",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetCheckpointprofileInfo"
            }
          ]
        },
        {
          "Name": "ExecuteSQLforCheckpointprofile",
          "AllowRoles": [
            "CheckpointService.ExecuteSQLforCheckpointprofile"
          ],
          "CustomAttributes": {
            "HttpApiPath": "checkpoint\/executeSQLforCheckpointprofile",
            "HttpApiTags": "Checkpoint"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteSQLForCheckpointprofile",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteSQLForCheckpointprofile"
            }
          ]
        }
      ]
    },
    {
      "Name": "ConsignmentService",
      "ID": "{C8A12104-7F7F-4F66-AA2F-7DE6FC6BEFE9}",
      "Ancestor": "BusinessObjectsService",
      "Documentation": "The ConsignmentService is derived from BusinessObjectsService and allows management of consignments.",
      "Operations": [
        {
          "Name": "NewEmpty",
          "AllowRoles": [
            "ConsignmentService.NewEmpty"
          ],
          "CustomAttributes": {
            "HttpApiPath": "consignment\/newEmpty",
            "HttpApiTags": "Consignment"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resNewEmpty",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraNewEmpty"
            }
          ]
        },
        {
          "Name": "NewFromSales",
          "AllowRoles": [
            "ConsignmentService.NewFromSales"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resNewFromSales",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraNewFromSales"
            }
          ]
        },
        {
          "Name": "NewFromCustomer",
          "AllowRoles": [
            "ConsignmentService.NewFromCustomer"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resNewFromCustomer",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraNewFromCustomer"
            }
          ]
        },
        {
          "Name": "NewFromDelivery",
          "AllowRoles": [
            "ConsignmentService.NewFromDelivery"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resNewFromDelivery",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraNewFromDelivery"
            }
          ]
        },
        {
          "Name": "Open",
          "AllowRoles": [
            "ConsignmentService.Open"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resOpen",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraOpen"
            }
          ]
        },
        {
          "Name": "FindSimilar",
          "AllowRoles": [
            "ConsignmentService.FindSimilar"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resFindSimilar",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraFindSimilar"
            }
          ]
        }
      ]
    },
    {
      "Name": "ConsignmentUtilService",
      "ID": "{ACB8F4EA-B146-47F4-9D15-1C5D1813372B}",
      "Operations": [
        {
          "Name": "FindSimilarFromAddress",
          "AllowRoles": [
            "ConsignmentUtilService.FindSimilarFromAddress"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resFindSimilarFromAddress",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraFindSimilarFromAddress"
            }
          ]
        },
        {
          "Name": "FindSimilarFromConsignment",
          "AllowRoles": [
            "ConsignmentUtilService.FindSimilarFromConsignment"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resFindSimilarFromConsignment",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraFindSimilarFromConsignment"
            }
          ]
        },
        {
          "Name": "Merge",
          "AllowRoles": [
            "ConsignmentUtilService.Merge"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resMerge",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraMerge"
            }
          ]
        },
        {
          "Name": "GetDispatched",
          "AllowRoles": [
            "ConsignmentUtilService.GetDispatched"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetDispatched",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetDispatched"
            }
          ]
        },
        {
          "Name": "GetNotDispatched",
          "AllowRoles": [
            "ConsignmentUtilService.GetNotDispatched"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetNotDispatched",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetNotDispatched"
            }
          ]
        },
        {
          "Name": "ConfirmDispatched",
          "AllowRoles": [
            "ConsignmentUtilService.ConfirmDispatched"
          ],
          "Documentation": "Confirms a group of consignment as dispatched. If the carrier supports EDI, the message will be created and sent according to the configuration on the carrier.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resConfirmDispatched",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraConfirmDispatched"
            }
          ]
        },
        {
          "Name": "GetNotificationRecipients",
          "AllowRoles": [
            "ConsignmentUtilService.GetNotificationRecipients"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetNotificationRecipients",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetNotificationRecipients"
            }
          ]
        },
        {
          "Name": "SendNotification",
          "AllowRoles": [
            "ConsignmentUtilService.SendNotification"
          ],
          "Documentation": "Sends notification about dispatch of consignments to the recipients. The recipients has to be obtained from ConsignmentUtilService.GetNotificationRecipients.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSendNotification",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSendNotification"
            }
          ]
        }
      ]
    },
    {
      "Name": "DeviationService",
      "ID": "{C82661D1-C691-4DB0-B70B-57EFD18CF3B4}",
      "Documentation": "Deviation related services",
      "Operations": [
        {
          "Name": "CreateFromTemplate",
          "AllowRoles": [
            "DeviationService.CreateFromTemplate"
          ],
          "Documentation": "Will create a deviation based on a template.",
          "CustomAttributes": {
            "HttpApiPath": "deviation\/CreateFromTemplate",
            "HttpApiTags": "Deviation"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resCreateFromTemplate",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraCreateFromTemplate"
            }
          ]
        }
      ]
    },
    {
      "Name": "LoginService",
      "ID": "{250BF7F7-FF59-47B8-AF08-1E1A0CC47ADC}",
      "Documentation": "The LoginService handles login and logout for Applications (See Session.LoginUser for user login)",
      "Operations": [
        {
          "Name": "Login",
          "Documentation": "Login to the appliation. If successfully, a session i created.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resLogin",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraLogin"
            }
          ]
        },
        {
          "Name": "ApiLogin",
          "Documentation": "Login to the appliation application identified by ApplicationId. If successfully, a session i created.",
          "CustomAttributes": {
            "HttpApiPath": "authentication\/login",
            "HttpApiTags": "Authentication"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resApiLogin",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraApiLogin"
            }
          ]
        },
        {
          "Name": "Logout",
          "Documentation": "Logs out the client and releases the session.",
          "CustomAttributes": {
            "HttpApiPath": "authentication\/logout",
            "HttpApiTags": "Authentication"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resLogout",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraLogout"
            }
          ]
        }
      ]
    },
    {
      "Name": "LogisticsService",
      "ID": "{AE6D152A-4054-4949-B327-742AB3CA9A01}",
      "Documentation": "Logistics related service as inventory, goods delivery and goods receipt",
      "Operations": [
        {
          "Name": "GoodsDeliver",
          "AllowRoles": [
            "LogisticsService.GoodsDeliver"
          ],
          "Documentation": "Goods dispatch\/deliver (order) or goods receipt (purchase)",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/GoodsDeliver",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGoodsDeliver",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraGoodsDeliver"
            }
          ]
        },
        {
          "Name": "GoodsCancel",
          "AllowRoles": [
            "LogisticsService.GoodsCancel"
          ],
          "Documentation": "Cancel goods dispatch\/deliver (order) or goods receipt (purchase)",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/GoodsCancel",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGoodsCancel",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraGoodsCancel"
            }
          ]
        },
        {
          "Name": "CreateDraft",
          "AllowRoles": [
            "LogisticsService.CreateInventoryDraft"
          ],
          "Documentation": "Create a draft for either inventory, correction or transfer kind of item adjustments",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/CreateInventoryDraft",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resCreateInventoryDraft",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraCreateInventoryDraft"
            }
          ]
        },
        {
          "Name": "BookDraft",
          "AllowRoles": [
            "LogisticsService.BookDraft"
          ],
          "Documentation": "Book a draft. That mean all items in the draft are applied.",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/BookDraft",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resBookDraft",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraBookDraft"
            }
          ]
        },
        {
          "Name": "AddToInventoryDraft",
          "AllowRoles": [
            "LogisticsService.AddToInventoryDraft"
          ],
          "Documentation": "Add items to an Inventory draft.",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/AddToInventoryDraft",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddToDraft",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraAddToInventoryDraft"
            }
          ]
        },
        {
          "Name": "AddToCorrectionDraft",
          "AllowRoles": [
            "LogisticsService.AddToCorrectionDraft"
          ],
          "Documentation": "Add items to an correction draft.",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/AddToCorrectionDraft",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddToDraft",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraAddToCorrectionDraft"
            }
          ]
        },
        {
          "Name": "AddToTransferDraft",
          "AllowRoles": [
            "LogisticsService.AddToTransferDraft"
          ],
          "Documentation": "Add items to an correction draft.",
          "CustomAttributes": {
            "HttpApiPath": "logistics\/AddToTransferDraft",
            "HttpApiTags": "Logistics"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddToDraft",
              "Flag": "Result"
            },
            {
              "Name": "para",
              "DataType": "paraAddToTransferDraft"
            }
          ]
        }
      ]
    },
    {
      "Name": "MachineLinkService",
      "ID": "{7114513B-B23E-4ABB-A56B-C261F6F1DD3E}",
      "Documentation": "Provides access to CalWin MachineLink functions. Requires session (Login).",
      "Operations": [
        {
          "Name": "ExecuteProject",
          "AllowRoles": [
            "MachineLinkService.ExecuteProject"
          ],
          "Documentation": "Will execute a MachineLink project, and return one or more files.",
          "CustomAttributes": {
            "HttpApiPath": "machinelink\/ExecuteProject",
            "HttpApiTags": "MachineLink"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteProject",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteProject"
            }
          ]
        },
        {
          "Name": "ExecuteProjectAndStore",
          "AllowRoles": [
            "MachineLinkService.ExecuteProjectAndStore"
          ],
          "Documentation": "Will execute a MachineLink project and store the generated files to a database tabler",
          "CustomAttributes": {
            "HttpApiPath": "machinelink\/ExecuteProjectAndStore",
            "HttpApiTags": "MachineLink"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteProjectAndStore",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteProjectAndStore"
            }
          ]
        }
      ]
    },
    {
      "Name": "MediaService",
      "ID": "{49A0238E-9A3B-4A25-B961-14CCE6E87E13}",
      "Documentation": "Service for getting product drawings, graphics, documents etc.",
      "Operations": [
        {
          "Name": "GetItemLineImage",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns a product drawing for an item line",
          "CustomAttributes": {
            "HttpApiPath": "media\/getItemLineImage",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resProdcutImage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetItemLineImage"
            }
          ]
        },
        {
          "Name": "GetStdProductImage",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns a product drawing for standard product",
          "CustomAttributes": {
            "HttpApiPath": "media\/getStdProductImage",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resProdcutImage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetStdProductImage"
            }
          ]
        },
        {
          "Name": "GetStockItemImage",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns a product drawing for an item",
          "CustomAttributes": {
            "HttpApiPath": "media\/getStockItemImage",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resProdcutImage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetStockItemImage"
            }
          ]
        },
        {
          "Name": "GetItemLineDocuments",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns all list of document infromation for an item line",
          "CustomAttributes": {
            "HttpApiPath": "media\/getItemLineDocuments",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetDocuments",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetItemLineDocuments"
            }
          ]
        },
        {
          "Name": "GetCheckpointDocuments",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns all list of document information for a checkpoint profile and workid",
          "CustomAttributes": {
            "HttpApiPath": "media\/getCheckpointDocuments",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetDocuments",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetCheckpointDocuments"
            }
          ]
        },
        {
          "Name": "GetProductImage",
          "AllowRoles": [
            "Mediaservice"
          ],
          "Documentation": "Returns a product drawing for standard product",
          "CustomAttributes": {
            "HttpApiPath": "media\/GetProductImage",
            "HttpApiTags": "Media"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resProdcutImage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetProductImage"
            }
          ]
        }
      ]
    },
    {
      "Name": "MessageService",
      "ID": "{403940B9-89FE-48F5-B26D-D02E5AA3EC07}",
      "Documentation": "A service for sending of E-mails, SMS and internal messages.\r\nFor E-mail messages the SMTP settings has to be configured in the CalWinServerConfig.XML on th server.\r\nFor SMS, the account information has to be set in CalWin.",
      "Operations": [
        {
          "Name": "SendMessage",
          "AllowRoles": [
            "MessageService.SendMessage"
          ],
          "Documentation": "Send message to CalWin user that will show up in the CalWin desktop application.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSendMessage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSendMessage"
            }
          ]
        },
        {
          "Name": "SendSMS",
          "AllowRoles": [
            "MessageService.SendSMS"
          ],
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSendSMS",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSendSMS"
            }
          ]
        },
        {
          "Name": "SendEMail",
          "AllowRoles": [
            "MessageService.SendEMail"
          ],
          "Documentation": "Send Email message. The message will be added to the outbound email queue, so there will be no immediate feedback on success or eventual errors",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSendEmail",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSendEmail"
            }
          ]
        }
      ]
    },
    {
      "Name": "MiscService",
      "ID": "{D1397696-6FB8-47C2-B75F-DC27EECD2667}",
      "Documentation": "Miscellaneous functions that don't require a session (login).",
      "Operations": [
        {
          "Name": "InstallAPPX",
          "Documentation": "Installs or ugrades an CalWin App by uploading the APPX file.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/installAPPX",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resInstallAppx",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraInstallAppx"
            }
          ]
        },
        {
          "Name": "CheckSession",
          "Documentation": "Checks if the given session id exists.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/checkSession",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resCheckSession",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraCheckSession"
            }
          ]
        },
        {
          "Name": "GetRGBFromNCS",
          "CustomAttributes": {
            "HttpApiPath": "misc\/getRGBFrom",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetRGBFromNCS",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetRGBFromNCS"
            }
          ]
        }
      ]
    },
    {
      "Name": "MiscServiceSession",
      "ID": "{34BD88E1-0959-4EE9-B0BC-FA9680689684}",
      "Documentation": "Miscellaneous functions that require session.",
      "Operations": [
        {
          "Name": "AddOrUpdateActivity",
          "AllowRoles": [
            "MiscServiceSession.AddOrUpdateActivity"
          ],
          "CustomAttributes": {
            "HttpApiPath": "misc\/addOrUpdateActivity",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddOrUpdateActivity",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraAddOrUpdateActivity"
            }
          ]
        },
        {
          "Name": "AddOrUpdateDiaryEvent",
          "AllowRoles": [
            "MiscServiceSession.AddOrUpdateDiaryEvent"
          ],
          "Documentation": "With AddOrUpdateDiary you can either create a new diary event (aParameter.Id = 0) or update an existing (aParemeterId = 0).",
          "CustomAttributes": {
            "HttpApiPath": "misc\/addOrUpdateDiaryEvent",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddOrUpdateDiaryEvent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraAddOrUpdateDiaryEvent"
            }
          ]
        },
        {
          "Name": "DeleteActivity",
          "AllowRoles": [
            "MiscServiceSession.DeleteActivity"
          ],
          "CustomAttributes": {
            "HttpApiPath": "misc\/deleteActivity",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resDeleteActivity",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraDeleteActivity"
            }
          ]
        },
        {
          "Name": "DeleteDiaryEvent",
          "AllowRoles": [
            "MiscServiceSession.DeleteDiaryEvent"
          ],
          "Documentation": "Delete the diary event given by aParameter.EventId.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/deleteDiaryEvent",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resDeleteDiaryEvent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraDeleteDiaryEvent"
            }
          ]
        },
        {
          "Name": "GetActivity",
          "AllowRoles": [
            "MiscServiceSession.GetActivity"
          ],
          "CustomAttributes": {
            "HttpApiPath": "misc\/getActivity",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetActivity",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetActivity"
            }
          ]
        },
        {
          "Name": "GetDiaryEvent",
          "AllowRoles": [
            "MiscServiceSession.GetDiaryEvent"
          ],
          "Documentation": "Gets a DiaryEvent from the database gived by aParameter.Id",
          "CustomAttributes": {
            "HttpApiPath": "misc\/getDiaryEvent",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetDiaryEvent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetDiaryEvent"
            }
          ]
        },
        {
          "Name": "GetParameters",
          "AllowRoles": [
            "MiscServiceSession.GetParameters"
          ],
          "Documentation": "Get a arbitrary list of parameters by name and context.\r\nThis operation is intended for storing application parameters in global,\r\napplication (name of application), user or customer context, or any combination.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/getParameters",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetParameters",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetParameters"
            }
          ]
        },
        {
          "Name": "GetStdProductInfo",
          "AllowRoles": [
            "MiscServiceSession.GetStdProductInfo"
          ],
          "Documentation": "Returns information about a given Standard Product for every allowed sizes.\r\nPricelist prices will also be returned if the a pricelist is given, or there is a\r\ndefault pricelist defined on the location.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/getStdProductinfo",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetStdProductInfo",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetStdProductInfo"
            }
          ]
        },
        {
          "Name": "SaveParameters",
          "AllowRoles": [
            "MiscServiceSession.SaveParameters"
          ],
          "CustomAttributes": {
            "HttpApiPath": "misc\/saveParameters",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSaveParameters",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSaveParameters"
            }
          ]
        },
        {
          "Name": "AddOrUpdateContact",
          "AllowRoles": [
            "MiscServiceSession.AddOrUpdateContact"
          ],
          "Documentation": "Adds or updates a Contactperson. If aContact.Id is 0 the contact will be added.  PS! It's very important to call Commit or Rollback in conjuction with this operation. See Session service.",
          "CustomAttributes": {
            "HttpApiPath": "misc\/addOrUpdateContact",
            "HttpApiTags": "Misc"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resAddOrUpdateContact",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraAddOrUpdateContact"
            }
          ]
        }
      ]
    },
    {
      "Name": "NotificationService",
      "ID": "{1C327226-8330-465B-93BD-8DDAB2464D02}",
      "Operations": [
        {
          "Name": "GetNextDbChange",
          "AllowRoles": [
            "NotificationService.GetNextDbChange"
          ],
          "Documentation": "Returns the next DB change notification from the queue.\r\nPS! A commit must be done before the item or items are permanently dequed. Eventually\r\na rollback can be executed to let the items stay in the queue.",
          "CustomAttributes": {
            "HttpApiPath": "notification\/getNextDbChange",
            "HttpApiTags": "Notification"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetNextDbChange",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetNextDbChange"
            }
          ]
        },
        {
          "Name": "PollQueue",
          "CustomAttributes": {
            "HttpApiPath": "notification\/pollQueue",
            "HttpApiTags": "Notification"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resPollQueue",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraPollQueue"
            }
          ]
        },
        {
          "Name": "CheckQueue",
          "CustomAttributes": {
            "HttpApiPath": "notification\/checkQueue",
            "HttpApiTags": "Notification"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resCheckQueue",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraCheckQueue"
            }
          ]
        },
        {
          "Name": "PushQueue",
          "CustomAttributes": {
            "HttpApiPath": "notification\/pushQueue",
            "HttpApiTags": "Notification"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resPushQueue",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraPushQueue"
            }
          ]
        }
      ]
    },
    {
      "Name": "OrderService",
      "ID": "{9B587801-5A8D-4EF7-A10D-9AEB1A773BE5}",
      "Documentation": "OrderService can be used to edit and create quotes, orders and purchases.\r\nPS! The OrderService preserves state between calls, and all line objects created as a result of shOpen or slAdd\r\nwill live on the server as long as the session is alive.\r\n\r\nThe orderservice contains one quote\/order object and an unlimted number of quote-\/orderlines (rows). Only one\r\norderline is active at a time. New lines can be added by the slNew method. To switch to another line use the slSetCurrent methode.\r\n\r\nAll methods that applies to the header are prefixed by \"sh\", and for orderlines the methods are prefixed by \"sl\".\r\n\r\nThis service require session (see Login service).",
      "Operations": [
        {
          "Name": "shNew",
          "AllowRoles": [
            "OrderService.shNew"
          ],
          "Documentation": "Creates a new quote for a given customer account.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shNew",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShNew",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShNew"
            }
          ]
        },
        {
          "Name": "shSetCurrencyMode",
          "AllowRoles": [
            "OrderService.shSetCurrencyMode"
          ],
          "Documentation": "Sets the currency mode for the order session. Must be called before shNew or shOpen.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shSetCurrencyMode",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShSetCurrencyMode",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShSetCurrencyMode"
            }
          ]
        },
        {
          "Name": "shOpen",
          "AllowRoles": [
            "OrderService.shOpen"
          ],
          "Documentation": "Opens a existing quote or order from database.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shOpen",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShOpen",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShOpen"
            }
          ]
        },
        {
          "Name": "shUpdate",
          "AllowRoles": [
            "OrderService.shUpdate"
          ],
          "Documentation": "Updates the server side salesheader object with values from the aSalesHeader parameter.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shUpdate",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShUpdate",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShUpdate"
            }
          ]
        },
        {
          "Name": "shSave",
          "AllowRoles": [
            "OrderService.shSave"
          ],
          "Documentation": "Saves the current quote or order to DB and returns and updated SalesHeaderStruct. Any unsaved orderlines\r\nwill also be saved.\r\n\r\nPS! It's very important to call Commit or Rollback in conjuction with this operation,\r\nor use the AutoDBCommit parameter.\r\nSee Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shSave",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShSave",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShSave"
            }
          ]
        },
        {
          "Name": "slAdd",
          "AllowRoles": [
            "OrderService.slAdd"
          ],
          "Documentation": "Adds a new Salesline object.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slAdd",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlAdd",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlAdd"
            }
          ]
        },
        {
          "Name": "slSaveCurrent",
          "AllowRoles": [
            "OrderService.slSaveCurrent"
          ],
          "Documentation": "Saves the current Salesline to DB.  PS! It's very important to call Commit or Rollback in conjuction with this operation, or use the AutoDBCommit parameter. See Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slSaveCurrent",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlSaveCurrent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlSaveCurrent"
            }
          ]
        },
        {
          "Name": "slSetCurrent",
          "AllowRoles": [
            "OrderService.slSetCurrent"
          ],
          "Documentation": "Set the current row that all subsequent Salesline operations will apply to.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slSetCurrent",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlSetCurrent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlSetCurrent"
            }
          ]
        },
        {
          "Name": "slGetImage",
          "AllowRoles": [
            "OrderService.slGetImage"
          ],
          "Documentation": "Returns a drawing of the product in JPG, EMG or Bitmap format.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slGetImage",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlGetImage",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlGetImage"
            }
          ]
        },
        {
          "Name": "GetListOfCodes",
          "AllowRoles": [
            "OrderService.GetListOfCodes"
          ],
          "Documentation": "Return a list of valid product and items.",
          "CustomAttributes": {
            "HttpApiPath": "order\/getListOfCodes",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetListOfCodes",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetListOfCodes"
            }
          ]
        },
        {
          "Name": "shConvertToOrder",
          "AllowRoles": [
            "OrderService.shConvertToOrder"
          ],
          "Documentation": "Converts a quote to an order.  PS! It's very important to call Commit\/Rollback in conjuction with this operation, or use the AutoDBCommit parameter. See Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shConvertToOrder",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShConvertToOrder",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShConvertToOrder"
            }
          ]
        },
        {
          "Name": "shDelete",
          "AllowRoles": [
            "OrderService.shDelete"
          ],
          "Documentation": "Deletes the current SalesHeader from DB.  PS! It's very important to call Commit or Rollback in conjuction with this operation, or use the AutoDBCommit parameter. See Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shDelete",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShDelete",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShDelete"
            }
          ]
        },
        {
          "Name": "shGetCalcualtedDeliveryTime",
          "AllowRoles": [
            "OrderService.shGetCalcualtedDeliveryTime"
          ],
          "Documentation": "Returns the possible production, delivery and customer date for the quote or order.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shGetCalculatedDeliveryTime",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShGetCalculatedDeliveryTime",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShGetCalculatedDeliveryTime"
            }
          ]
        },
        {
          "Name": "shNewPurchase",
          "AllowRoles": [
            "OrderService.shNewPurchase"
          ],
          "Documentation": "Initialize a new purchase header",
          "CustomAttributes": {
            "HttpApiPath": "order\/shNewPurchase",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShNewPurchase",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShNewPurchase"
            }
          ]
        },
        {
          "Name": "shOpenPurchase",
          "AllowRoles": [
            "OrderService.shOpenPurchase"
          ],
          "Documentation": "Opens an existing purchase.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shOpenPurchase",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShOpenPurchase",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShOpenPurchase"
            }
          ]
        },
        {
          "Name": "shRefresh",
          "AllowRoles": [
            "OrderService.shRefresh"
          ],
          "Documentation": "Returns the complete Salesheader and Salesline array in the orderservice object.\r\nNew lines (for example automatically created lines) will be added to the Salesline object array.\r\nOptionally the salesheader and saleslines can be refreshed from the database by setting\r\nthe RereadSalesheader and\/or RereadSaleslines.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShRefresh",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShRefresh"
            }
          ]
        },
        {
          "Name": "shRefreshPurchase",
          "AllowRoles": [
            "OrderService.shRefreshPurchase"
          ],
          "Documentation": "Returns the complete Salesheader and Salesline array in the orderservice object.\r\nNew lines (for example automatically created lines) will be added to the Salesline object array.\r\nOptionally the salesheader and saleslines can be refreshed from the database by setting\r\nthe RereadSalesheader and\/or RereadSaleslines.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shRefreshPurchase",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShRefreshPurchase",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShRefreshPurchase"
            }
          ]
        },
        {
          "Name": "shSavePurchase",
          "AllowRoles": [
            "OrderService.shSavePurchase"
          ],
          "Documentation": "Saves the current purchase DB and returns and updated PurchaseHeaderStruct. Any unsaved orderlines\r\nwill also be saved.\r\n\r\nPS! It's very important to call Commit or Rollback in conjuction with this operation,\r\nor use the AutoDBCommit parameter.\r\nSee Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shSavePurchase",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShSavePurchase",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShSavePurchase"
            }
          ]
        },
        {
          "Name": "shUpdatePurchase",
          "AllowRoles": [
            "OrderService.shUpdatePurchase"
          ],
          "Documentation": "Updates the server side purchase header object.",
          "CustomAttributes": {
            "HttpApiPath": "order\/shUpdatePurchase",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShUpdatePurchase",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShUpdatePurchase"
            }
          ]
        },
        {
          "Name": "shUpdatevolumeDiscount",
          "AllowRoles": [
            "OrderService.shUpdateVolumeDiscount"
          ],
          "Documentation": "Recalculates the volumediscount based on the given discountpercent. The discount will be applied to the\r\nindividual itemlines or as a seperate item line based on a CalWin system parameter.\r\nPS 1! All item lines in the OrderService has to be saved before calling this operation.\r\nPS 2! A shSave will be performed automatically afterwards.\r\nThis method is marked as obsolete.",
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShUpdateVolumeDiscount",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraShUpdateVolumeDiscount"
            }
          ]
        },
        {
          "Name": "slAddFrom",
          "AllowRoles": [
            "OrderService.slAddFrom"
          ],
          "Documentation": "Adds a new product from an existing item line stored in the database and set it as current.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slAddFrom",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlAddFrom",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlAddFrom"
            }
          ]
        },
        {
          "Name": "slAddInformation",
          "AllowRoles": [
            "OrderService.slAddInformation"
          ],
          "Documentation": "Adds information to the current Salesline",
          "CustomAttributes": {
            "HttpApiPath": "order\/slAddInformation",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlAddInformation",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlAddInformation"
            }
          ]
        },
        {
          "Name": "slDeleteCurrent",
          "AllowRoles": [
            "OrderService.slDeleteCurrent"
          ],
          "Documentation": "Delete current salesline object, and if the salesline is stored in the DB, from the\r\nDB also.\r\n\r\nPS! It's very important to call Commit or Rollback in conjuction with this operation,\r\nor use the AutoDBCommit parameter.\r\nSee Session service.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slDeleteCurrent",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlDeleteCurrent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlDeleteCurrent"
            }
          ]
        },
        {
          "Name": "slDuplicateCurrent",
          "AllowRoles": [
            "OrderService.slDuplicateCurrent"
          ],
          "Documentation": "Duplicates current salesline and returns it. It can optionally be saved to the database.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slDuplicateCurrent",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlDuplicateCurrent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlDuplicateCurrent"
            }
          ]
        },
        {
          "Name": "slGetCurrent",
          "AllowRoles": [
            "OrderService.slGetCurrent"
          ],
          "Documentation": "Returns the current orderline object.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slGetCurrent",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlGetCurrent",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlGetCurrent"
            }
          ]
        },
        {
          "Name": "slGetDrawing2D",
          "AllowRoles": [
            "OrderService.slGetDrawing2D"
          ],
          "Documentation": "The operation returns a 2D drawing of the current item line in XAML format.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slGetDrawing2D",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlGetDrawing2D",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlGetDrawing2D"
            }
          ]
        },
        {
          "Name": "slGetPropertyAlternatives",
          "AllowRoles": [
            "OrderService.slGetpropertyAlternatives"
          ],
          "Documentation": "Returns alternatives for property identified by aIndex.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slGetPropertyAlternatives",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlGetpropertyAlternatives",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlGetPropertyAlternatives"
            }
          ]
        },
        {
          "Name": "slModifySelectedAreas",
          "AllowRoles": [
            "OrderService.slModifySelectedAreas"
          ],
          "CustomAttributes": {
            "HttpApiPath": "order\/slModifySelectedAreas",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlModifySelectedAreas",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlModifySelectedAreas"
            }
          ]
        },
        {
          "Name": "slRollback",
          "AllowRoles": [
            "OrderService.slRollback"
          ],
          "Documentation": "Rollbacks changes done to current salesline object, since loading, last save or slSetCurrent. PS! Not to be confused with Session.Rollback which is a database rollback.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slRollback",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlRollback",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlRollback"
            }
          ]
        },
        {
          "Name": "slUpdateProperties",
          "AllowRoles": [
            "OrderService.slUpdateProperties"
          ],
          "Documentation": "With this operation several properties can be updated in one call.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slUpdateProperties",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlUpdateProperties",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSlUpdateProperties"
            }
          ]
        },
        {
          "Name": "slGetDocumentLinks",
          "AllowRoles": [
            "OrderService.slGetDocumentLinks"
          ],
          "Documentation": "Returns links to all related document for this line. Currently only for lines that are saved to db.",
          "CustomAttributes": {
            "HttpApiPath": "order\/slGetDocumentLinks",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSlGetDocumentLinks",
              "Flag": "Result"
            }
          ]
        },
        {
          "Name": "shGetDocumentLinks",
          "AllowRoles": [
            "OrderService.shGetDocumentLinks"
          ],
          "Documentation": "Returns links to all related document for this sale",
          "CustomAttributes": {
            "HttpApiPath": "order\/shGetDocumentLinks",
            "HttpApiTags": "Order"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resShGetDocumentLinks",
              "Flag": "Result"
            }
          ]
        }
      ]
    },
    {
      "Name": "ReportService",
      "ID": "{E00159BC-C4F4-4A68-BA82-8F66F5DB40BC}",
      "Documentation": "Requires session (Login).",
      "Operations": [
        {
          "Name": "GetReportTemplateList",
          "AllowRoles": [
            "ReportService.GetReportTemplateList"
          ],
          "Documentation": "Returns a list of defined reports in the system.",
          "CustomAttributes": {
            "HttpApiPath": "report\/GetReportTemplateList",
            "HttpApiTags": "Report"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetReportTemplateList",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetReportTemplateList"
            }
          ]
        },
        {
          "Name": "ExecuteReports",
          "AllowRoles": [
            "ReportService.ExecuteReports"
          ],
          "Documentation": "Executes one or more CalWin report and returns files (or list of URL) in the specified format.",
          "CustomAttributes": {
            "HttpApiPath": "report\/ExecuteReports",
            "HttpApiTags": "Report"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resExecuteReports",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraExecuteReports"
            }
          ]
        },
        {
          "Name": "GetReportInformation",
          "AllowRoles": [
            "ReportService.GetReportInformation"
          ],
          "Documentation": "Returns information like variables and parameters defined on the given report.",
          "CustomAttributes": {
            "HttpApiPath": "report\/GetReportInformation",
            "HttpApiTags": "Report"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetReportInformation",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetReportInformation"
            }
          ]
        }
      ]
    },
    {
      "Name": "Session",
      "ID": "{89624EB8-426C-434D-8144-91198F605566}",
      "Documentation": "Requires session (Login).",
      "Operations": [
        {
          "Name": "KillSession",
          "AllowRoles": [
            "Session.KillSession"
          ],
          "Documentation": "Kills the given by aSessionId.",
          "CustomAttributes": {
            "HttpApiPath": "session\/killSession",
            "HttpApiTags": "Session"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resKillSession",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraKillSession"
            }
          ]
        },
        {
          "Name": "Rollback",
          "AllowRoles": [
            "Session.Rollback"
          ],
          "Documentation": "Executes a rollback command on the Oracle database. All transactions since last Commit or Rollback will be discarded.",
          "CustomAttributes": {
            "HttpApiPath": "session\/rollback",
            "HttpApiTags": "Session"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resRollback",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraRollback"
            }
          ]
        },
        {
          "Name": "Commit",
          "AllowRoles": [
            "Session.Commit"
          ],
          "Documentation": "Performs a commit in the Oracle database.",
          "CustomAttributes": {
            "HttpApiPath": "session\/commit",
            "HttpApiTags": "Session"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resCommit",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraCommit"
            }
          ]
        }
      ]
    },
    {
      "Name": "SystemService",
      "ID": "{030B3342-E2C6-45DC-8B01-AE644E1D40D7}",
      "Operations": [
        {
          "Name": "GetServerInfo",
          "AllowRoles": [
            "SystemService.GetServerInfo"
          ],
          "Documentation": "Returns information about the CalWin Server instance",
          "CustomAttributes": {
            "HttpApiPath": "system\/getServerInfo",
            "HttpApiTags": "System"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetServerInfo",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetServerInfo"
            }
          ]
        },
        {
          "Name": "ProbeServer",
          "AllowRoles": [
            "SystemService.ProbeServer"
          ],
          "Documentation": "Returns detail about server instance status.",
          "CustomAttributes": {
            "HttpApiPath": "system\/probeServer",
            "HttpApiTags": "System"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resProbeServer",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraProbeServer"
            }
          ]
        },
        {
          "Name": "GetConfig",
          "AllowRoles": [
            "SystemService.GetConfig"
          ],
          "CustomAttributes": {
            "HttpApiPath": "system\/getConfig",
            "HttpApiTags": "System"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resGetConfig",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraGetConfig"
            }
          ]
        },
        {
          "Name": "SetConfig",
          "AllowRoles": [
            "SystemService.SetConfig"
          ],
          "CustomAttributes": {
            "HttpApiPath": "system\/setConfig",
            "HttpApiTags": "System"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "resSetConfig",
              "Flag": "Result"
            },
            {
              "Name": "aParameter",
              "DataType": "paraSetConfig"
            }
          ]
        }
      ]
    }
  ],
  "EventSinks": [
    {
      "Name": "SystemEventSink",
      "ID": "{51179C9D-6935-4B1F-ACED-19A6B4100759}",
      "Documentation": "This event sink is for signalling changes on the server.",
      "Operations": [
        {
          "Name": "OnAppChanged",
          "Documentation": "This event happens every time the configuration of an App is modified.",
          "Parameters": [
            {
              "Name": "Parameter",
              "DataType": "paraOnAppChanged"
            }
          ]
        }
      ]
    }
  ],
  "Structs": [
    {
      "Name": "ActivityLinkStruct",
      "Documentation": "References to other entities that an Activity links to.",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString",
          "Documentation": "Link to a quote, order, purchase etc. Ref. Salestype field."
        },
        {
          "Name": "PartyOther_Id",
          "DataType": "Int64",
          "Documentation": "Reference to an other party record (PARTOTHER table)"
        },
        {
          "Name": "ContactId",
          "DataType": "Int64",
          "Documentation": "Link to a contact."
        },
        {
          "Name": "CreditorAccount",
          "DataType": "WideString",
          "Documentation": "Link to a creditor account (CREDTABLE)."
        },
        {
          "Name": "DebtorAccount",
          "DataType": "WideString",
          "Documentation": "Link to a customer (DEBTABLE)."
        },
        {
          "Name": "Project",
          "DataType": "WideString",
          "Documentation": "Link to a project (PROJECT table)."
        },
        {
          "Name": "InvoiceJournal",
          "DataType": "Int64",
          "Documentation": "Link to an Invoice Journal (INVOICEJOURNAL table)"
        },
        {
          "Name": "InvoiceNumber",
          "DataType": "Int64",
          "Documentation": "Link to a customer Invoice (INVOICE table)"
        },
        {
          "Name": "CredInvoiceJournal",
          "DataType": "Int64",
          "Documentation": "Link to a creditor invoice journal (CREDINVOICEJOURNAL table)"
        },
        {
          "Name": "CredInvoiceNumber",
          "DataType": "Int64",
          "Documentation": "Link to a creditor invoice (CREDINVOICE table)."
        },
        {
          "Name": "Deviation",
          "DataType": "Int64",
          "Documentation": "Link to a deviation (DEVIATION table)"
        }
      ]
    },
    {
      "Name": "ActivityStruct",
      "Documentation": "This struct represent a CalWin activity",
      "Elements": [
        {
          "Name": "ActivityId",
          "DataType": "Int64"
        },
        {
          "Name": "Subject",
          "DataType": "WideString"
        },
        {
          "Name": "Text",
          "DataType": "WideString"
        },
        {
          "Name": "Kind",
          "DataType": "ActivityKindEnum"
        },
        {
          "Name": "Links",
          "DataType": "ActivityLinkStruct",
          "Documentation": "The other entities this activity links to."
        },
        {
          "Name": "EmailTo",
          "DataType": "WideString",
          "Documentation": "E-Mail address."
        },
        {
          "Name": "EmailCC",
          "DataType": "WideString"
        },
        {
          "Name": "ShowInSalesHeader",
          "DataType": "Boolean",
          "Documentation": "Should this note activity be shown during creation of quote, order or purchase."
        },
        {
          "Name": "Valid_From",
          "DataType": "DateTime",
          "Documentation": "Note valid from date."
        },
        {
          "Name": "Valid_Until",
          "DataType": "DateTime",
          "Documentation": "Note valid to date."
        },
        {
          "Name": "PurchaseConfirmDate",
          "DataType": "DateTime",
          "Documentation": "Pucrhase confirmed date (Kind=ekPurchaseConfirmation)"
        },
        {
          "Name": "Printername",
          "DataType": "WideString",
          "Documentation": "Name of the printer if this activty was an ekPrintOut"
        },
        {
          "Name": "DiaryEventId",
          "DataType": "Integer",
          "Documentation": "Reference to a diary event"
        },
        {
          "Name": "StartDate",
          "DataType": "DateTime"
        },
        {
          "Name": "FinishDate",
          "DataType": "DateTime"
        },
        {
          "Name": "SessionlogId",
          "DataType": "Int64",
          "Documentation": "Refrence to the session that created the activity"
        },
        {
          "Name": "Emailfrom",
          "DataType": "WideString",
          "Documentation": "E-Mail from"
        },
        {
          "Name": "CategoryId",
          "DataType": "Integer",
          "Documentation": "Reference to a CalWin activity category"
        },
        {
          "Name": "FaxTo",
          "DataType": "WideString"
        },
        {
          "Name": "ShowInSalesheader_WhenConvert",
          "DataType": "Boolean"
        },
        {
          "Name": "Employee_ID",
          "DataType": "WideString"
        },
        {
          "Name": "UserId",
          "DataType": "Integer",
          "Documentation": "The CalWin user id. If 0 the user id of the CwServer will be used. Eventually the logged in user id."
        },
        {
          "Name": "AccessRights",
          "DataType": "UserIdArray",
          "Documentation": "A list of CalWin user ids that have access to this activity."
        },
        {
          "Name": "DocumentLinks",
          "DataType": "DocidArray",
          "Documentation": "List of attached documents represented by their Id's."
        },
        {
          "Name": "ExchangeId",
          "DataType": "WideString",
          "Documentation": "Reference to an Exchange object."
        },
        {
          "Name": "ParentId",
          "DataType": "Int64"
        }
      ]
    },
    {
      "Name": "AddressDebtableStruct",
      "Ancestor": "AddressEnduserStruct"
    },
    {
      "Name": "AddressEnduserStruct",
      "Ancestor": "AddressStruct",
      "Elements": [
        {
          "Name": "Attention",
          "DataType": "WideString"
        },
        {
          "Name": "Phone",
          "DataType": "WideString"
        },
        {
          "Name": "Mobile",
          "DataType": "WideString"
        },
        {
          "Name": "Email",
          "DataType": "WideString"
        },
        {
          "Name": "Fax",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "AddressStruct",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Address1",
          "DataType": "WideString"
        },
        {
          "Name": "Address2",
          "DataType": "WideString"
        },
        {
          "Name": "Address3",
          "DataType": "WideString"
        },
        {
          "Name": "Zip",
          "DataType": "WideString"
        },
        {
          "Name": "State",
          "DataType": "WideString"
        },
        {
          "Name": "Country",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "AppGetAppParameterRequest",
      "Documentation": "Used in ApplicationService.GetAppParameters to define which parameters to return.",
      "Elements": [
        {
          "Name": "ID",
          "DataType": "Guid"
        },
        {
          "Name": "Key",
          "DataType": "Variant",
          "Documentation": "The meaning of this parameter depends on parameter level:\r\nplSystem: No effect\r\nplLocation: Location ID. If null all locations are returned\r\nplUser: User Id. If null - the currently logged in user. If null and user not logged on an\r\nexception will be raised.\r\nplUserParent (customer, supplier etc.): No effect."
        }
      ]
    },
    {
      "Name": "AppParameter",
      "Documentation": "AppParameter represent an App parameter",
      "Elements": [
        {
          "Name": "ID",
          "DataType": "Guid",
          "Documentation": "The Parameter GUID"
        },
        {
          "Name": "Records",
          "DataType": "AppParameterRecordArray",
          "Documentation": "Records of parameter values. If the parameter is an Array it may contain several records. Otherwise only one."
        },
        {
          "Name": "Key",
          "DataType": "Variant",
          "Documentation": "The value depends on the level of the parameter. plSystem: Always null plLocation: The locationId plUser: User id plUserParent: The id of the parent of the user (customer, supplier, etc.)"
        }
      ]
    },
    {
      "Name": "AppParameterRecord",
      "Documentation": "AppParameterRecord is a single parameter record and containes values",
      "Elements": [
        {
          "Name": "Values",
          "DataType": "AppParameterValueRecordArray"
        },
        {
          "Name": "RecordGUID",
          "DataType": "Guid"
        }
      ]
    },
    {
      "Name": "AppParameterValue",
      "Documentation": "AppParameterValue represent a single value for an App parameter.",
      "Elements": [
        {
          "Name": "StrucItemGUID",
          "DataType": "Guid"
        },
        {
          "Name": "StringValue",
          "DataType": "WideString"
        },
        {
          "Name": "IntegerValue",
          "DataType": "Integer"
        },
        {
          "Name": "FloatValue",
          "DataType": "Double"
        },
        {
          "Name": "BooleanValue",
          "DataType": "Boolean"
        },
        {
          "Name": "DateValue",
          "DataType": "DateTime"
        },
        {
          "Name": "BLOBValue",
          "DataType": "Binary"
        },
        {
          "Name": "Complex",
          "DataType": "AppParameterRecordArray",
          "Documentation": "If the parameter is a reference to another structure, Complex contains the sub parameter structure."
        },
        {
          "Name": "ReportParameters",
          "DataType": "ReportParameterArray",
          "Documentation": "If the parameter value is a refrence to a CalWin report (the name of the report is in StringValue), ReportParameters contains report parameters that should be passed to ReportService.ExecuteReport."
        },
        {
          "Name": "ReportVariables",
          "DataType": "VariableValues",
          "Documentation": "If the parameter value is a refrence to a CalWin report (the name of the report is in StringValue),\r\nReportVariables contains report variables (user input) that should be passed to ReportService.ExecuteReport\r\nin the paraExecuteReport.Variables."
        }
      ]
    },
    {
      "Name": "AppUserRightStruct",
      "Documentation": "Represents a user right as defined in the App definition.",
      "Elements": [
        {
          "Name": "UserRightGUID",
          "DataType": "Guid",
          "Documentation": "The GUID representing the user right."
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "AppUserStruct",
      "Documentation": "Structure for App users. An App user can eventually be linke to either a contact or a CalWin user (CalWinContact\/CalWinUser fields).",
      "Elements": [
        {
          "Name": "ID",
          "DataType": "Int64",
          "Documentation": "The unique id for the App user."
        },
        {
          "Name": "Fullname",
          "DataType": "WideString"
        },
        {
          "Name": "Username",
          "DataType": "WideString",
          "Documentation": "Username used when logging in to the App."
        },
        {
          "Name": "Email",
          "DataType": "WideString",
          "Documentation": "E-mail address"
        },
        {
          "Name": "Phone",
          "DataType": "WideString"
        },
        {
          "Name": "PasswordExpired",
          "DataType": "Boolean",
          "Documentation": "True if the password has expired and has to reset."
        },
        {
          "Name": "Language",
          "DataType": "WideString",
          "Documentation": "The ISO 639 language code"
        },
        {
          "Name": "Active",
          "DataType": "Boolean",
          "Documentation": "False if the user is not enabled\/active anymore."
        },
        {
          "Name": "UserprofileId",
          "DataType": "Integer",
          "Documentation": "Reference to the user profile ID (configurator)."
        },
        {
          "Name": "SaleslocationId",
          "DataType": "WideString"
        },
        {
          "Name": "PhysicalLocationId",
          "DataType": "WideString"
        },
        {
          "Name": "CalWinContact",
          "DataType": "ContactStruct",
          "Documentation": "If this App user represented a CalWin contact (belonging to customer, creditor, project or party), this sub structure will be contain data."
        },
        {
          "Name": "CalWinUser",
          "DataType": "UserStruct",
          "Documentation": "If this App user represented a CalWin user, this sub structure will be contain data."
        },
        {
          "Name": "Rights",
          "DataType": "AppUserRightArray",
          "Documentation": "The assigned user Rights for the user."
        },
        {
          "Name": "AppId",
          "DataType": "WideString",
          "Documentation": "The application id the user belongs to"
        }
      ]
    },
    {
      "Name": "AutolineInfoStruct",
      "Documentation": "Information about an automatically created salesline",
      "Elements": [
        {
          "Name": "ToEndUser",
          "DataType": "Boolean",
          "Documentation": "Should this line be visible for the enduser?"
        }
      ]
    },
    {
      "Name": "BinaryFile",
      "Documentation": "Represents a file with name, size and the fil content as binary data.",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Size",
          "DataType": "Integer"
        },
        {
          "Name": "BinaryData",
          "DataType": "Binary"
        }
      ]
    },
    {
      "Name": "CheckpointStruct",
      "Documentation": "A structure with information about checkpoint definition.",
      "Elements": [
        {
          "Name": "Id",
          "DataType": "Integer"
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Sequence",
          "DataType": "Integer"
        },
        {
          "Name": "CheckStart",
          "DataType": "Boolean"
        },
        {
          "Name": "CheckStop",
          "DataType": "Boolean"
        },
        {
          "Name": "Show",
          "DataType": "Boolean"
        },
        {
          "Name": "Enabled",
          "DataType": "Boolean"
        }
      ]
    },
    {
      "Name": "ChildStruct",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        },
        {
          "Name": "Rows",
          "DataType": "RowdataDisplayArray"
        }
      ]
    },
    {
      "Name": "ConfigStruct",
      "Elements": [
        {
          "Name": "LogDetails",
          "DataType": "LogDetailStruct"
        }
      ]
    },
    {
      "Name": "ContactStruct",
      "Elements": [
        {
          "Name": "Id",
          "DataType": "Int64",
          "Documentation": "The unique ID of the contact."
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Address1",
          "DataType": "WideString"
        },
        {
          "Name": "Address2",
          "DataType": "WideString"
        },
        {
          "Name": "Address3",
          "DataType": "WideString"
        },
        {
          "Name": "Zip",
          "DataType": "WideString"
        },
        {
          "Name": "Phone",
          "DataType": "WideString"
        },
        {
          "Name": "Mobile",
          "DataType": "WideString"
        },
        {
          "Name": "Fax",
          "DataType": "WideString"
        },
        {
          "Name": "Email",
          "DataType": "WideString"
        },
        {
          "Name": "Resigned",
          "DataType": "Boolean",
          "Documentation": "True if the contact is no longer employeed by the parent (Customer, supplier etc.)?"
        },
        {
          "Name": "UserprofileId",
          "DataType": "Integer",
          "Documentation": "Reference to the user profile that will be used by CalWin Web configurator."
        },
        {
          "Name": "Username",
          "DataType": "WideString",
          "Documentation": "The username used for login."
        },
        {
          "Name": "DebtorAccount",
          "DataType": "WideString",
          "Documentation": "The customer number if this contact belongs to a customer."
        },
        {
          "Name": "CredtorAccount",
          "DataType": "WideString",
          "Documentation": "The supplier number if this contact belongs to a supplier."
        },
        {
          "Name": "ProjectId",
          "DataType": "WideString",
          "Documentation": "The project id if this contact belongs to a project."
        },
        {
          "Name": "PartyOther_Id",
          "DataType": "Integer",
          "Documentation": "The id of the other party if this contact belongs to a other party."
        },
        {
          "Name": "PersonRoleId",
          "DataType": "Integer",
          "Documentation": "Reference to a role (PersonRole table)"
        },
        {
          "Name": "DebitorInfo",
          "DataType": "DebtableStruct",
          "Documentation": "Name, address etc. for the customer this user\/contact belongs to."
        }
      ]
    },
    {
      "Name": "CurrencyInfoStruct",
      "Documentation": "Information about which currency the price fields represent in API responses.",
      "Elements": [
        {
          "Name": "CurrencyMode",
          "DataType": "CurrencyModeEnum",
          "Documentation": "Which currency mode is active for the returned prices."
        },
        {
          "Name": "ExchangeCode",
          "DataType": "WideString",
          "Documentation": "The current display currency internal exchange code ID."
        },
        {
          "Name": "ExchangeRate",
          "DataType": "Double",
          "Documentation": "Exchange rate used for conversion from installation currency. 1.0 if no conversion."
        },
        {
          "Name": "CurrencyCode",
          "DataType": "WideString",
          "Documentation": "ISO currency code for the returned prices (e.g., \"NOK\", \"EUR\", \"USD\")."
        },
        {
          "Name": "CurrencySymbol",
          "DataType": "WideString",
          "Documentation": "Currency symbol for display (e.g., \"kr\", \"€\", \"$\")."
        },
        {
          "Name": "DecimalPlaces",
          "DataType": "Integer",
          "Documentation": "Number of decimal places typically used for this currency."
        },
        {
          "Name": "InstallationExchangeCode",
          "DataType": "WideString",
          "Documentation": "The installation currency internal exchange code ID."
        },
        {
          "Name": "InstallationCurrencyCode",
          "DataType": "WideString",
          "Documentation": "The installation base currency ISO code (e.g., \"NOK\")."
        }
      ]
    },
    {
      "Name": "CustomSalesHeaderStruct",
      "Documentation": "Common data for quote\/order and purchase.",
      "Elements": [
        {
          "Name": "Attention",
          "DataType": "WideString"
        },
        {
          "Name": "Centre",
          "DataType": "WideString"
        },
        {
          "Name": "Createdate",
          "DataType": "DateTime"
        },
        {
          "Name": "Delcondition",
          "DataType": "WideString"
        },
        {
          "Name": "Deletestatus",
          "DataType": "Integer"
        },
        {
          "Name": "DeliveryAddress",
          "DataType": "AddressStruct"
        },
        {
          "Name": "Deliverydate",
          "DataType": "DateTime"
        },
        {
          "Name": "Deliveryinstructions",
          "DataType": "WideString"
        },
        {
          "Name": "Delmode",
          "DataType": "WideString"
        },
        {
          "Name": "Department",
          "DataType": "WideString"
        },
        {
          "Name": "Email",
          "DataType": "WideString"
        },
        {
          "Name": "Exchangecode",
          "DataType": "WideString"
        },
        {
          "Name": "ExchangeRate",
          "DataType": "Double"
        },
        {
          "Name": "ExternalSystemReference",
          "DataType": "WideString",
          "Documentation": "Reference to external system"
        },
        {
          "Name": "Fax",
          "DataType": "WideString"
        },
        {
          "Name": "Freight",
          "DataType": "Double"
        },
        {
          "Name": "Invoicestatus",
          "DataType": "Integer"
        },
        {
          "Name": "Language_Code",
          "DataType": "WideString"
        },
        {
          "Name": "Lastchanged",
          "DataType": "DateTime"
        },
        {
          "Name": "Locked",
          "DataType": "Boolean",
          "Documentation": "Is the element locked?"
        },
        {
          "Name": "Mobile",
          "DataType": "WideString"
        },
        {
          "Name": "NeedApproval",
          "DataType": "Boolean"
        },
        {
          "Name": "Notes",
          "DataType": "SalesNotesStruct"
        },
        {
          "Name": "Payment",
          "DataType": "WideString"
        },
        {
          "Name": "Phone",
          "DataType": "WideString"
        },
        {
          "Name": "Project",
          "DataType": "WideString"
        },
        {
          "Name": "Purpose",
          "DataType": "WideString"
        },
        {
          "Name": "Remarks",
          "DataType": "WideString"
        },
        {
          "Name": "Requisnumber",
          "DataType": "WideString"
        },
        {
          "Name": "SalesAddress",
          "DataType": "AddressStruct"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        },
        {
          "Name": "Source",
          "DataType": "SalesHeaderSourceEnum"
        },
        {
          "Name": "Status",
          "DataType": "Integer",
          "Documentation": "Status on salesheader (0=New, 5=Quote printed, 10=Confirmation printed, 15=Changed after confirmation, 20=Delivery note, 25=Changed after delivery note, 30=Remainders, 40=remainder completed, 50=Fully delivered)"
        },
        {
          "Name": "TotalUValue",
          "DataType": "Double",
          "Documentation": "Total UValue for all lines on the the quote\/order."
        },
        {
          "Name": "TotalUValueArea",
          "DataType": "Double",
          "Documentation": "Total area in square meters for lines that is part in the U-Value caluclation for the quote\/order."
        },
        {
          "Name": "Vatcode",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "DebtableStruct",
      "Elements": [
        {
          "Name": "Accountnumber",
          "DataType": "WideString"
        },
        {
          "Name": "InvoiceAccount",
          "DataType": "WideString"
        },
        {
          "Name": "Address",
          "DataType": "AddressDebtableStruct"
        }
      ]
    },
    {
      "Name": "DiaryEventStruct",
      "Documentation": "Defines all the properties that be set for a CalWin Diary event",
      "Elements": [
        {
          "Name": "EventId",
          "DataType": "Int64",
          "Documentation": "The unique id of the event."
        },
        {
          "Name": "EmployeeId",
          "DataType": "WideString",
          "Documentation": "CalWin Employee ID"
        },
        {
          "Name": "Caption",
          "DataType": "WideString",
          "Documentation": "Specifies the caption of the event"
        },
        {
          "Name": "Message",
          "DataType": "WideString",
          "Documentation": "Specifies the text for the end-user's description of the event."
        },
        {
          "Name": "AllDayEvent",
          "DataType": "Boolean",
          "Documentation": "Specifies whether event is an all-day event (an event that lasts at least 24 hours or longer)."
        },
        {
          "Name": "EventType",
          "DataType": "DiaryEventTypeEnum",
          "Documentation": "Specifies the status of the event's reoccurrences."
        },
        {
          "Name": "Start",
          "DataType": "DateTime",
          "Documentation": "Specifies the event's start time."
        },
        {
          "Name": "Finish",
          "DataType": "DateTime",
          "Documentation": "Specifies the event's end time."
        },
        {
          "Name": "EventLabel",
          "DataType": "Integer",
          "Documentation": "Specifies an event's label. The predefined labels are: 0=None 1=Important 2=Business 3=Personal 4=Vacation 5=Must Attend 6=Travel Required 7=Needs Preparation 8=Birthday 9=Anniversary 10=Phone Call"
        },
        {
          "Name": "Location",
          "DataType": "WideString",
          "Documentation": "Specifies the text that represents the location at which the current user event is being held."
        },
        {
          "Name": "Reminder",
          "DataType": "Boolean",
          "Documentation": "Specifies whether the reminder is on or off."
        },
        {
          "Name": "ReminderDate",
          "DataType": "DateTime",
          "Documentation": "Specifies the date and time of the event's reminder"
        },
        {
          "Name": "ReminderMinutesBeforeStart",
          "DataType": "Integer"
        },
        {
          "Name": "State",
          "DataType": "DiaryEventStateEnum"
        },
        {
          "Name": "CalWinCategory",
          "DataType": "CwDiaryEventCategoryEnum",
          "Documentation": "CalWin event category."
        },
        {
          "Name": "ExchangeId",
          "DataType": "WideString",
          "Documentation": "Reference to an Exchange unique object ID"
        },
        {
          "Name": "IsPrivate",
          "DataType": "Boolean",
          "Documentation": "Is this a private record?"
        }
      ]
    },
    {
      "Name": "DocumentStruct",
      "Documentation": "A structure that represents a record in the Documents table",
      "Elements": [
        {
          "Name": "Docid",
          "DataType": "Integer",
          "Documentation": "Unique identifier of the document."
        },
        {
          "Name": "Filename",
          "DataType": "WideString",
          "Documentation": "The name of the file with extension. No path."
        },
        {
          "Name": "Description",
          "DataType": "WideString",
          "Documentation": "Description of the document. The description will be shown in CalWin activity as a hint when hovering over the link."
        },
        {
          "Name": "FileObject",
          "DataType": "Binary",
          "Documentation": "The file data."
        },
        {
          "Name": "ExternalReference",
          "DataType": "WideString",
          "Documentation": "External refrence information."
        }
      ]
    },
    {
      "Name": "EmailRecipient",
      "Documentation": "An email recipient.",
      "Elements": [
        {
          "Name": "EMailAddress",
          "DataType": "WideString",
          "Documentation": "The E-Mail address for the receiver"
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "EmployeeStruct",
      "Documentation": "Employee information",
      "Elements": [
        {
          "Name": "Id",
          "DataType": "WideString"
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Email",
          "DataType": "WideString"
        },
        {
          "Name": "Phone",
          "DataType": "WideString"
        },
        {
          "Name": "Mobile",
          "DataType": "WideString"
        },
        {
          "Name": "Resigned",
          "DataType": "Boolean"
        }
      ]
    },
    {
      "Name": "FeedbackStruct",
      "Elements": [
        {
          "Name": "FeedbackType",
          "DataType": "FeedbackTypeEnum"
        },
        {
          "Name": "MessageText",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "FieldDataStruct",
      "Elements": [
        {
          "Name": "PropertyName",
          "DataType": "WideString"
        },
        {
          "Name": "DataValue",
          "DataType": "Variant"
        }
      ]
    },
    {
      "Name": "FieldDisplayDataStruct",
      "Ancestor": "FieldDataStruct",
      "Elements": [
        {
          "Name": "DisplayValue",
          "DataType": "Variant"
        },
        {
          "Name": "ValidationErrorText",
          "DataType": "WideString"
        },
        {
          "Name": "ReadOnly",
          "DataType": "Boolean"
        },
        {
          "Name": "Visible",
          "DataType": "Boolean"
        }
      ]
    },
    {
      "Name": "FindSimilarStruct",
      "Elements": [
        {
          "Name": "Consignmentnumber",
          "DataType": "WideString"
        },
        {
          "Name": "PlannedDeliveryDate",
          "DataType": "DateTime"
        }
      ]
    },
    {
      "Name": "GoodsDeliverLine",
      "Elements": [
        {
          "Name": "AllFinished",
          "DataType": "Boolean",
          "Documentation": "To handle over\/under delivery for purchases. If true QtyOrdered on the line will be updated to total received."
        },
        {
          "Name": "Vnumber",
          "DataType": "Integer"
        },
        {
          "Name": "Qty",
          "DataType": "Double"
        }
      ]
    },
    {
      "Name": "LocationSalesDatesStruct",
      "Elements": [
        {
          "Name": "LocationId",
          "DataType": "WideString",
          "Documentation": "The location id for the dates."
        },
        {
          "Name": "Dates",
          "DataType": "SalesDatesStruct",
          "Documentation": "The dates for the location."
        }
      ]
    },
    {
      "Name": "LogDetailStruct",
      "Elements": [
        {
          "Name": "OperationDetails",
          "DataType": "Boolean",
          "Documentation": "Logs parameters and result values from all operation calls."
        }
      ]
    },
    {
      "Name": "MessageReference",
      "Documentation": "Refrences to quotes\/orders (SalesIdent), quote\/order lines (SalesIdent),",
      "Elements": [
        {
          "Name": "SalesIdent",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "Use this struct if the message is a reference to either a Salesheader or a Salesline."
        },
        {
          "Name": "DeviationId",
          "DataType": "Int64",
          "Documentation": "Use this field if the message is a reference to a deviation."
        },
        {
          "Name": "SaleslineIssueId",
          "DataType": "Int64",
          "Documentation": "Use this field if the message is a reference to an salesline Issue."
        },
        {
          "Name": "URL",
          "DataType": "WideString",
          "Documentation": "Use this field if you want the user to open this URL when he\/she click the link button on the notification."
        }
      ]
    },
    {
      "Name": "NameAddressStruct",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Address1",
          "DataType": "WideString"
        },
        {
          "Name": "Address2",
          "DataType": "WideString"
        },
        {
          "Name": "Zip",
          "DataType": "WideString"
        },
        {
          "Name": "Address3",
          "DataType": "WideString"
        },
        {
          "Name": "Country",
          "DataType": "WideString"
        },
        {
          "Name": "State",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "NotificationDataStruct",
      "Elements": [
        {
          "Name": "Kind",
          "DataType": "DBNotificationKindEnum",
          "Documentation": "Inser, update or delete."
        },
        {
          "Name": "Attempts",
          "DataType": "Integer",
          "Documentation": "The number of attempts this item have been tried to dequeue before (and then rolled back)."
        },
        {
          "Name": "Values",
          "DataType": "NotificationValueArray",
          "Documentation": "The list of values"
        }
      ]
    },
    {
      "Name": "NotificationRecipientStruct",
      "Documentation": "Defines a consignment recipient.",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "Name of recipient of the consignment"
        },
        {
          "Name": "Email",
          "DataType": "WideString",
          "Documentation": "E-Mail address of the recipient"
        },
        {
          "Name": "SMS",
          "DataType": "WideString",
          "Documentation": "Phone number to the recipient for SMS notification"
        },
        {
          "Name": "Consignmentnumber",
          "DataType": "WideString",
          "Documentation": "The consignmentnumber"
        },
        {
          "Name": "DoSend",
          "DataType": "Boolean",
          "Documentation": "True if the notification will be sent. Defaults to true if either the e-mail or SMS i valid."
        }
      ]
    },
    {
      "Name": "NotificationValueStruct",
      "Elements": [
        {
          "Name": "Fieldname",
          "DataType": "WideString",
          "Documentation": "The dadtabase filedname"
        },
        {
          "Name": "IsDifferent",
          "DataType": "Boolean",
          "Documentation": "Is true if NewValue and OldValue is not equal."
        },
        {
          "Name": "NewValue",
          "DataType": "Variant",
          "Documentation": "The new value"
        },
        {
          "Name": "OldValue",
          "DataType": "Variant",
          "Documentation": "The old value"
        }
      ]
    },
    {
      "Name": "paraAddOrUpdateActivity",
      "Ancestor": "paraCustomDB",
      "Documentation": "The parameter structure for MiscServiceSession.AddOrUpdateActivity",
      "Elements": [
        {
          "Name": "Activity",
          "DataType": "ActivityStruct",
          "Documentation": "The activity structure to be either updated (Id > 0) or inserted (Id=0)."
        },
        {
          "Name": "DontUpdateActivityFields",
          "DataType": "Boolean",
          "Documentation": "If true the fields from the Activity will not be uppdated in this call. By setting this to True, documents can be added\/deleted without affecting the activity fields itself."
        },
        {
          "Name": "UpdateAccessRights",
          "DataType": "Boolean",
          "Documentation": "Update\/se the user access rights? If True all user id's will first be removed and then the user ids from Activity.UserAccess will be applied."
        },
        {
          "Name": "DocLinksToAdd",
          "DataType": "DocidArray",
          "Documentation": "Add the documents in this list to the activity."
        },
        {
          "Name": "DocLinksToRemove",
          "DataType": "DocidArray",
          "Documentation": "Remove the document id in this list from the activity."
        },
        {
          "Name": "Documents",
          "DataType": "DocumentArray",
          "Documentation": "This list of documents will be added to the activity."
        }
      ]
    },
    {
      "Name": "paraAddOrUpdateAppUser",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameter struct for the ApplicationService.AddOrUpdateAppUser operation",
      "Elements": [
        {
          "Name": "AppUser",
          "DataType": "AppUserStruct",
          "Documentation": "The AppUser struct. If AppUser.Id is 0, the user will be added."
        },
        {
          "Name": "UpdateUserRights",
          "DataType": "Boolean",
          "Documentation": "Update\/set the the user rights? If True all rights will first be removed, and then the rights in AppUser.Rights will be added."
        }
      ]
    },
    {
      "Name": "paraAddOrUpdateContact",
      "Ancestor": "paraCustomDB",
      "Elements": [
        {
          "Name": "Contact",
          "DataType": "ContactStruct",
          "Documentation": "Add this contact to the database if the ID is 0. Otherwise the contact with the ID will be updated."
        }
      ]
    },
    {
      "Name": "paraAddOrUpdateDiaryEvent",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameter struct to the MiscserviceSession.AddOrUpdateDiaryEvent.",
      "Elements": [
        {
          "Name": "DiaryEvent",
          "DataType": "DiaryEventStruct",
          "Documentation": "The diary event structure to be either updated (Id > 0) or inserted (Id=0)."
        }
      ]
    },
    {
      "Name": "paraAddToCorrectionDraft",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DraftID",
          "DataType": "Integer",
          "Documentation": "The draft ID"
        },
        {
          "Name": "Items",
          "DataType": "TInventoryCorrectionItems",
          "Documentation": "The items to add"
        }
      ]
    },
    {
      "Name": "paraAddToInventoryDraft",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DraftID",
          "DataType": "Integer",
          "Documentation": "The draft ID"
        },
        {
          "Name": "Items",
          "DataType": "TInventoryStocktakingItems",
          "Documentation": "The items to add"
        }
      ]
    },
    {
      "Name": "paraAddToTransferDraft",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DraftID",
          "DataType": "Integer",
          "Documentation": "The draft ID"
        },
        {
          "Name": "Items",
          "DataType": "TInventoryTransferItems",
          "Documentation": "The items to add"
        }
      ]
    },
    {
      "Name": "paraApiLogin",
      "Ancestor": "paraCustomLogin",
      "Documentation": "Parameters for the Login method.",
      "Elements": [
        {
          "Name": "Password",
          "DataType": "WideString",
          "Documentation": "The user password, or eventually passphrase if user name is empty"
        },
        {
          "Name": "Username",
          "DataType": "WideString",
          "Documentation": "User name. If empty, a passphrase is expected in Password."
        }
      ]
    },
    {
      "Name": "paraBookDraft",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DraftId",
          "DataType": "Integer",
          "Documentation": "The id (Inventory.InventoryId) of the created draft"
        }
      ]
    },
    {
      "Name": "paraBusinessObjects",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ObjectId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraChangeUsernameAndPassword",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Userid",
          "DataType": "Integer",
          "Documentation": "The userid of the user whose username and\/or password should be changed. Either UserId or OldUsername must be given."
        },
        {
          "Name": "OldUsername",
          "DataType": "WideString",
          "Documentation": "The username of the user whose username or password should be changed. Either UserId or OldUsername must be given."
        },
        {
          "Name": "OldPassword",
          "DataType": "WideString",
          "Documentation": "The old password. Must be given if the password is to be changed."
        },
        {
          "Name": "NewUsername",
          "DataType": "WideString",
          "Documentation": "Then new requested username. If empty the username is not changed"
        },
        {
          "Name": "NewPassword",
          "DataType": "WideString",
          "Documentation": "The new requested password."
        }
      ]
    },
    {
      "Name": "paraCheckQueue",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Correlation",
          "DataType": "WideString",
          "Documentation": "The correlation id to poll for"
        },
        {
          "Name": "QueueName",
          "DataType": "WideString",
          "Documentation": "The name of the Oracle queue"
        }
      ]
    },
    {
      "Name": "paraCheckSession",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SessionId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraCommit",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraConfirmDispatched",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Consignments",
          "DataType": "StringArray",
          "Documentation": "The list of consignments to confirm as dispatched."
        },
        {
          "Name": "DoReturnEdifactFile",
          "DataType": "Boolean",
          "Documentation": "If true the generated EDIFACT file, if the carrier has EDI support, will be returned."
        }
      ]
    },
    {
      "Name": "paraCreateFromTemplate",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter to the CreateFromTemplate method",
      "Elements": [
        {
          "Name": "TemplateId",
          "DataType": "Integer",
          "Documentation": "The template id to create the deviation from"
        },
        {
          "Name": "RefItemInstances",
          "DataType": "TROArray_System_Integer_",
          "Documentation": "A list of item instance references the deviation is related to"
        },
        {
          "Name": "CauseDescription",
          "DataType": "WideString",
          "Documentation": "Description of the cause of the deviation. Only relevant if that field is editable as defined on the template"
        },
        {
          "Name": "ConsequenceDescription",
          "DataType": "WideString",
          "Documentation": "Description of the consuqence of the deviation. Only relevant if that field is editable as defined on the template"
        },
        {
          "Name": "DeviationDescription",
          "DataType": "WideString",
          "Documentation": "Description of the deviation. Only relevant if that field is editable as defined on the template"
        },
        {
          "Name": "PlanDescription",
          "DataType": "WideString",
          "Documentation": "Preventive description for the deviation. Only relevant if that field is editable as defined on the template"
        }
      ]
    },
    {
      "Name": "paraCreateInventoryDraft",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Comments",
          "DataType": "WideString",
          "Documentation": "A free text (max 800 chars)"
        },
        {
          "Name": "Date",
          "DataType": "DateTime",
          "Documentation": "The date for the draft"
        },
        {
          "Name": "Kind",
          "DataType": "TInventoryKind",
          "Documentation": "The kind of item adjustment draft to create"
        },
        {
          "Name": "Location",
          "DataType": "WideString",
          "Documentation": "Location id, If blank, the location id from the stocklocation will be used."
        },
        {
          "Name": "Stocklocation",
          "DataType": "WideString",
          "Documentation": "Stocklocation"
        }
      ]
    },
    {
      "Name": "paraCustom",
      "Documentation": "This is the parent for all parameter structures (paraXxxxx)"
    },
    {
      "Name": "paraCustomDB",
      "Ancestor": "paraCustom",
      "Documentation": "This base structure is used for all parameters that potentially can make modification to the database.",
      "Elements": [
        {
          "Name": "AutoDBCommit",
          "DataType": "Boolean",
          "Documentation": "If True, a database commit will be done if the operations succeeds. Otherwise a rollback will be done."
        }
      ]
    },
    {
      "Name": "paraCustomExecuteSQLV2",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Include",
          "DataType": "TExecuteSQLInclude",
          "Documentation": "Which elements (column definitions and rows) to include in the response."
        },
        {
          "Name": "Variables",
          "DataType": "VariableValues",
          "Documentation": "Variables for the SQL statement"
        },
        {
          "Name": "MaxRowCount",
          "DataType": "Integer",
          "Documentation": "Only returns the first MaxRowCount rows. If 0 all rows will be returned."
        }
      ]
    },
    {
      "Name": "paraCustomGetDrawing",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ColorStyle",
          "DataType": "DrawingColorStyleEnum",
          "Documentation": "The color style to use."
        },
        {
          "Name": "DimensionLines",
          "DataType": "Boolean",
          "Documentation": "Should dimension lines be added to the drawing?"
        },
        {
          "Name": "DrawSquareNumbersOnlyIfInDescription",
          "DataType": "Boolean",
          "Documentation": "If true square number will only be drawn if it's referred to in the description"
        },
        {
          "Name": "DontDrawSublines",
          "DataType": "Boolean",
          "Documentation": "If true sub lines (like grilles) will not be drawn"
        },
        {
          "Name": "DrawProfileCodes",
          "DataType": "Boolean",
          "Documentation": "If true, a simplified drawing with profile numbers on will be created"
        },
        {
          "Name": "DrawProfileCodes_Extended",
          "DataType": "Boolean",
          "Documentation": "If true, the extened profile codes will be drawn. Has only effect if DrawProfileCodes also is true"
        },
        {
          "Name": "DrawProfileCodes_Dividers",
          "DataType": "Boolean",
          "Documentation": "If true, dividers like transom, mullion and bars, will also be drawn. Has only effect if DrawProfileCodes also is true"
        },
        {
          "Name": "Squarenumbers",
          "DataType": "Boolean",
          "Documentation": "Should CalWin Square numbers be present on the drawing?"
        },
        {
          "Name": "ViewSide",
          "DataType": "TViewSide",
          "Documentation": "Which side should the image be created for. The default is as defined on the product."
        }
      ]
    },
    {
      "Name": "paraCustomGetImage",
      "Ancestor": "paraCustomGetDrawing",
      "Elements": [
        {
          "Name": "DrawingSquare",
          "DataType": "Integer",
          "Documentation": "To only draw one pane give set DrawingSquare to the desired pane. For example. 11,21."
        },
        {
          "Name": "Format",
          "DataType": "ImageFormat",
          "Documentation": "The format of the image to return"
        },
        {
          "Name": "Scale",
          "DataType": "Integer",
          "Documentation": "The scale of the drawing. If 0 a value of 20 will be used. Value less than 5 is not allowed."
        }
      ]
    },
    {
      "Name": "paraCustomLogin",
      "Ancestor": "paraCustom",
      "Documentation": "Shared login parameters",
      "Elements": [
        {
          "Name": "ApplicationId",
          "DataType": "Guid",
          "Documentation": "The application GUID. This is mandatory to connect to CalWin Server."
        },
        {
          "Name": "ClientInfo",
          "DataType": "WideString",
          "Documentation": "Information about the connecting client. This information will be stored in the Oracle session."
        }
      ]
    },
    {
      "Name": "paraCustomQueue",
      "Ancestor": "paraCustomDB",
      "Elements": [
        {
          "Name": "AttributeName",
          "DataType": "WideString",
          "Documentation": "The attribute name of the object of the queue payload type"
        },
        {
          "Name": "Correlation",
          "DataType": "WideString",
          "Documentation": "The correlation id to poll for"
        },
        {
          "Name": "QueueName",
          "DataType": "WideString",
          "Documentation": "The name of the Oracle queue"
        }
      ]
    },
    {
      "Name": "paraCustomResSalesline",
      "Ancestor": "paraCustom",
      "Documentation": "This parameter structure i parent for all operation having resSalesline as result type.",
      "Elements": [
        {
          "Name": "PropertyDetails",
          "DataType": "PropertyDetailsEnum",
          "Documentation": "The properties detail level to return in result.PropertyCategories"
        }
      ]
    },
    {
      "Name": "paraDelete",
      "Ancestor": "paraBusinessObjects",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraDeleteActivity",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameter struct for MiscServiceSession.DeleteActivity",
      "Elements": [
        {
          "Name": "ActivityId",
          "DataType": "Integer",
          "Documentation": "The acrticityId to be deleted."
        }
      ]
    },
    {
      "Name": "paraDeleteDiaryEvent",
      "Ancestor": "paraCustomDB",
      "Documentation": "The parameter structure for the MiscServiceSession.DeleteDiaryEvent method",
      "Elements": [
        {
          "Name": "EventId",
          "DataType": "Int64",
          "Documentation": "The EventId to be deleted"
        }
      ]
    },
    {
      "Name": "paraDispose",
      "Ancestor": "paraBusinessObjects"
    },
    {
      "Name": "paraExecuteProject",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ProjectName",
          "DataType": "WideString",
          "Documentation": "Name of the MachineLink project as defined in CalWin."
        },
        {
          "Name": "Variables",
          "DataType": "VariableValues",
          "Documentation": "A list of variables nescessary to execute the MachineLink project. Name and kind of variables are defined i the project itself."
        }
      ]
    },
    {
      "Name": "paraExecuteProjectAndStore",
      "Ancestor": "paraExecuteProject",
      "Elements": [
        {
          "Name": "StoreToInfo",
          "DataType": "TStoreToInfo"
        }
      ]
    },
    {
      "Name": "paraExecuteReports",
      "Ancestor": "paraCustomDB",
      "Elements": [
        {
          "Name": "Reports",
          "DataType": "ReportPackageArray",
          "Documentation": "The list of reports to execute"
        },
        {
          "Name": "Format",
          "DataType": "ReportExportFormat",
          "Documentation": "The format to convert the report into."
        },
        {
          "Name": "ExportToCache",
          "DataType": "Boolean",
          "Documentation": "If True the report files will be put in the server cache. The complete URL to the file will be returned."
        },
        {
          "Name": "SendByEmailParameter",
          "DataType": "SendReportByEmailStruct",
          "Documentation": "If the report should be sent by E-Mail this parameter has to be given."
        },
        {
          "Name": "ReportMergingOptions",
          "DataType": "ReportMergeOptionsStruct"
        }
      ]
    },
    {
      "Name": "paraExecuteSQL",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SQLId",
          "DataType": "WideString",
          "Documentation": "The SQL GUID as defined in the application defintion"
        },
        {
          "Name": "Variables",
          "DataType": "VariableValues",
          "Documentation": "Variables for the SQL statement"
        },
        {
          "Name": "MaxRowCount",
          "DataType": "Integer",
          "Documentation": "Only returns the first MaxRowCount rows. If 0 all rows will be returned."
        }
      ]
    },
    {
      "Name": "paraExecuteSQLForCheckpointprofile",
      "Ancestor": "paraCustomExecuteSQLV2",
      "Elements": [
        {
          "Name": "CheckpointProfileId",
          "DataType": "WideString",
          "Documentation": "The checkpoint profile id."
        }
      ]
    },
    {
      "Name": "paraExecuteSQLV2",
      "Ancestor": "paraCustomExecuteSQLV2",
      "Elements": [
        {
          "Name": "SQLId",
          "DataType": "WideString",
          "Documentation": "The SQL GUID as defined in the application defintion"
        }
      ]
    },
    {
      "Name": "paraFindSimilar",
      "Ancestor": "paraBusinessObjects"
    },
    {
      "Name": "paraFindSimilarFromAddress",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "NameAndAddress",
          "DataType": "NameAddressStruct"
        },
        {
          "Name": "Carrier",
          "DataType": "WideString"
        },
        {
          "Name": "LocationId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraFindSimilarFromConsignment",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Consignmentnumber",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraGetActivity",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ActivityId",
          "DataType": "Int64",
          "Documentation": "The activity to the retrieved"
        }
      ]
    },
    {
      "Name": "paraGetAppParameters",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Parameters",
          "DataType": "AppGetAppParameterRequestArray",
          "Documentation": "Parameters to get."
        }
      ]
    },
    {
      "Name": "paraGetCheckpointDocumentLinks",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "CheckpointProfileId",
          "DataType": "WideString",
          "Documentation": "The checkpoint profile id. The assigned document tags are used to decide which documents to return"
        },
        {
          "Name": "Workid",
          "DataType": "Int64",
          "Documentation": "The workid"
        }
      ]
    },
    {
      "Name": "paraGetCheckpointDocuments",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "CheckpointProfileId",
          "DataType": "WideString",
          "Documentation": "The checkpoint profile id (CHECKPOINTPROFILE.PROFILEID)"
        },
        {
          "Name": "WorkId",
          "DataType": "Int64",
          "Documentation": "The work id. (WORK.WORKID)"
        }
      ]
    },
    {
      "Name": "paraGetCheckpointprofileInfo",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "CheckpointProfileId",
          "DataType": "WideString",
          "Documentation": "The checkpoint profile id."
        }
      ]
    },
    {
      "Name": "paraGetConfig",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraGetDiaryEvent",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "EventId",
          "DataType": "Int64",
          "Documentation": "The EventId to return."
        }
      ]
    },
    {
      "Name": "paraGetDispatched",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "FromDate",
          "DataType": "DateTime"
        }
      ]
    },
    {
      "Name": "paraGetItemLineDocuments",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SaleslineIdent",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "The item line identification in the form of salestype, salesnumber and vnumber"
        }
      ]
    },
    {
      "Name": "paraGetItemLineImage",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SaleslineIdent",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "The item line identification in the form of salestype, salesnumber and vnumber"
        },
        {
          "Name": "Options",
          "DataType": "TDrawingImageOptions",
          "Documentation": "Drawing options"
        }
      ]
    },
    {
      "Name": "paraGetListOfCodes",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        }
      ]
    },
    {
      "Name": "paraGetNextDbChange",
      "Ancestor": "paraCustomDB",
      "Documentation": "The parameter structure for the Notification.GetNextDbChange.",
      "Elements": [
        {
          "Name": "ObjectId",
          "DataType": "WideString",
          "Documentation": "The Id of the notification definition in the App definition."
        },
        {
          "Name": "WaitTime",
          "DataType": "Integer",
          "Documentation": "The number of seconds to wait for notifications to occur before returning (long poll)."
        },
        {
          "Name": "MaxNumberOfItems",
          "DataType": "Integer",
          "Documentation": "The maxiumum number of items to return in one call. If 0 all available queue items will be returned."
        },
        {
          "Name": "ReturnOnlyModifiedFieldValues",
          "DataType": "Boolean",
          "Documentation": "If the item is an update, only field that has changed will be returned if this parameter is true."
        }
      ]
    },
    {
      "Name": "paraGetNotDispatched",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraGetNotificationRecipients",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Pickupnumber",
          "DataType": "Integer",
          "Documentation": "The pickup number (assigned from ConsignmentUtilService.ConfirmDispatched) to get default recipients for. Important: The pickup number ar per location, so the LocationId parameter must also bes set."
        },
        {
          "Name": "LocationId",
          "DataType": "WideString",
          "Documentation": "The location id (Consignment.Locationid) used to find the consignments from the Pickupnumber.\r\nIf empty string, the logged in users physical location will be used. If the session is not logged in, the CwServer system users physical location will be used."
        }
      ]
    },
    {
      "Name": "paraGetParameters",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Context",
          "DataType": "ParameterContextStruct",
          "Documentation": "The context of the parameter record to be retrived."
        },
        {
          "Name": "ParameterName",
          "DataType": "WideString",
          "Documentation": "The name of the parameter(s) to be retrived. The % sign can be used as wildcard and thereby returning many parameters in the same operation."
        }
      ]
    },
    {
      "Name": "paraGetProductImage",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ProductCode",
          "DataType": "WideString",
          "Documentation": "The CalWin product code"
        },
        {
          "Name": "Width",
          "DataType": "Double",
          "Documentation": "The width to use. If 0 the default width will be used."
        },
        {
          "Name": "Height",
          "DataType": "Double",
          "Documentation": "The height to use. If 0 the default height will be used."
        },
        {
          "Name": "Options",
          "DataType": "TDrawingImageOptions",
          "Documentation": "Drawing options"
        }
      ]
    },
    {
      "Name": "paraGetReportInformation",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter struct for the GetReportInformation operation",
      "Elements": [
        {
          "Name": "ReportName",
          "DataType": "WideString",
          "Documentation": "The name of the Reporttemplate (report)."
        }
      ]
    },
    {
      "Name": "paraGetReportTemplateList",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraGetRGBFromNCS",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "NCS",
          "DataType": "WideString",
          "Documentation": "NCS colour code"
        }
      ]
    },
    {
      "Name": "paraGetServerInfo",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraGetStdProductImage",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "StdProductCode",
          "DataType": "WideString"
        },
        {
          "Name": "Width",
          "DataType": "Double",
          "Documentation": "The width to use. If 0 the default width will be used."
        },
        {
          "Name": "Height",
          "DataType": "Double",
          "Documentation": "The height to use. If 0 the default height will be used."
        },
        {
          "Name": "Options",
          "DataType": "TDrawingImageOptions",
          "Documentation": "Drawing options"
        }
      ]
    },
    {
      "Name": "paraGetStdProductInfo",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "StdProductid",
          "DataType": "WideString",
          "Documentation": "The standard product identification"
        },
        {
          "Name": "PriceListId",
          "DataType": "WideString",
          "Documentation": "To get pricelist prices the pricelist id has to be given in this parameter. If blank, the default pricelist for the location will be used."
        }
      ]
    },
    {
      "Name": "paraGetStockItemImage",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ItemNumber",
          "DataType": "WideString",
          "Documentation": "The itemnumber"
        },
        {
          "Name": "Options",
          "DataType": "TDrawingImageOptions",
          "Documentation": "Drawing options"
        }
      ]
    },
    {
      "Name": "paraGetWorklogInformation",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "WorklogId",
          "DataType": "Int64"
        }
      ]
    },
    {
      "Name": "paraGetWorklogList",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Workid",
          "DataType": "Int64"
        }
      ]
    },
    {
      "Name": "paraGetWorkstructList",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SaleslineId",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "Salesline identification."
        },
        {
          "Name": "CheckpointId",
          "DataType": "Integer",
          "Documentation": "Checkpoint id."
        }
      ]
    },
    {
      "Name": "paraGoodsCancel",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DeliveryId",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "paraGoodsDeliver",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "AutoDeliverAll",
          "DataType": "Boolean",
          "Documentation": "If True all the lines will delievered\/recived. In that case the Lines element is not neccessary."
        },
        {
          "Name": "AutoDeliverSublines",
          "DataType": "Boolean",
          "Documentation": "If True all sublines will also be delivered\/recived accordingly"
        },
        {
          "Name": "Carrier",
          "DataType": "WideString",
          "Documentation": "A valid CalWin Carrier id"
        },
        {
          "Name": "DeliveryDate",
          "DataType": "DateTime",
          "Documentation": "The date the goods was dispatched (orders) or received (purchases)"
        },
        {
          "Name": "Dispatchnumber",
          "DataType": "WideString",
          "Documentation": "Dispatchnumber\/consignment number from external system"
        },
        {
          "Name": "Ident",
          "DataType": "SalesHeaderIdent",
          "Documentation": "Identification of order\/purchase"
        },
        {
          "Name": "Lines",
          "DataType": "GoodsDeliveryLines",
          "Documentation": "List of lines to be delivered\/receiced. If AutoDeliveryAll is True this one is not neccessary."
        },
        {
          "Name": "PackedBy",
          "DataType": "WideString",
          "Documentation": "Reference to person who packed or received the goods. Must be a valid CalWin employee id"
        }
      ]
    },
    {
      "Name": "paraInsertChild",
      "Ancestor": "paraBusinessObjects",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        },
        {
          "Name": "InsertIndex",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "paraInstallAppx",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "AppxFile",
          "DataType": "Binary"
        }
      ]
    },
    {
      "Name": "paraKillSession",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SessionId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraLogin",
      "Ancestor": "paraCustomLogin",
      "Documentation": "Parameters for the Login method.",
      "Elements": [
        {
          "Name": "PassPhrase",
          "DataType": "WideString",
          "Documentation": "A user identified by a PassPhrase. If given, the user will be looked up and \"logged\" in. If blank, no user login will be tried."
        },
        {
          "Name": "AppParameterRequests",
          "DataType": "AppGetAppParameterRequestArray",
          "Documentation": "A list of parameters to be returned. This is the same as calling ApplicationService.GetAppParameters."
        },
        {
          "Name": "ReceiveAppChangedEvents",
          "DataType": "Boolean",
          "Documentation": "If True the client application will\/can receive notification events when the App definition has been updated or when App parameters\/settings has been changed. See the SystemEventSink."
        }
      ]
    },
    {
      "Name": "paraLoginUser",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "UserName",
          "DataType": "WideString"
        },
        {
          "Name": "PassWord",
          "DataType": "WideString",
          "Documentation": "Password or Passhprase."
        },
        {
          "Name": "AppParameterRequests",
          "DataType": "AppGetAppParameterRequestArray",
          "Documentation": "A list of parameters to be returned. This is the same as calling ApplicationService.GetAppParameters."
        }
      ]
    },
    {
      "Name": "paraLogout",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraMerge",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ToConsignmentnumber",
          "DataType": "WideString",
          "Documentation": "The consignment number the Consignments will be merged into."
        },
        {
          "Name": "Consignments",
          "DataType": "StringArray",
          "Documentation": "A list of consignments that will be merged into ToConsignment."
        }
      ]
    },
    {
      "Name": "ParameterContextStruct",
      "Documentation": "Defines the context a parameter is in.",
      "Elements": [
        {
          "Name": "User",
          "DataType": "Boolean",
          "Documentation": "The parameter is constrained to the user logged in either by Session.AssignExternalUser or Session.LoginUser."
        },
        {
          "Name": "UserParent",
          "DataType": "Boolean",
          "Documentation": "The parameter is contsrained to the parent (Customer, Supplier, Project, Other Party) of the logged in user."
        }
      ]
    },
    {
      "Name": "ParameterStruct",
      "Documentation": "Parameter data.",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "The unique key for the parameter."
        },
        {
          "Name": "StringValue",
          "DataType": "WideString",
          "Documentation": "A value for this paramtere as a string"
        },
        {
          "Name": "IntegerValue",
          "DataType": "Integer",
          "Documentation": "A value for this parameter as an integer."
        },
        {
          "Name": "FloatValue",
          "DataType": "Double",
          "Documentation": "A value for this parameter as a float"
        },
        {
          "Name": "BinaryData",
          "DataType": "Binary",
          "Documentation": "A value for this parameter represented as binary data"
        }
      ]
    },
    {
      "Name": "paraNewEmpty",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraNewFromCustomer",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "CustomerNumber",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraNewFromDelivery",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DeliveryId",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "paraNewFromSales",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SalesHeaderID",
          "DataType": "SalesHeaderIdStruct"
        }
      ]
    },
    {
      "Name": "paraOnAppChanged",
      "Elements": [
        {
          "Name": "AppGUID",
          "DataType": "WideString",
          "Documentation": "The Application GUID"
        },
        {
          "Name": "Revision",
          "DataType": "Integer",
          "Documentation": "The current revision\/version of the App definition."
        },
        {
          "Name": "ChangeType",
          "DataType": "AppUpdateChangeTypeEnum",
          "Documentation": "Why the event was raised."
        }
      ]
    },
    {
      "Name": "paraOpen",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ConsignmentNumber",
          "DataType": "WideString",
          "Documentation": "The consignment number to open."
        }
      ]
    },
    {
      "Name": "paraPollQueue",
      "Ancestor": "paraCustomQueue",
      "Elements": [
        {
          "Name": "WaitTime",
          "DataType": "Integer",
          "Documentation": "The number of seconds to wait. If 0 the call returns immediately even if there is no data."
        }
      ]
    },
    {
      "Name": "paraProbeServer",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter struct to SystemService.ProbeServer.",
      "Elements": [
        {
          "Name": "SimulatedDelay",
          "DataType": "Integer",
          "Documentation": "Simulated delay in milliseconds. To simulate a long running operation. The worker thread on the server will sleep the number of milliseconds before returning."
        }
      ]
    },
    {
      "Name": "paraPushQueue",
      "Ancestor": "paraCustomQueue",
      "Elements": [
        {
          "Name": "Data",
          "DataType": "Binary"
        }
      ]
    },
    {
      "Name": "paraRefetch",
      "Ancestor": "paraBusinessObjects",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraRollback",
      "Ancestor": "paraCustom"
    },
    {
      "Name": "paraSave",
      "Ancestor": "paraBusinessObjects"
    },
    {
      "Name": "paraSaveParameters",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameters to MiscSessionService.SaveParameters",
      "Elements": [
        {
          "Name": "Context",
          "DataType": "ParameterContextStruct",
          "Documentation": "The context that parameters will be saved in"
        },
        {
          "Name": "Parameters",
          "DataType": "ParameterArray",
          "Documentation": "The list of parameters to save."
        }
      ]
    },
    {
      "Name": "paraSendEmail",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Subject",
          "DataType": "WideString",
          "Documentation": "The subject on the message"
        },
        {
          "Name": "MessageText",
          "DataType": "WideString"
        },
        {
          "Name": "ContentType",
          "DataType": "EMailContentTypeEnum",
          "Documentation": "ContentType is deprecated from version 7.13.1. Assume always HTML.\r\nThis item is marked as obsolete."
        },
        {
          "Name": "Recipients",
          "DataType": "EmailRecipients",
          "Documentation": "Recipient of the E-Mail"
        },
        {
          "Name": "RecipientsCC",
          "DataType": "EmailRecipients"
        },
        {
          "Name": "RecipientsBCC",
          "DataType": "EmailRecipients"
        },
        {
          "Name": "Attachments",
          "DataType": "BinaryFiles",
          "Documentation": "Attachments"
        },
        {
          "Name": "FromName",
          "DataType": "WideString",
          "Documentation": "It is possible to override the default from name."
        },
        {
          "Name": "FromAddress",
          "DataType": "WideString",
          "Documentation": "It is possible to override the default from address"
        }
      ]
    },
    {
      "Name": "paraSendMessage",
      "Ancestor": "paraCustomDB",
      "Elements": [
        {
          "Name": "Subject",
          "DataType": "WideString",
          "Documentation": "The subject of the message."
        },
        {
          "Name": "MessageText",
          "DataType": "WideString",
          "Documentation": "The message text."
        },
        {
          "Name": "References",
          "DataType": "MessageReference",
          "Documentation": "References to CalWin objects or URL."
        },
        {
          "Name": "Users",
          "DataType": "CalWinUserIds",
          "Documentation": "CalWin user that will receive the message"
        },
        {
          "Name": "DistributionGroups",
          "DataType": "DistributionGroupIds",
          "Documentation": "CalWin distribution groups that will receive the message"
        }
      ]
    },
    {
      "Name": "paraSendNewPassword",
      "Ancestor": "paraCustom",
      "Documentation": "Paramtere struct for SendNewPassword.",
      "Elements": [
        {
          "Name": "Username",
          "DataType": "WideString",
          "Documentation": "The username or E-Mail address to reset the password for."
        },
        {
          "Name": "EmailSubject",
          "DataType": "WideString",
          "Documentation": "The subject on the E-Mail"
        },
        {
          "Name": "EmailBody",
          "DataType": "WideString",
          "Documentation": "The template for the E-Mail body i HTML format: Availabe mergefield: %password% %username% %name% %email%"
        }
      ]
    },
    {
      "Name": "paraSendNotification",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Recipients",
          "DataType": "NotificationRecipientArray",
          "Documentation": "The recipients. It must initaly be retrieved from ConsignmentUtilService.GetNotificationRecipients (and the eventually altered)."
        }
      ]
    },
    {
      "Name": "paraSendSMS",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Message",
          "DataType": "WideString",
          "Documentation": "The message to send by SMS"
        },
        {
          "Name": "Recipients",
          "DataType": "SMSRecipients",
          "Documentation": "A list of recipients (phone number) to receive the message"
        },
        {
          "Name": "Sender",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "paraSetConfig",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Config",
          "DataType": "ConfigStruct"
        }
      ]
    },
    {
      "Name": "paraShConvertToOrder",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameter struct for ShConvertToOrder method",
      "Elements": [
        {
          "Name": "ProductionDate",
          "DataType": "DateTime",
          "Documentation": "Productiondate"
        },
        {
          "Name": "DeliveryDate",
          "DataType": "DateTime",
          "Documentation": "Deliverydate"
        },
        {
          "Name": "AutoApproveWarnings",
          "DataType": "Boolean",
          "Documentation": "Should warnings on saleslines be approved automatically? If not an exception will be raised."
        }
      ]
    },
    {
      "Name": "paraShDelete",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "AutoDBCommit",
          "DataType": "Boolean",
          "Documentation": "If true the service will automatically perform commit on the DB. If an exception occur, a rollback will be performed before reraising the exception."
        }
      ]
    },
    {
      "Name": "paraShGetCalculatedDeliveryTime",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "PreferredCustomerDate",
          "DataType": "DateTime",
          "Documentation": "Set this field to the preferred customer date. If 0\/blank the best possible date will be returned."
        }
      ]
    },
    {
      "Name": "paraShNew",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the OrderService.CreateNewSalesHeader method.",
      "Elements": [
        {
          "Name": "Accountnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Kind",
          "DataType": "SalesHeaderKind"
        }
      ]
    },
    {
      "Name": "paraShNewPurchase",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the OrderService.shNewPurchase method.",
      "Elements": [
        {
          "Name": "Accountnumber",
          "DataType": "WideString",
          "Documentation": "The supplier account number"
        }
      ]
    },
    {
      "Name": "paraShOpen",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Ident",
          "DataType": "SalesHeaderIdent"
        }
      ]
    },
    {
      "Name": "paraShOpenPurchase",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the OrderService.shOpenPurchase method.",
      "Elements": [
        {
          "Name": "Purchasenumber",
          "DataType": "WideString",
          "Documentation": "The purchase number to open."
        }
      ]
    },
    {
      "Name": "paraShRefresh",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the shRefresh operation",
      "Elements": [
        {
          "Name": "RereadSalesheader",
          "DataType": "Boolean",
          "Documentation": "Should the SalesHeader structure be reread form the database?"
        },
        {
          "Name": "RereadSaleslines",
          "DataType": "Boolean",
          "Documentation": "If false only eventual new lines (autolines etc.) will be added. If true, existing lines will be reread from the the database as well."
        }
      ]
    },
    {
      "Name": "paraShRefreshPurchase",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the shRefreshPurchase operation",
      "Elements": [
        {
          "Name": "RereadPurchaseHeader",
          "DataType": "Boolean",
          "Documentation": "Should the SalesHeader structure be reread form the database?"
        },
        {
          "Name": "RereadSaleslines",
          "DataType": "Boolean",
          "Documentation": "If false only eventual new lines (autolines etc.) will be added. If true, existing lines will be reread from the the database as well."
        }
      ]
    },
    {
      "Name": "paraShSave",
      "Ancestor": "paraCustomDB",
      "Elements": [
        {
          "Name": "AutoApproveWarnings",
          "DataType": "Boolean",
          "Documentation": "Should warnings on saleslines be approved automatically? If not an exception will be raised."
        },
        {
          "Name": "IncludeSaleslines",
          "DataType": "Boolean",
          "Documentation": "If true, resShSave.Saleslines will be populated. In addition the all lines will be reread from the DB and eventual new lines (auto lines etc.) will be added."
        },
        {
          "Name": "PriceUpdateOptions",
          "DataType": "PriceUpdateOptionStruct",
          "Documentation": "How prices on the salesline will be handled."
        },
        {
          "Name": "VolumeDiscountUpdate",
          "DataType": "VolumeDiscountUpdateOptionsStruct",
          "Documentation": "How and if the volume disocunt should be updated."
        }
      ]
    },
    {
      "Name": "paraShSavePurchase",
      "Ancestor": "paraCustomDB",
      "Documentation": "Parameter structure for the OrderService.shSavePurchase method.",
      "Elements": [
        {
          "Name": "AutoApproveWarnings",
          "DataType": "Boolean",
          "Documentation": "Should warnings on saleslines be approved automatically? If not an exception will be raised."
        },
        {
          "Name": "IncludeSaleslines",
          "DataType": "Boolean",
          "Documentation": "If true, resShSave.Saleslines will be populated. In addition the all lines will be reread from the DB and eventual new lines (auto lines etc.) will be added."
        }
      ]
    },
    {
      "Name": "paraShSetCurrencyMode",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the OrderService.shSetCurrencyMode method.",
      "Elements": [
        {
          "Name": "CurrencyMode",
          "DataType": "CurrencyModeEnum",
          "Documentation": "Sets which currency mode to use for all price fields in subsequent operations."
        }
      ]
    },
    {
      "Name": "paraShUpdate",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct"
        }
      ]
    },
    {
      "Name": "paraShUpdatePurchase",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter structure for the OrderService.shUpdatePurchase method.",
      "Elements": [
        {
          "Name": "PurchaseHeader",
          "DataType": "PurchaseHeaderStruct",
          "Documentation": "The purchase header data"
        }
      ]
    },
    {
      "Name": "paraShUpdateVolumeDiscount",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "DiscountPercent",
          "DataType": "Currency",
          "Documentation": "The discount percent to use."
        },
        {
          "Name": "AmountLimit",
          "DataType": "Currency",
          "Documentation": "The currency amount that was passed to get this discountpercent. (currently if this field is greater than 0, information about the volumediscount will be shown in the CalWin construction form)."
        },
        {
          "Name": "ShSaveParameter",
          "DataType": "paraShSave",
          "Documentation": "Paramteres for the shSave operation that will be performed automatically after discount calculation."
        },
        {
          "Name": "UseAutomaticVolumeDiscount",
          "DataType": "Boolean",
          "Documentation": "If true, the volume discount rules defined in CalWin will be used instead of the DiscountPercent and AmountLimit parameters."
        }
      ]
    },
    {
      "Name": "paraSignCheckpoint",
      "Ancestor": "paraCustom",
      "Documentation": "Parameter fields for CheckpointService.Sign",
      "Elements": [
        {
          "Name": "WorkId",
          "DataType": "Int64",
          "Documentation": "Identification of a checkpoint on a Salesline."
        },
        {
          "Name": "Qty",
          "DataType": "Double",
          "Documentation": "Quantity started or finished, dependent on StartStop parameter."
        },
        {
          "Name": "Comment",
          "DataType": "WideString",
          "Documentation": "An eventual comment."
        },
        {
          "Name": "StartStop",
          "DataType": "StartStopEnum"
        },
        {
          "Name": "Parameters",
          "DataType": "WideString",
          "Documentation": "Eventually parameters in the form \"PARA1=xxx PARA2=yyy\"."
        },
        {
          "Name": "Employee",
          "DataType": "WideString",
          "Documentation": "A valid CalWin employee id."
        }
      ]
    },
    {
      "Name": "paraSlAdd",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "ProductSource",
          "DataType": "SaleslineProductSource"
        },
        {
          "Name": "Code",
          "DataType": "WideString",
          "Documentation": "The id\/code. The content is dependent on ProductSource."
        },
        {
          "Name": "Width",
          "DataType": "Double",
          "Documentation": "Width. Only valid when ProductSource is psStandardProduct."
        },
        {
          "Name": "Height",
          "DataType": "Double",
          "Documentation": "Height. Only valid when ProductSource is psStandardProduct."
        },
        {
          "Name": "Qty",
          "DataType": "Double",
          "Documentation": "The quantity. If 0 the default quantity for the item will be used (normally 1)"
        }
      ]
    },
    {
      "Name": "paraSlAddFrom",
      "Ancestor": "paraCustomResSalesline",
      "Documentation": "Parameter strucutre for OrderService.slAddFrom",
      "Elements": [
        {
          "Name": "SaleslineIdent",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "The identification of the exisiting salesline to be added."
        },
        {
          "Name": "SaveLine",
          "DataType": "Boolean",
          "Documentation": "If true the new line will be saved to database. Please also set options in SaveLineOptions."
        },
        {
          "Name": "SaveLineOptions",
          "DataType": "paraSlSaveCurrent",
          "Documentation": "Options if SavesLine=True"
        },
        {
          "Name": "PriceUpdateOptions",
          "DataType": "PriceUpdateOptionStruct",
          "Documentation": "Options for how prices should be update. It's ignored if SaveLine=True."
        }
      ]
    },
    {
      "Name": "paraSlAddInformation",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "InformationKind",
          "DataType": "SaleslineInformationKindEnum",
          "Documentation": "What information to add."
        },
        {
          "Name": "Value",
          "DataType": "Variant",
          "Documentation": "The value for the given InformationKind."
        }
      ]
    },
    {
      "Name": "paraSlDeleteCurrent",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "AutoDBCommit",
          "DataType": "Boolean",
          "Documentation": "If true the service will automatically perform commit on the DB. If an exception occur, a rollback will be performed before reraising the exception."
        }
      ]
    },
    {
      "Name": "paraSlDuplicateCurrent",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "SaveLine",
          "DataType": "Boolean",
          "Documentation": "If true the new line will be saved to database. Please also set options in SaveLineOptions."
        },
        {
          "Name": "SaveLineOptions",
          "DataType": "paraSlSaveCurrent"
        }
      ]
    },
    {
      "Name": "paraSlGetCurrent",
      "Ancestor": "paraCustomResSalesline"
    },
    {
      "Name": "paraSlGetDrawing2D",
      "Ancestor": "paraCustomGetDrawing",
      "Documentation": "Parameter for the slGetDrawing2D operation",
      "Elements": [
        {
          "Name": "UserInteraction",
          "DataType": "Boolean",
          "Documentation": "If True the XAML will include markup for selecting Square\/Lights."
        },
        {
          "Name": "ActiveSquareLevel",
          "DataType": "Integer",
          "Documentation": "At which level should Squares be selectable."
        },
        {
          "Name": "DontDrawIntegrated",
          "DataType": "Boolean",
          "Documentation": "If true, eventual integrated products will not be drawn"
        },
        {
          "Name": "IntegratedDrawColorStyle",
          "DataType": "DrawingColorStyleEnum",
          "Documentation": "The color style which integrated products are drawn in"
        }
      ]
    },
    {
      "Name": "paraSlGetImage",
      "Ancestor": "paraCustomGetImage",
      "Elements": [
        {
          "Name": "DontDrawIntegrated",
          "DataType": "Boolean",
          "Documentation": "If true, eventual integrated products will not be drawn"
        },
        {
          "Name": "IntegratedDrawColorStyle",
          "DataType": "DrawingColorStyleEnum",
          "Documentation": "The color style which integrated products are drawn in"
        }
      ]
    },
    {
      "Name": "paraSlGetPropertyAlternatives",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "Index",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "paraSlModifySelectedAreas",
      "Ancestor": "paraCustom",
      "Elements": [
        {
          "Name": "ClearSelections",
          "DataType": "Boolean",
          "Documentation": "Should all selections be cleared?"
        },
        {
          "Name": "PropertyDetails",
          "DataType": "PropertyDetailsEnum",
          "Documentation": "Which property details should be returned."
        },
        {
          "Name": "AddedSelections",
          "DataType": "SelectionAreaIdRecArray",
          "Documentation": "List of SquareId's that should be selected."
        },
        {
          "Name": "RemovedSelections",
          "DataType": "SelectionAreaIdRecArray",
          "Documentation": "List of SquareId's that should be deselected."
        }
      ]
    },
    {
      "Name": "paraSlRollback",
      "Ancestor": "paraCustomResSalesline"
    },
    {
      "Name": "paraSlSaveCurrent",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "AutoApproveWarnings",
          "DataType": "Boolean",
          "Documentation": "Should warnings be approved automatically? If not an exception will be raised."
        },
        {
          "Name": "AutoDBCommit",
          "DataType": "Boolean",
          "Documentation": "If true the service will automatically perform commit on the DB. If an exception occur, a rollback will be performed before reraising the exception."
        },
        {
          "Name": "PriceUpdateOptions",
          "DataType": "PriceUpdateOptionStruct",
          "Documentation": "How prices will be handled."
        }
      ]
    },
    {
      "Name": "paraSlSetCurrent",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "RowIndex",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "paraSlUpdateProperties",
      "Ancestor": "paraCustomResSalesline",
      "Elements": [
        {
          "Name": "RowIndex",
          "DataType": "Integer",
          "Documentation": "If RowIndex > 0 the current row will be set before applying the properties. (similar to calling slSetCurrent before)."
        },
        {
          "Name": "Properties",
          "DataType": "PropertyUpdateArray",
          "Documentation": "An array of properties that will be applied."
        },
        {
          "Name": "SaveLine",
          "DataType": "Boolean",
          "Documentation": "If true the line will be saved to db after the properties have been applied.\r\nPS! If there are error after applyting the properties, it will not be saved to DB.\r\nPlease also set options in SaveLineOptions."
        },
        {
          "Name": "SaveLineOptions",
          "DataType": "paraSlSaveCurrent",
          "Documentation": "Options for saving to DB. This is the same options that is available in slSaveCurrent."
        }
      ]
    },
    {
      "Name": "paraUpdate",
      "Ancestor": "paraBusinessObjects",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        },
        {
          "Name": "Save",
          "DataType": "Boolean"
        },
        {
          "Name": "Delta",
          "DataType": "FieldDataArray"
        }
      ]
    },
    {
      "Name": "PriceUpdateOptionStruct",
      "Documentation": "Options for how prices should be handled\/set. It's used by several methods.",
      "Elements": [
        {
          "Name": "RestoreStandardPrices",
          "DataType": "Boolean",
          "Documentation": "If set Gross Price and Net Price will be restored to their standard values.\r\nIf KeepDiscountPercent=True then Net price will be equal Gross Price minus the current discount.\r\nGross Price will come either from price list or calculation."
        },
        {
          "Name": "KeepDiscountPercent",
          "DataType": "Boolean",
          "Documentation": "When RestoreStandardPrices is True this parameter says if the discount should be kept, and not reset to default."
        },
        {
          "Name": "RecalculateEndUserPrice",
          "DataType": "Boolean",
          "Documentation": "If True the end user price will be recalculated according to the rules (Salesheader.Enduser_Pricecalc_Rule)"
        }
      ]
    },
    {
      "Name": "ProductCodeStruct",
      "Elements": [
        {
          "Name": "IsStockproduct",
          "DataType": "Boolean",
          "Documentation": "True if the product normally is stocked."
        },
        {
          "Name": "Code",
          "DataType": "WideString",
          "Documentation": "The code that should be displayed\/selected by the user. The possible kinds of values are: Itemnumbers, Productcodes, GTIN numbers, NOBB numbers or Standardproduct numbers."
        },
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "The name\/description."
        },
        {
          "Name": "Heading",
          "DataType": "Boolean",
          "Documentation": "True if this is only a heading, and should not be selectable."
        },
        {
          "Name": "ProductSource",
          "DataType": "SaleslineProductSource",
          "Documentation": "CalWin can create orderlines by either productcode, standardproduct, stocktable itemnumber or\r\nsemifinsihed stocktable itemnumber. This enum tells what kind this record represents,\r\nand should in orderService.slAdd."
        },
        {
          "Name": "StdProductId",
          "DataType": "WideString",
          "Documentation": "If a Stanndardproduct, this file contains the Standardproduct id."
        },
        {
          "Name": "Width",
          "DataType": "Double",
          "Documentation": "The width of the product"
        },
        {
          "Name": "Height",
          "DataType": "Double",
          "Documentation": "The height of the product."
        },
        {
          "Name": "Itemnumber",
          "DataType": "WideString",
          "Documentation": "If a item, then this field contains the itemnumber."
        },
        {
          "Name": "ProductCode",
          "DataType": "WideString",
          "Documentation": "If a product, this field contains the productcode"
        },
        {
          "Name": "IsTemp",
          "DataType": "Boolean",
          "Documentation": "Is this a temporary item (ie. returned by customer)."
        },
        {
          "Name": "IsDamaged",
          "DataType": "Boolean",
          "Documentation": "True if it is a damaged item."
        },
        {
          "Name": "DamageDescription",
          "DataType": "WideString",
          "Documentation": "The eventual damage description."
        }
      ]
    },
    {
      "Name": "PropertyCategory",
      "Elements": [
        {
          "Name": "Caption",
          "DataType": "WideString",
          "Documentation": "Caption of the category"
        },
        {
          "Name": "AutoExpandRule",
          "DataType": "AutoExpandRuleEnum"
        },
        {
          "Name": "HasValues",
          "DataType": "Boolean",
          "Documentation": "If one or more properties inside the category has a value."
        },
        {
          "Name": "Properties",
          "DataType": "PropertyItemArray",
          "Documentation": "List of properties for this category."
        }
      ]
    },
    {
      "Name": "PropertyItem",
      "Documentation": "A property that can be altered on a Salesline object.",
      "Elements": [
        {
          "Name": "AlternativeCount",
          "DataType": "Integer",
          "Documentation": "The number of valid alternatives available"
        },
        {
          "Name": "AlternativeOption",
          "DataType": "PropertyItemAlternativeOption"
        },
        {
          "Name": "PropertyIndex",
          "DataType": "Integer",
          "Documentation": "A unique index that can be used to alter the property value with slUpdateProperties"
        },
        {
          "Name": "PropertyType",
          "DataType": "TcwPropertyType"
        },
        {
          "Name": "PropertyName",
          "DataType": "WideString",
          "Documentation": "VARIANT_VARRECID=An option that can be selected. VARIANT_TEXT=An option description\r\nOther examples that is option related is; GRILLE_DESIGNCODE, GRILLE_DIVIDECODE, HINGE_QTY, HINGE_PREPARED_FOR_ONLY, etc.\r\nFields will have their logical names like DEPARTMENT, SUPPLIER, FORMTRMU, etc."
        },
        {
          "Name": "Caption",
          "DataType": "WideString"
        },
        {
          "Name": "Hint",
          "DataType": "WideString"
        },
        {
          "Name": "Value",
          "DataType": "Variant",
          "Documentation": "The current value."
        },
        {
          "Name": "ValueMaxLength",
          "DataType": "Integer",
          "Documentation": "Max length of value."
        },
        {
          "Name": "DisplayValue",
          "DataType": "WideString",
          "Documentation": "The text that describes the property"
        },
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray",
          "Documentation": "A list of documents relevant for this property"
        },
        {
          "Name": "HasOverride",
          "DataType": "Boolean",
          "Documentation": "Is the default value overridden? For example mullion, transom and bar positions"
        },
        {
          "Name": "IsDisabled",
          "DataType": "Boolean"
        },
        {
          "Name": "IsInvalid",
          "DataType": "Boolean",
          "Documentation": "Is the property value invalid? This can happen when overridden positions is out of range"
        },
        {
          "Name": "IsLocked",
          "DataType": "Boolean",
          "Documentation": "Is the property value locked?"
        },
        {
          "Name": "IsReadOnly",
          "DataType": "Boolean",
          "Documentation": "Is the property value read only?"
        },
        {
          "Name": "IsVariantUserOverride",
          "DataType": "Boolean",
          "Documentation": "Is the option overridden from the default selection?"
        },
        {
          "Name": "IsChildValue",
          "DataType": "Boolean"
        },
        {
          "Name": "PropertyVariantKind",
          "DataType": "TVariantKind"
        }
      ]
    },
    {
      "Name": "PropertyItemAlternative",
      "Documentation": "A valid alternative for a PropertyItem.",
      "Elements": [
        {
          "Name": "Value",
          "DataType": "Variant"
        },
        {
          "Name": "DisplayValue",
          "DataType": "Variant"
        },
        {
          "Name": "Description",
          "DataType": "WideString"
        },
        {
          "Name": "Description2",
          "DataType": "WideString"
        },
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray",
          "Documentation": "Documents connected to this item"
        },
        {
          "Name": "ExtraValues",
          "DataType": "VariantArray",
          "Documentation": "Extra values as declared in PropertyItemAlternativeOption.ExtraValueInfo."
        },
        {
          "Name": "IsHeading",
          "DataType": "Boolean"
        }
      ]
    },
    {
      "Name": "PropertyItemAlternativeExtraValueInfo",
      "Elements": [
        {
          "Name": "Caption",
          "DataType": "WideString"
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "ValueType",
          "DataType": "TcwPropertyType"
        }
      ]
    },
    {
      "Name": "PropertyItemAlternativeOption",
      "Documentation": "Describes how the list of alternatives should be presented",
      "Elements": [
        {
          "Name": "AllowClearValue",
          "DataType": "Boolean",
          "Documentation": "True if it should be possible to set the value to null (clear)"
        },
        {
          "Name": "ValueCaption",
          "DataType": "WideString",
          "Documentation": "Caption for the key column"
        },
        {
          "Name": "DescriptionCaption",
          "DataType": "WideString",
          "Documentation": "Caption for the first description column."
        },
        {
          "Name": "Description2Caption",
          "DataType": "WideString",
          "Documentation": "Caption for the second description Column."
        },
        {
          "Name": "ExtraInfo",
          "DataType": "PropertyItemAlternativeExtraValueInfoArray",
          "Documentation": "List of extra columns. The values are available on PropertyItemAlternativ.ExtraValues"
        },
        {
          "Name": "IsFixedList",
          "DataType": "Boolean",
          "Documentation": "True if only values from the list of alternatives is valid."
        },
        {
          "Name": "UseDisplayValue",
          "DataType": "Boolean",
          "Documentation": "True if DisplayValue should be used instead of Value"
        }
      ]
    },
    {
      "Name": "PropertyUpdateStruct",
      "Documentation": "A structure used to identify and update a property on a salesline. Used by slUpdateProperties.",
      "Elements": [
        {
          "Name": "PropertyIndex",
          "DataType": "Integer",
          "Documentation": "The index of the property to update the value on. Either PropertyIndex or PropertyName have to be given."
        },
        {
          "Name": "PropertyName",
          "DataType": "WideString",
          "Documentation": "The property name to update value on. Either PropertyIndex or PropertyName have to be given."
        },
        {
          "Name": "StringValue",
          "DataType": "WideString",
          "Documentation": "If the value of the property is of type string, then use this property for the value. Otherwise use NumericValue."
        },
        {
          "Name": "NumericValue",
          "DataType": "Double",
          "Documentation": "If the value of the property is integer, float or boolean then use this to set the value. Otherwise use StringValue."
        }
      ]
    },
    {
      "Name": "PurchaseHeaderStruct",
      "Ancestor": "CustomSalesHeaderStruct",
      "Documentation": "Contains data for purchase",
      "Elements": [
        {
          "Name": "SuppliersOrderNumber",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "QueryDialogStruct",
      "Documentation": "A definition of a dialog to be used when querying a user for inputs to a report.",
      "Elements": [
        {
          "Name": "Title",
          "DataType": "WideString",
          "Documentation": "The dialog Title."
        },
        {
          "Name": "QueryVariables",
          "DataType": "QueryVariableArray",
          "Documentation": "Dialog input items"
        }
      ]
    },
    {
      "Name": "QueryVariableStruct",
      "Documentation": "A definition of a variable for a report query dialog.",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "THe name of the variable"
        },
        {
          "Name": "Caption",
          "DataType": "WideString",
          "Documentation": "The caption\/label."
        },
        {
          "Name": "EditorType",
          "DataType": "TQueryVariablesEditorType",
          "Documentation": "The input editor type to be used."
        },
        {
          "Name": "Value",
          "DataType": "Variant",
          "Documentation": "The default value."
        },
        {
          "Name": "FromName",
          "DataType": "WideString",
          "Documentation": "If this editor is a \"to\" field, then this is the name of the \"from\" editor."
        },
        {
          "Name": "Width",
          "DataType": "Integer",
          "Documentation": "The width of the input editor"
        },
        {
          "Name": "ComboboxValues",
          "DataType": "VariableValues",
          "Documentation": "A list of selectable values when the editor type is one of the ComboBox types."
        }
      ]
    },
    {
      "Name": "ReportCurrentValues",
      "Documentation": "Values in currents are passed to the report engine, and ususally used in the where part of the SQL statement.",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "Integer"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Vnumber",
          "DataType": "Integer"
        },
        {
          "Name": "Batchgroup",
          "DataType": "Integer"
        },
        {
          "Name": "Batchno",
          "DataType": "WideString"
        },
        {
          "Name": "Checkpoint",
          "DataType": "WideString"
        },
        {
          "Name": "ChpWorkId",
          "DataType": "Integer"
        },
        {
          "Name": "Consignment",
          "DataType": "WideString"
        },
        {
          "Name": "Deliverynumber",
          "DataType": "Integer"
        },
        {
          "Name": "Globalnoteid",
          "DataType": "Integer"
        },
        {
          "Name": "Pickupnumber",
          "DataType": "Integer"
        },
        {
          "Name": "Priceformat",
          "DataType": "Integer"
        },
        {
          "Name": "PriceformatTotal",
          "DataType": "Boolean"
        },
        {
          "Name": "PricespecLines",
          "DataType": "Boolean"
        },
        {
          "Name": "PricespecTotal",
          "DataType": "Boolean"
        },
        {
          "Name": "PrintProddate",
          "DataType": "DateTime"
        },
        {
          "Name": "ProdStartdate",
          "DataType": "DateTime"
        },
        {
          "Name": "CustomerNumber",
          "DataType": "WideString"
        },
        {
          "Name": "DeviationId",
          "DataType": "Int64"
        },
        {
          "Name": "Invoicenumber",
          "DataType": "Int64"
        },
        {
          "Name": "UserlocationId",
          "DataType": "WideString"
        },
        {
          "Name": "WorklogId",
          "DataType": "Int64"
        },
        {
          "Name": "InvoiceJournal",
          "DataType": "Int64"
        },
        {
          "Name": "CreditorNumber",
          "DataType": "WideString"
        },
        {
          "Name": "CapacityProddate",
          "DataType": "DateTime"
        },
        {
          "Name": "CapacityLocationId",
          "DataType": "WideString"
        },
        {
          "Name": "DeliveryPackageId",
          "DataType": "Int64"
        },
        {
          "Name": "DeliveryPlanId",
          "DataType": "Int64"
        },
        {
          "Name": "InventoryId",
          "DataType": "Integer"
        },
        {
          "Name": "InventoryGroupId",
          "DataType": "Integer"
        },
        {
          "Name": "DmProjectId",
          "DataType": "Int64"
        },
        {
          "Name": "ItemInstanceId",
          "DataType": "Int64"
        }
      ]
    },
    {
      "Name": "ReportExportFile",
      "Documentation": "Represents a file in a report export. When executing a report to RTF or PDF format only one file is returned, but when exporting to HTML  and other formats, several files may be returned.",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "The name of the file."
        },
        {
          "Name": "FileBinary",
          "DataType": "Binary",
          "Documentation": "The binary filedata. Will be empty if ExportToCahce is True."
        },
        {
          "Name": "FileSize",
          "DataType": "Integer",
          "Documentation": "The size in byte of the filedata."
        },
        {
          "Name": "URLToCache",
          "DataType": "WideString",
          "Documentation": "The complete URL to the file on the server cache. Only if ExportToCache is True."
        },
        {
          "Name": "ReportNum",
          "DataType": "Integer",
          "Documentation": "A reference to the report number when ExecuteReports is used. 0 is first."
        }
      ]
    },
    {
      "Name": "ReportMergeOptionsStruct",
      "Elements": [
        {
          "Name": "MergeReports",
          "DataType": "Boolean",
          "Documentation": "If true and the specified format supports merging, all reports will be merge into one output file. PS! At the moment only PDF supports merging."
        },
        {
          "Name": "CreateActivity",
          "DataType": "Boolean",
          "Documentation": "If true an activity record will be created for the merged file. In this case the CreateActivity flag on the individual reports will be ignored."
        },
        {
          "Name": "ActivityTitle",
          "DataType": "WideString",
          "Documentation": "The title of the activity record. If not set, the email subject of the reports will be used. If none, the report name will be used."
        },
        {
          "Name": "CurrentValues",
          "DataType": "ReportCurrentValues",
          "Documentation": "This is the current values that will be used to create an activity for the merged output."
        }
      ]
    },
    {
      "Name": "ReportPackageStruct",
      "Documentation": "A structure defining av report with current-values, variables and parameters.",
      "Elements": [
        {
          "Name": "ReportName",
          "DataType": "WideString",
          "Documentation": "The name of the report to execute."
        },
        {
          "Name": "CurrentValues",
          "DataType": "ReportCurrentValues",
          "Documentation": "Input variables to the report that is related to specific CalWin contexts. For example CurrentValues.Batchno references the currently selected production batch."
        },
        {
          "Name": "Variables",
          "DataType": "VariableValues",
          "Documentation": "A list of variables that is defined in the report. (In CalWin this is the same as what the user will be asked to fill out in a dialog before running the report)"
        },
        {
          "Name": "Parameters",
          "DataType": "VariableValues",
          "Documentation": "In CalWin a specific report template might have defined parameters.\r\nThe idea of parameters, in reporting context, is to let the report behave differently\r\ndepending of the value of one or more parameters."
        },
        {
          "Name": "CreateActivity",
          "DataType": "Boolean",
          "Documentation": "If True a print activity will be created for this report and coupled to corresponding\r\nCalWin quote, order, invoice, customer etc. given in CurrentValues.\r\nPS! If reporting merging is on, activity for individual report will not be generated."
        }
      ]
    },
    {
      "Name": "ReportParameterStruct",
      "Ancestor": "VariableValue",
      "Documentation": "Report parameter as defined in the report.",
      "Elements": [
        {
          "Name": "DataType",
          "DataType": "ReportDatatypeEnum",
          "Documentation": "The data type of the parameter"
        }
      ]
    },
    {
      "Name": "resAddOrUpdateActivity",
      "Ancestor": "resCustom",
      "Documentation": "The result structure for the MiscServiceSession.AddOrUpdateActivity method.",
      "Elements": [
        {
          "Name": "Activity",
          "DataType": "ActivityStruct"
        }
      ]
    },
    {
      "Name": "resAddOrUpdateAppUser",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "AppUser",
          "DataType": "AppUserStruct"
        },
        {
          "Name": "NewPassphrase",
          "DataType": "WideString",
          "Documentation": "An eventual new passphrase if a new user is created and the authentication method for the App is passphrase."
        }
      ]
    },
    {
      "Name": "resAddOrUpdateContact",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Contact",
          "DataType": "ContactStruct"
        }
      ]
    },
    {
      "Name": "resAddOrUpdateDiaryEvent",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DiaryEvent",
          "DataType": "DiaryEventStruct"
        }
      ]
    },
    {
      "Name": "resAddToDraft",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resApiLogin",
      "Ancestor": "resCustomLogin",
      "Documentation": "Structure returned by the LoginService.Login method.",
      "Elements": [
        {
          "Name": "LoginResult",
          "DataType": "LoginUserStatusEnum",
          "Documentation": "The result of the login."
        },
        {
          "Name": "AppVersion",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "resBookDraft",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resBusinessObjects",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Data",
          "DataType": "RowdataDisplayStruct"
        }
      ]
    },
    {
      "Name": "resChangeUsernameAndPassword",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Status",
          "DataType": "ChangeUsernameAndPasswordStatusEnum"
        }
      ]
    },
    {
      "Name": "resCheckQueue",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "MessageQty",
          "DataType": "Integer",
          "Documentation": "Number of messages in the Queue"
        }
      ]
    },
    {
      "Name": "resCheckSession",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Exists",
          "DataType": "Boolean",
          "Documentation": "Does the session exists?"
        }
      ]
    },
    {
      "Name": "resCommit",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resConfirmDispatched",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Pickupnumber",
          "DataType": "Integer",
          "Documentation": "The assigned pickup number."
        },
        {
          "Name": "EdifactFile",
          "DataType": "Binary",
          "Documentation": "If paraConfirmDispatched.DoReturnEdifactFile = true this field will contain the created EDIFACT file if the carrier has EDI turned on."
        },
        {
          "Name": "Log",
          "DataType": "WideString",
          "Documentation": "Text log of the operations performed"
        }
      ]
    },
    {
      "Name": "resCreateFromTemplate",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DeviationId",
          "DataType": "Integer",
          "Documentation": "The id of the created deviation if it saved succesfully"
        },
        {
          "Name": "Errors",
          "DataType": "StringArray"
        }
      ]
    },
    {
      "Name": "resCreateInventoryDraft",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DraftId",
          "DataType": "Integer",
          "Documentation": "The id (Inventory.InventoryId) of the created draft"
        }
      ]
    },
    {
      "Name": "resCustom",
      "Documentation": "This is the basis for all result structures (resXxxxx)"
    },
    {
      "Name": "resCustomBinaryData",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Data",
          "DataType": "Binary"
        }
      ]
    },
    {
      "Name": "resCustomExecuteSQLV2",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Records",
          "DataType": "TRecords",
          "Documentation": "The returned records as an array of array of variant "
        },
        {
          "Name": "Columns",
          "DataType": "TColumns",
          "Documentation": "Column definitions"
        }
      ]
    },
    {
      "Name": "resCustomLogin",
      "Ancestor": "resCustom",
      "Documentation": "Structure returned by the LoginService.Login method.",
      "Elements": [
        {
          "Name": "SessionId",
          "DataType": "WideString",
          "Documentation": "The client session id."
        },
        {
          "Name": "UserInfo",
          "DataType": "AppUserStruct",
          "Documentation": "User information. Only if the PassPhrase was used."
        },
        {
          "Name": "Version",
          "DataType": "WideString",
          "Documentation": "CalWin Server version"
        }
      ]
    },
    {
      "Name": "resCustomObject",
      "Ancestor": "resBusinessObjects",
      "Documentation": "This is ancestor class for all methods that creates a new server object",
      "Elements": [
        {
          "Name": "ObjectId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "resDelete",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resDeleteActivity",
      "Ancestor": "resCustom",
      "Documentation": "The result structure for MiscServiceSession.DeleteActivity"
    },
    {
      "Name": "resDeleteDiaryEvent",
      "Ancestor": "resCustom",
      "Documentation": "The result structture for the MiscServiceSession.DeleteDiaryEvent method"
    },
    {
      "Name": "resDispose",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resExecuteProject",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Files",
          "DataType": "BinaryFiles",
          "Documentation": "The files created by the MachineLink project."
        }
      ]
    },
    {
      "Name": "resExecuteProjectAndStore",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resExecuteReports",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Files",
          "DataType": "ReportExportFileList",
          "Documentation": "The resulting files or URL after report generation."
        }
      ]
    },
    {
      "Name": "resExecuteSQL",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Records",
          "DataType": "Utf8String",
          "Documentation": "The returned records as XML data. The format is: <dataset>  <record recno=1>    <fieldname1>Data1<\/fieldname1>    <fieldname2>Data2<\/fieldname2>  <\/record> <record recno=2>   ... <\/dataset>"
        },
        {
          "Name": "Columns",
          "DataType": "Utf8String",
          "Documentation": "Column definition from the SQL statement as XML in the format: <columns>   <column name=\"column1\"\/>   <column name=\"column2\"\/<   .... <\/columns>"
        }
      ]
    },
    {
      "Name": "resExecuteSQLForCheckpointprofile",
      "Ancestor": "resCustomExecuteSQLV2"
    },
    {
      "Name": "resExecuteSQLV2",
      "Ancestor": "resCustomExecuteSQLV2"
    },
    {
      "Name": "resFindSimilar",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Consignments",
          "DataType": "FindSimilarArray"
        }
      ]
    },
    {
      "Name": "resFindSimilarFromAddress",
      "Ancestor": "resFindSimilar"
    },
    {
      "Name": "resFindSimilarFromConsignment",
      "Ancestor": "resFindSimilar"
    },
    {
      "Name": "resGetActivity",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Activity",
          "DataType": "ActivityStruct",
          "Documentation": "The returned activity structure."
        }
      ]
    },
    {
      "Name": "resGetAppParameters",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Parameters",
          "DataType": "AppParameterArray"
        }
      ]
    },
    {
      "Name": "resGetCheckpointDocumentLinks",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray"
        }
      ]
    },
    {
      "Name": "resGetCheckpointprofileInfo",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Caption",
          "DataType": "WideString",
          "Documentation": "The Caption of the checkpoint profile"
        },
        {
          "Name": "Checkpoint",
          "DataType": "Integer",
          "Documentation": "The checkpoint id this checkpoint profile belongs to"
        },
        {
          "Name": "PreviewReport",
          "DataType": "WideString",
          "Documentation": "The preview report assigned to the profile"
        },
        {
          "Name": "QueryDialogDefinition",
          "DataType": "QueryDialogStruct",
          "Documentation": "The dialog defintion for the checkpoint profile"
        }
      ]
    },
    {
      "Name": "resGetConfig",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Config",
          "DataType": "ConfigStruct"
        }
      ]
    },
    {
      "Name": "resGetDiaryEvent",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DiaryEvent",
          "DataType": "DiaryEventStruct"
        }
      ]
    },
    {
      "Name": "resGetDispatched",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Rows",
          "DataType": "FieldDisplayDataArray"
        }
      ]
    },
    {
      "Name": "resGetDocuments",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray"
        }
      ]
    },
    {
      "Name": "resGetListOfCodes",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Products",
          "DataType": "ProductcodeArray",
          "Documentation": "List of produtcs returned from GetListOfCodes operation."
        }
      ]
    },
    {
      "Name": "resGetNextDbChange",
      "Ancestor": "resCustom",
      "Documentation": "The result structure for the NotificationService.GetNextDbChange",
      "Elements": [
        {
          "Name": "Data",
          "DataType": "NotificationDataArray"
        }
      ]
    },
    {
      "Name": "resGetNotDispatched",
      "Ancestor": "resGetDispatched"
    },
    {
      "Name": "resGetNotificationRecipients",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Recipients",
          "DataType": "NotificationRecipientArray",
          "Documentation": "Recipients with default values."
        },
        {
          "Name": "CanSendEmail",
          "DataType": "Boolean",
          "Documentation": "True if E-Mail is supported. The carrier has to have the E-mail report defined."
        },
        {
          "Name": "CanSendPDF",
          "DataType": "Boolean",
          "Documentation": "True if PDF is supported. The carrier has to have the E-mail report defined."
        },
        {
          "Name": "CanSendSMS",
          "DataType": "Boolean",
          "Documentation": "True if SMS notification is supported. The carrier has to have the SMS report defined."
        }
      ]
    },
    {
      "Name": "resGetParameters",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Parameters",
          "DataType": "ParameterArray"
        }
      ]
    },
    {
      "Name": "resGetReportInformation",
      "Ancestor": "resCustom",
      "Documentation": "Result struct for the GetReportTemplateInformation operation",
      "Elements": [
        {
          "Name": "Parameters",
          "DataType": "ReportParameterArray",
          "Documentation": "Parameters that are defined in the report."
        },
        {
          "Name": "QueryDialogDefintion",
          "DataType": "QueryDialogStruct",
          "Documentation": "The dialog defintion for the report input, defined by the report maker."
        }
      ]
    },
    {
      "Name": "resGetReportTemplateList",
      "Ancestor": "resCustom",
      "Documentation": "Result struct for the GetReportTemplateList operation.",
      "Elements": [
        {
          "Name": "Templates",
          "DataType": "ReportTemplateList",
          "Documentation": "List of reports"
        }
      ]
    },
    {
      "Name": "resGetRGBFromNCS",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "RGB",
          "DataType": "RGBStruct",
          "Documentation": "Colour coded as RGB."
        }
      ]
    },
    {
      "Name": "resGetServerInfo",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Version",
          "DataType": "WideString",
          "Documentation": "CalWin Server version"
        },
        {
          "Name": "ZimeZoneInfo",
          "DataType": "TimeZoneStruct",
          "Documentation": "Timezone information for the server that CalWin Server is running on."
        }
      ]
    },
    {
      "Name": "resGetStdProductInfo",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "StdProductId",
          "DataType": "WideString"
        },
        {
          "Name": "ProductCode",
          "DataType": "WideString",
          "Documentation": "Reference to the product code that this Standard Product is based on."
        },
        {
          "Name": "Description",
          "DataType": "WideString",
          "Documentation": "Description of the Standard Product."
        },
        {
          "Name": "SizesInformation",
          "DataType": "StandardProductInfoSizeArray",
          "Documentation": "Array of information for each valid size combination."
        }
      ]
    },
    {
      "Name": "resGetWorklogInformation",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Worklog",
          "DataType": "WorklogStruct"
        }
      ]
    },
    {
      "Name": "resGetWorkloglist",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Worklog",
          "DataType": "WorklogStructArray"
        }
      ]
    },
    {
      "Name": "resGetWorkstructList",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Workstructs",
          "DataType": "WorkStructArray"
        }
      ]
    },
    {
      "Name": "resGoodsCancel",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DeliveryId",
          "DataType": "Integer",
          "Documentation": "The ID of the created delivery cancellation record"
        }
      ]
    },
    {
      "Name": "resGoodsDeliver",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DeliveryId",
          "DataType": "Integer",
          "Documentation": "The ID of the created delivery record"
        },
        {
          "Name": "Error",
          "DataType": "Boolean",
          "Documentation": "True if something went wrong. Details can be found in the Message element"
        },
        {
          "Name": "Message",
          "DataType": "WideString",
          "Documentation": "Textual representation of the result. If Error is True, it will be a description of what went wrong"
        }
      ]
    },
    {
      "Name": "resInsertChild",
      "Ancestor": "resBusinessObjects"
    },
    {
      "Name": "resInstallAppx",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "ResultAction",
          "DataType": "InstallAppxResultEnum"
        }
      ]
    },
    {
      "Name": "resKillSession",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resLogin",
      "Ancestor": "resCustomLogin",
      "Documentation": "Structure returned by the LoginService.Login method.",
      "Elements": [
        {
          "Name": "AppParameters",
          "DataType": "AppParameterArray",
          "Documentation": "A list of parameters as requested in paraLogin.AppParameterRequests"
        },
        {
          "Name": "PassPhraseLoginResult",
          "DataType": "LoginUserStatusEnum",
          "Documentation": "The result of the PassPhrase login."
        }
      ]
    },
    {
      "Name": "resLoginUser",
      "Ancestor": "resCustom",
      "Documentation": "Result for the user login request. If the login is accepted, Userinfo contains details about the App user.",
      "Elements": [
        {
          "Name": "Status",
          "DataType": "LoginUserStatusEnum"
        },
        {
          "Name": "UserInfo",
          "DataType": "AppUserStruct",
          "Documentation": "Information about the user"
        },
        {
          "Name": "AppParameters",
          "DataType": "AppParameterArray",
          "Documentation": "A list of parameters as requested in paraLoginUser.AppParameterRequests"
        }
      ]
    },
    {
      "Name": "resLogout",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resMerge",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resNewEmpty",
      "Ancestor": "resCustomObject"
    },
    {
      "Name": "resNewFromCustomer",
      "Ancestor": "resCustomObject"
    },
    {
      "Name": "resNewFromDelivery",
      "Ancestor": "resCustomObject"
    },
    {
      "Name": "resNewFromSales",
      "Ancestor": "resCustomObject"
    },
    {
      "Name": "resOpen",
      "Ancestor": "resCustomObject"
    },
    {
      "Name": "resPollQueue",
      "Ancestor": "resCustom",
      "Documentation": "The result structure for the NotificationService.PullQueue",
      "Elements": [
        {
          "Name": "Data",
          "DataType": "Binary",
          "Documentation": "The data returned"
        },
        {
          "Name": "MessageId",
          "DataType": "WideString",
          "Documentation": "The message id of the returned message. If blank noe message was found"
        }
      ]
    },
    {
      "Name": "resProbeServer",
      "Ancestor": "resCustom",
      "Documentation": "Result struct for SystemService.ProbeServer"
    },
    {
      "Name": "resProdcutImage",
      "Ancestor": "resCustomBinaryData"
    },
    {
      "Name": "resPushQueue",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "MessageId",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "resRefetch",
      "Ancestor": "resBusinessObjects"
    },
    {
      "Name": "resRollback",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resSalesline",
      "Ancestor": "resCustom",
      "Documentation": "This structure is parent for several other result structs. resSlAdd, resSlGetCurrent etc.",
      "Elements": [
        {
          "Name": "Salesline",
          "DataType": "SaleslineStructOS"
        },
        {
          "Name": "PropertyCategories",
          "DataType": "PropertyCategoryArray"
        },
        {
          "Name": "FeedBackList",
          "DataType": "FeedbackArray"
        }
      ]
    },
    {
      "Name": "resSave",
      "Ancestor": "resBusinessObjects"
    },
    {
      "Name": "resSaveParameters",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resSendEmail",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "ResponseText",
          "DataType": "WideString",
          "Documentation": "This is actually not in use at the moment and will always be empty."
        }
      ]
    },
    {
      "Name": "resSendMessage",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "MessageId",
          "DataType": "Int64",
          "Documentation": "The id of the created message."
        },
        {
          "Name": "NumberOfUsers",
          "DataType": "Integer",
          "Documentation": "The total number of users that will receive this message."
        }
      ]
    },
    {
      "Name": "resSendNewPassword",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Status",
          "DataType": "SendNewPasswordStatusEnum"
        }
      ]
    },
    {
      "Name": "resSendNotification",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resSendSMS",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resSetConfig",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resShConvertToOrder",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result structure for OrderService.ShConvertToOrder",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct",
          "Documentation": "The salesheader after converted to order."
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "The saleslines after converting to order."
        }
      ]
    },
    {
      "Name": "resShDelete",
      "Ancestor": "resCustom",
      "Documentation": "Result from the Orderservice.ShDelete operation"
    },
    {
      "Name": "resShGetCalculatedDeliveryTime",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "OrderLevelDates",
          "DataType": "SalesDatesStruct",
          "Documentation": "Production, delivery and customer dates."
        },
        {
          "Name": "LocationLevelDates",
          "DataType": "LocationSalesDatesArray",
          "Documentation": "Details about production, delivery and customer date for every locations involved."
        }
      ]
    },
    {
      "Name": "resShGetDocumentLinks",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray"
        }
      ]
    },
    {
      "Name": "resShNew",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from the shNew operation.",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct"
        }
      ]
    },
    {
      "Name": "resShNewPurchase",
      "Ancestor": "resShWithCurrencyInfo",
      "Elements": [
        {
          "Name": "PurchaseHeader",
          "DataType": "PurchaseHeaderStruct",
          "Documentation": "The purchase header"
        }
      ]
    },
    {
      "Name": "resShOpen",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from the shOpen operation.",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct",
          "Documentation": "Reference to the salesheader object."
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "A list of salesline objects for the quote\/order."
        }
      ]
    },
    {
      "Name": "resShOpenPurchase",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from the shOpenPurchase operation.",
      "Elements": [
        {
          "Name": "PurchaseHeader",
          "DataType": "PurchaseHeaderStruct",
          "Documentation": "The purchase header"
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "A list of salesline objects for the purchase."
        }
      ]
    },
    {
      "Name": "resShRefresh",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result structure for shRefresh",
      "Elements": [
        {
          "Name": "Salesheader",
          "DataType": "SalesheaderStruct"
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray"
        }
      ]
    },
    {
      "Name": "resShRefreshPurchase",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result structure for shRefresh",
      "Elements": [
        {
          "Name": "Purchaseheader",
          "DataType": "PurchaseHeaderStruct"
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray"
        }
      ]
    },
    {
      "Name": "resShSave",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from shSave operation",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct"
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "This contains all the saleslines but only if the paraShSave.IncludeSaleslines or VolumeDiscountUpdate.DoUpdate is true."
        }
      ]
    },
    {
      "Name": "resShSavePurchase",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from shSavePurchase operation",
      "Elements": [
        {
          "Name": "PurchaseHeader",
          "DataType": "PurchaseHeaderStruct",
          "Documentation": "The purchase header data"
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "This contains all the saleslines but only if the paraShSavePurchase.IncludeSaleslines = true"
        }
      ]
    },
    {
      "Name": "resShSetCurrencyMode",
      "Ancestor": "resCustom",
      "Documentation": "Result from the shSetCurrencyMode operation.",
      "Elements": [
        {
          "Name": "CurrencyMode",
          "DataType": "CurrencyModeEnum",
          "Documentation": "Confirms the currency mode that has been set."
        }
      ]
    },
    {
      "Name": "resShUpdate",
      "Ancestor": "resShWithCurrencyInfo",
      "Elements": [
        {
          "Name": "SalesHeader",
          "DataType": "SalesheaderStruct"
        }
      ]
    },
    {
      "Name": "resShUpdatePurchase",
      "Ancestor": "resShWithCurrencyInfo",
      "Documentation": "Result from the shUpdatePurchase operation",
      "Elements": [
        {
          "Name": "PurchaseHeader",
          "DataType": "PurchaseHeaderStruct",
          "Documentation": "The purchase header data"
        }
      ]
    },
    {
      "Name": "resShUpdateVolumeDiscount",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "DiscountAmount",
          "DataType": "Currency",
          "Documentation": "The calculated volume discount"
        },
        {
          "Name": "Salesheader",
          "DataType": "SalesheaderStruct",
          "Documentation": "The updated SalesHeader struct after the volume discount has been applied."
        },
        {
          "Name": "Saleslines",
          "DataType": "SaleslineStructOSArray",
          "Documentation": "All saleslines after the volume discount has been applied."
        }
      ]
    },
    {
      "Name": "resShWithCurrencyInfo",
      "Ancestor": "resCustom",
      "Documentation": "Base class for header result classes that include CurrencyInfo",
      "Elements": [
        {
          "Name": "CurrencyInfo",
          "DataType": "CurrencyInfoStruct",
          "Documentation": "Currency information for the current session"
        }
      ]
    },
    {
      "Name": "resSignCheckpoint",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "WorklogId",
          "DataType": "Int64",
          "Documentation": "The id from the created record in the Worklog table."
        }
      ]
    },
    {
      "Name": "resSlAdd",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlAddFrom",
      "Ancestor": "resSalesline",
      "Documentation": "Result structure for OrderService.slAddFrom"
    },
    {
      "Name": "resSlAddInformation",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlDeleteCurrent",
      "Ancestor": "resCustom"
    },
    {
      "Name": "resSlDuplicateCurrent",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlGetCurrent",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlGetDocumentLinks",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Documents",
          "DataType": "TDocumentLinkInfoArray"
        }
      ]
    },
    {
      "Name": "resSlGetDrawing2D",
      "Ancestor": "resCustom",
      "Documentation": "Result struct for the slGetDrawing2D operation",
      "Elements": [
        {
          "Name": "Drawing",
          "DataType": "Utf8String",
          "Documentation": "The drawing of a the item line in XAML format."
        },
        {
          "Name": "MaxSquareLevel",
          "DataType": "Integer",
          "Documentation": "Number of Square Levels on the product"
        }
      ]
    },
    {
      "Name": "resSlGetImage",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Image",
          "DataType": "Binary"
        }
      ]
    },
    {
      "Name": "resSlGetpropertyAlternatives",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "Alternatives",
          "DataType": "PropertyItemAlternativeArray",
          "Documentation": "All alternatives for a property item"
        }
      ]
    },
    {
      "Name": "resSlModifySelectedAreas",
      "Ancestor": "resCustom",
      "Elements": [
        {
          "Name": "PropertyCategories",
          "DataType": "PropertyCategoryArray"
        }
      ]
    },
    {
      "Name": "resSlRollback",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlSaveCurrent",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlSetCurrent",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resSlUpdateProperties",
      "Ancestor": "resSalesline"
    },
    {
      "Name": "resUpdate",
      "Ancestor": "resBusinessObjects"
    },
    {
      "Name": "RGBStruct",
      "Documentation": "A 24-bit RGB color. R,G,B is unsigned 8-bit numbers (0-255).",
      "Elements": [
        {
          "Name": "R",
          "DataType": "Integer"
        },
        {
          "Name": "G",
          "DataType": "Integer"
        },
        {
          "Name": "B",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "RowdataDisplayStruct",
      "Elements": [
        {
          "Name": "Path",
          "DataType": "WideString"
        },
        {
          "Name": "FieldValues",
          "DataType": "FieldDisplayDataArray"
        },
        {
          "Name": "Children",
          "DataType": "ChildArray"
        }
      ]
    },
    {
      "Name": "SalesDatesStruct",
      "Elements": [
        {
          "Name": "ProductionDate",
          "DataType": "DateTime",
          "Documentation": "The day the production is supposed to be finished."
        },
        {
          "Name": "DeliveryDate",
          "DataType": "DateTime",
          "Documentation": "The day the order will be shipped from the factory."
        },
        {
          "Name": "CustomerDate",
          "DataType": "DateTime",
          "Documentation": "The day the order is supposed to arrive at the customers site."
        }
      ]
    },
    {
      "Name": "SalesHeaderIdent",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "SalesHeaderIdStruct",
      "Documentation": "Identifies a sale",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "SalesheaderStruct",
      "Ancestor": "CustomSalesHeaderStruct",
      "Documentation": "Contains fields from a quote- or salesorderheader.",
      "Elements": [
        {
          "Name": "Deliveredstatus",
          "DataType": "Integer"
        },
        {
          "Name": "Debtoraccount",
          "DataType": "WideString"
        },
        {
          "Name": "Invoiceaccount",
          "DataType": "WideString"
        },
        {
          "Name": "Salesrep",
          "DataType": "WideString"
        },
        {
          "Name": "FollowupDate",
          "DataType": "DateTime"
        },
        {
          "Name": "Expiredate",
          "DataType": "DateTime"
        },
        {
          "Name": "EndUserAddress",
          "DataType": "AddressEnduserStruct"
        },
        {
          "Name": "Customerdate",
          "DataType": "DateTime"
        },
        {
          "Name": "Salesdate",
          "DataType": "DateTime"
        },
        {
          "Name": "Productiondate",
          "DataType": "DateTime"
        },
        {
          "Name": "Bonus",
          "DataType": "WideString"
        },
        {
          "Name": "Deliverydatequote",
          "DataType": "WideString"
        },
        {
          "Name": "Pricelist",
          "DataType": "WideString"
        },
        {
          "Name": "Discountset",
          "DataType": "WideString"
        },
        {
          "Name": "Debfind",
          "DataType": "WideString"
        },
        {
          "Name": "Enddisc",
          "DataType": "WideString"
        },
        {
          "Name": "Quotenumber",
          "DataType": "WideString"
        },
        {
          "Name": "Seller",
          "DataType": "WideString"
        },
        {
          "Name": "Chain",
          "DataType": "WideString"
        },
        {
          "Name": "Carrier",
          "DataType": "WideString"
        },
        {
          "Name": "EmailConsignment",
          "DataType": "WideString",
          "Documentation": "Email for consignment notification"
        },
        {
          "Name": "StockCheck",
          "DataType": "Boolean"
        },
        {
          "Name": "EndUser_Pricecalc_Rule",
          "DataType": "EndUserPriceCalcRuleEnum",
          "Documentation": "The rule for how the enduser price should be calculated on itemlines."
        },
        {
          "Name": "EndUser_Pricecalc_value",
          "DataType": "Double",
          "Documentation": "The rate for the rule given by EndUser_Pricecalc_Rule"
        },
        {
          "Name": "CombinedDelivery",
          "DataType": "Boolean",
          "Documentation": "Shall the order be delivered completely (or is partly delivery acceptable)?"
        },
        {
          "Name": "VolumeDiscount",
          "DataType": "Double",
          "Documentation": "The total volume discount amount for the order\/quote. This value is calulated, and is not stored in the database."
        },
        {
          "Name": "VolumeDiscountPercent",
          "DataType": "Double"
        },
        {
          "Name": "LockedFordelivery",
          "DataType": "Boolean",
          "Documentation": "Is the element locked for delivery?"
        },
        {
          "Name": "MobileConsignment",
          "DataType": "WideString",
          "Documentation": "Mobile phone number for consignment notification"
        }
      ]
    },
    {
      "Name": "SaleslineIdentStruct",
      "Ancestor": "SalesHeaderIdStruct",
      "Documentation": "Identifies an salesline",
      "Elements": [
        {
          "Name": "Vnumber",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "SaleslineStruct",
      "Documentation": "SalesLineStruct represents a Salesline in CalWin",
      "Elements": [
        {
          "Name": "Salestype",
          "DataType": "TSalestype"
        },
        {
          "Name": "Salesnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Vnumber",
          "DataType": "Integer"
        },
        {
          "Name": "RefTxt",
          "DataType": "WideString"
        },
        {
          "Name": "Code",
          "DataType": "WideString"
        },
        {
          "Name": "RecId",
          "DataType": "Integer"
        },
        {
          "Name": "DeliveredStatus",
          "DataType": "Integer"
        },
        {
          "Name": "QtyOrdered",
          "DataType": "Double"
        },
        {
          "Name": "QtySupplied",
          "DataType": "Double"
        },
        {
          "Name": "Costprice",
          "DataType": "Double"
        },
        {
          "Name": "Grossprice",
          "DataType": "Double",
          "Documentation": "The stored gross price or the standard gross price if not saved yet."
        },
        {
          "Name": "NetPrice",
          "DataType": "Double",
          "Documentation": "The stored neprice or the standard netprice is not saved yet."
        },
        {
          "Name": "Freight",
          "DataType": "Double"
        },
        {
          "Name": "Total",
          "DataType": "Double"
        },
        {
          "Name": "Width",
          "DataType": "Double"
        },
        {
          "Name": "Height",
          "DataType": "Double"
        },
        {
          "Name": "Length",
          "DataType": "Double"
        },
        {
          "Name": "Description",
          "DataType": "WideString",
          "Documentation": "The complete description inclusive eventual text entered by the user (Sales Comment)"
        },
        {
          "Name": "DesignErrorText",
          "DataType": "WideString",
          "Documentation": "Design error text for this particular line and eventual sub-lines."
        },
        {
          "Name": "DesignWarningText",
          "DataType": "WideString",
          "Documentation": "Warning for this particular line and eventual sub-lines"
        },
        {
          "Name": "DesignInformationText",
          "DataType": "WideString",
          "Documentation": "Informational text for this particular line and eventual sub-lines"
        },
        {
          "Name": "SquareMeasureText",
          "DataType": "WideString"
        },
        {
          "Name": "UValueText",
          "DataType": "WideString"
        },
        {
          "Name": "SalesComment",
          "DataType": "WideString",
          "Documentation": "User added comment."
        },
        {
          "Name": "EndUserPrice",
          "DataType": "Double"
        },
        {
          "Name": "StandardGrossPrice",
          "DataType": "Double",
          "Documentation": "Standard grossprice according to rules."
        },
        {
          "Name": "QtyCancelled",
          "DataType": "Double",
          "Documentation": "Quantity cancelled."
        },
        {
          "Name": "QtyOrdered_Ex_Cancelled",
          "DataType": "Double",
          "Documentation": "Quantity that will be delivered to the customer."
        },
        {
          "Name": "QtyOrdered_ToStock",
          "DataType": "Double",
          "Documentation": "Quantity that will be produced to stock due a cancelation."
        },
        {
          "Name": "SquareMetersArea",
          "DataType": "Double",
          "Documentation": "The area in square meter of the product. Readonly."
        },
        {
          "Name": "UValue",
          "DataType": "Double",
          "Documentation": "U-Value for the product."
        },
        {
          "Name": "LineNo",
          "DataType": "Integer",
          "Documentation": "This the linenumer whitin the quote\/order"
        },
        {
          "Name": "ProductType",
          "DataType": "TProductType"
        },
        {
          "Name": "Batchno",
          "DataType": "WideString",
          "Documentation": "The assigned batchnumber for production"
        },
        {
          "Name": "Posno",
          "DataType": "Integer",
          "Documentation": "Positionnumber whitin the batchnumber (Batchno)"
        },
        {
          "Name": "BatchGroup",
          "DataType": "Integer",
          "Documentation": "Batchgroup id"
        },
        {
          "Name": "Stockloc",
          "DataType": "WideString",
          "Documentation": "Reference to stocklocation"
        },
        {
          "Name": "Department",
          "DataType": "WideString"
        },
        {
          "Name": "Centre",
          "DataType": "WideString"
        },
        {
          "Name": "Purpose",
          "DataType": "WideString"
        },
        {
          "Name": "ItemGroup",
          "DataType": "WideString",
          "Documentation": "Reference to itemgroup"
        },
        {
          "Name": "Supplier",
          "DataType": "WideString"
        },
        {
          "Name": "Itemnumber",
          "DataType": "WideString",
          "Documentation": "The itemnumber if the line is sold (or produced to) from stock."
        },
        {
          "Name": "Status",
          "DataType": "Integer",
          "Documentation": "Status of the line:\r\n 0 = New line\r\n 5 = Quote printed\r\n10 = Confirmed printed\r\n15 = Changed after confirmation\r\n20 = Piclist printed\r\n25 = Changed after picklist\r\n30 = Delivered but with rests\r\n40 =\r\n50 = Completed (delivered)"
        },
        {
          "Name": "Bonus",
          "DataType": "Integer",
          "Documentation": "Is this line part of the bonus basis? 1=yes"
        },
        {
          "Name": "NOBB",
          "DataType": "WideString",
          "Documentation": "NOBB itemnumber"
        },
        {
          "Name": "BatchStatus",
          "DataType": "Integer"
        },
        {
          "Name": "CHP_Status",
          "DataType": "WideString",
          "Documentation": "Checkpoint status string"
        },
        {
          "Name": "EAN13",
          "DataType": "WideString",
          "Documentation": "GTIN-13 itemnumber (previously EAN13)."
        },
        {
          "Name": "GrossVolume",
          "DataType": "Double"
        },
        {
          "Name": "NetVolume",
          "DataType": "Double"
        },
        {
          "Name": "QtyInvoiced",
          "DataType": "Double"
        },
        {
          "Name": "InvoiceStatus",
          "DataType": "Integer",
          "Documentation": "Invoice status for the item: 1=Marked for export 2=Exported 3=Completed 4=Partly invoiced"
        },
        {
          "Name": "Parent_Vnumber",
          "DataType": "Integer",
          "Documentation": "Reference to the parent salesline if this line is a subline. Otherwise it's 0."
        },
        {
          "Name": "AutoLineInfo",
          "DataType": "AutolineInfoStruct",
          "Documentation": "Extra information about this salesline if it is a Autoline (ProductType=prtAutoline)"
        },
        {
          "Name": "VolumeDiscount",
          "DataType": "Double",
          "Documentation": "Volume discount amount. The difference between gross price and net price that is due to volume discount."
        },
        {
          "Name": "Weight",
          "DataType": "Double",
          "Documentation": "The calculated unit weight."
        },
        {
          "Name": "Circumference",
          "DataType": "Double",
          "Documentation": "The product circumference\/perimeter."
        },
        {
          "Name": "BrandDescription",
          "DataType": "WideString",
          "Documentation": "The complete branded description inclusive eventual text entered by the user (Sales Comment)\r\nThis contains text only if the quote\/order is assigned a brand"
        },
        {
          "Name": "ExternalSaleslineId",
          "DataType": "Int64",
          "Documentation": "Reference to external salesline (ExternalSalesline table)"
        },
        {
          "Name": "Pcode",
          "DataType": "WideString",
          "Documentation": "Pricelist code."
        },
        {
          "Name": "Matching_Itemnumber",
          "DataType": "WideString",
          "Documentation": "An itemnumber that this line has a match. If it is selected the Itemnumber field will also be set. See also Matching_Stockloc."
        },
        {
          "Name": "Matching_Stockloc",
          "DataType": "WideString",
          "Documentation": "The stock location that corresponds to Matching_Itemnumber"
        },
        {
          "Name": "PCBGlassQty",
          "DataType": "Integer",
          "Documentation": "The number of glass that will go into the basis for the Norwegian PCB duty calculation"
        },
        {
          "Name": "StandardNetprice",
          "DataType": "Double",
          "Documentation": "Standard net price for the salesline according to rules, priceliste, campaign, disount etc."
        },
        {
          "Name": "StandardCostprice",
          "DataType": "Double",
          "Documentation": "Standard costprice for the salesline according rules. If the pricelist has costprice it will be it, otherwise it's the calculated costprice."
        },
        {
          "Name": "TotalDepth",
          "DataType": "Double",
          "Documentation": "The constructions total depth inclusive all layers and eventual mounted jambs"
        }
      ]
    },
    {
      "Name": "SaleslineStructOS",
      "Ancestor": "SaleslineStruct",
      "Documentation": "This is a derived structure with RowIndex for use in the OrderService.",
      "Elements": [
        {
          "Name": "RowIndex",
          "DataType": "Integer",
          "Documentation": "The salesline object rownumber in the OrderService. To be used by slSetCurrent etc."
        }
      ]
    },
    {
      "Name": "SalesNotesStruct",
      "Documentation": "A struct for notes belonging to a Salesline or Salesheader.",
      "Elements": [
        {
          "Name": "Description",
          "DataType": "WideString"
        },
        {
          "Name": "DescriptionRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Salescomment",
          "DataType": "WideString"
        },
        {
          "Name": "SalescommentRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Internal",
          "DataType": "WideString"
        },
        {
          "Name": "InternalRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Proddescription",
          "DataType": "WideString"
        },
        {
          "Name": "ProddescriptionRTF",
          "DataType": "WideString"
        },
        {
          "Name": "InvoiceDescription",
          "DataType": "WideString"
        },
        {
          "Name": "InvoiceDescriptionRTF",
          "DataType": "WideString"
        },
        {
          "Name": "PurchaseComment",
          "DataType": "WideString"
        },
        {
          "Name": "PurchaseCommentRTF",
          "DataType": "WideString"
        },
        {
          "Name": "DamageDescription",
          "DataType": "WideString"
        },
        {
          "Name": "DamageDescriptionRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Dealer",
          "DataType": "WideString"
        },
        {
          "Name": "DealerRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Enduser",
          "DataType": "WideString"
        },
        {
          "Name": "EnduserRTF",
          "DataType": "WideString"
        },
        {
          "Name": "Invoice",
          "DataType": "WideString",
          "Documentation": "Text to come on the Invoice."
        },
        {
          "Name": "InvoiceRTF",
          "DataType": "WideString",
          "Documentation": "Text to come on the Invoice in RTF format."
        },
        {
          "Name": "WebDealer",
          "DataType": "WideString",
          "Documentation": "A text for external (dealer) use."
        },
        {
          "Name": "WebDealerRTF",
          "DataType": "WideString",
          "Documentation": "A text for external (dealer) use in RTF format."
        },
        {
          "Name": "Delivery",
          "DataType": "WideString"
        },
        {
          "Name": "DeliveryRTF",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "SelectionAreaIdRecStruct",
      "Documentation": "Represent a selected square\/light on a product",
      "Elements": [
        {
          "Name": "ProductId",
          "DataType": "Int64",
          "Documentation": "Random ID of the product if several porudtc are integrated."
        },
        {
          "Name": "SquareId",
          "DataType": "SquareIdStruct"
        },
        {
          "Name": "Level",
          "DataType": "LevelEnum"
        },
        {
          "Name": "ElementKind",
          "DataType": "TElementKind"
        },
        {
          "Name": "ElementNum",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "SendReportByEmailStruct",
      "Elements": [
        {
          "Name": "DoSendByEmail",
          "DataType": "Boolean",
          "Documentation": "Should the report be sent by E-mail? If true the EmailParameter has to be filled."
        },
        {
          "Name": "OnlyByEmail",
          "DataType": "Boolean",
          "Documentation": "If true, no files will be returned or put in the cache."
        },
        {
          "Name": "EmailParameter",
          "DataType": "paraSendEmail"
        }
      ]
    },
    {
      "Name": "SMSRecipient",
      "Documentation": "A SMS recipient",
      "Elements": [
        {
          "Name": "Phonenumber",
          "DataType": "WideString",
          "Documentation": "The phone number to the recipient"
        }
      ]
    },
    {
      "Name": "SquareIdStruct",
      "Elements": [
        {
          "Name": "Square1",
          "DataType": "Integer"
        },
        {
          "Name": "Square2",
          "DataType": "Integer"
        },
        {
          "Name": "Square3",
          "DataType": "Integer"
        },
        {
          "Name": "Square4",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "StandardProductInfoSizeStruct",
      "Elements": [
        {
          "Name": "Width",
          "DataType": "Double",
          "Documentation": "Width in millimeter"
        },
        {
          "Name": "Height",
          "DataType": "Double",
          "Documentation": "Height in millimeter"
        },
        {
          "Name": "Abbrevation",
          "DataType": "WideString",
          "Documentation": "An abbreviation for this particular size."
        },
        {
          "Name": "Itemnumber",
          "DataType": "WideString",
          "Documentation": "If Itemnumber is not empty, this size is stockable."
        },
        {
          "Name": "StockInfo",
          "DataType": "StockStruct",
          "Documentation": "Infromation about stocklevels for the article (identified by Itemnumber)."
        },
        {
          "Name": "PricelistPrice",
          "DataType": "Currency",
          "Documentation": "The grossprice from the pricelist for the given pricelist"
        },
        {
          "Name": "EAN",
          "DataType": "WideString",
          "Documentation": "The EAN-13 number for this size."
        },
        {
          "Name": "NOBB",
          "DataType": "WideString",
          "Documentation": "The NOBB article number for this size."
        }
      ]
    },
    {
      "Name": "StockStruct",
      "Documentation": "Information of stocklevel for a particular itemnumber",
      "Elements": [
        {
          "Name": "Itemnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Stocklocation",
          "DataType": "WideString"
        },
        {
          "Name": "QtyInStock",
          "DataType": "Double",
          "Documentation": "Quantity in stock at the moment"
        },
        {
          "Name": "QtyOrdered",
          "DataType": "Double",
          "Documentation": "Quantity bound to salesorders (outbound)"
        },
        {
          "Name": "QtyInProduction",
          "DataType": "Double",
          "Documentation": "Quantity in production (inbound)"
        },
        {
          "Name": "QtySupply",
          "DataType": "Double",
          "Documentation": "Quantity on order from purchases (inbound)"
        },
        {
          "Name": "QtyAvailable",
          "DataType": "Double",
          "Documentation": "Quantity available. That is QtyInStock - QtyOrdered + QtyInProduction + QtySupply."
        }
      ]
    },
    {
      "Name": "StoreToTableColumnMapping",
      "Elements": [
        {
          "Name": "ColumnName",
          "DataType": "WideString",
          "Documentation": "The column name in the table"
        },
        {
          "Name": "IsIdentifier",
          "DataType": "Boolean",
          "Documentation": "The service will try to delete records in the table based on columns with IsIdentifer=True"
        },
        {
          "Name": "ValueType",
          "DataType": "TStoreToTableValueType",
          "Documentation": "Indication of value type to be stored in the column"
        },
        {
          "Name": "Value",
          "DataType": "Variant",
          "Documentation": "Value depends on the ValueType."
        }
      ]
    },
    {
      "Name": "TColumn",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "The name of the column"
        },
        {
          "Name": "CharSize",
          "DataType": "Integer",
          "Documentation": "The length in chars for string columns"
        },
        {
          "Name": "DataType",
          "DataType": "TColumnDataType",
          "Documentation": "The column datatype"
        },
        {
          "Name": "Optional",
          "DataType": "Boolean",
          "Documentation": "True if the column can be null"
        },
        {
          "Name": "Precision",
          "DataType": "Integer",
          "Documentation": "Number columns are declared as Number(Precision,Scale)"
        },
        {
          "Name": "Scale",
          "DataType": "Integer",
          "Documentation": "Number columns are declared as Number(Precision,Scale)"
        }
      ]
    },
    {
      "Name": "TDocumentLinkInfo",
      "Documentation": "Info about a linked document.",
      "Elements": [
        {
          "Name": "CategoryId",
          "DataType": "Int64",
          "Documentation": "Category Id for the document."
        },
        {
          "Name": "CategoryName",
          "DataType": "WideString",
          "Documentation": "Category Name for the document."
        },
        {
          "Name": "Description",
          "DataType": "WideString",
          "Documentation": "Description of the document."
        },
        {
          "Name": "DocumentSource",
          "DataType": "TDocumentSource",
          "Documentation": "The source of the document.\r\n0=DocumentArchive, 1=SalesHeaderDocuments, 2=ProjectDocuments."
        },
        {
          "Name": "FileMimeType",
          "DataType": "WideString",
          "Documentation": "File MimeType of the document."
        },
        {
          "Name": "URI",
          "DataType": "WideString",
          "Documentation": "An id to be used to reference the document from the CwServer document dispatcher"
        },
        {
          "Name": "FileName",
          "DataType": "WideString",
          "Documentation": "Filename of the document"
        },
        {
          "Name": "Id",
          "DataType": "Int64",
          "Documentation": "Id in the database table where the document is stored."
        },
        {
          "Name": "LinkSource",
          "DataType": "TDocumentLinkSource",
          "Documentation": "Identifies the document link source type.\r\n0=SalesHeader, 1=Project, 2=Product, 3=Item, 4=Option, 5=Component."
        },
        {
          "Name": "LinkSourceDescription",
          "DataType": "WideString",
          "Documentation": "Description of the document link source."
        },
        {
          "Name": "TagNames",
          "DataType": "TTagNameArray",
          "Documentation": "TagNames names for the document."
        }
      ]
    },
    {
      "Name": "TDrawingImageOptions",
      "Ancestor": "paraCustomGetImage",
      "Documentation": "Options for the drawing"
    },
    {
      "Name": "TimeZoneStruct",
      "Documentation": "Contains TimeZone information",
      "Elements": [
        {
          "Name": "Id",
          "DataType": "WideString",
          "Documentation": "The name of the time zone registry key on the server."
        },
        {
          "Name": "Status",
          "DataType": "DSTEnum",
          "Documentation": "Current status of Daylight Saving Time."
        },
        {
          "Name": "Bias",
          "DataType": "Integer",
          "Documentation": "The current bias for local time translation (UTC to local) on the server, in minutes."
        },
        {
          "Name": "StandardName",
          "DataType": "WideString",
          "Documentation": "A description for standard time."
        },
        {
          "Name": "StandardBias",
          "DataType": "Integer",
          "Documentation": "The bias value to be used during local time translations that occur during standard time. This value is added to the value of the Bias to form the bias used during standard time. In most time zones, the value of this member is zero."
        },
        {
          "Name": "DaylightName",
          "DataType": "WideString",
          "Documentation": "A description for daylight saving time (DST)"
        },
        {
          "Name": "DaylightBias",
          "DataType": "Integer",
          "Documentation": "The bias value to be used during local time translations that occur during daylight saving time. This value is added to the value of the Bias member to form the bias used during daylight saving time. In most time zones, the value of this member is -60."
        }
      ]
    },
    {
      "Name": "TInventoryCommonItem",
      "Elements": [
        {
          "Name": "Itemnumber",
          "DataType": "WideString"
        },
        {
          "Name": "Qty",
          "DataType": "Double"
        }
      ]
    },
    {
      "Name": "TInventoryCorrectionItem",
      "Ancestor": "TInventoryCommonItem"
    },
    {
      "Name": "TInventoryStocktakingItem",
      "Ancestor": "TInventoryCommonItem",
      "Elements": [
        {
          "Name": "InventoryGroupId",
          "DataType": "Integer"
        }
      ]
    },
    {
      "Name": "TInventoryTransferItem",
      "Ancestor": "TInventoryCommonItem",
      "Elements": [
        {
          "Name": "FromStocklocation",
          "DataType": "WideString"
        },
        {
          "Name": "ToStocklocation",
          "DataType": "WideString"
        },
        {
          "Name": "TransferDate",
          "DataType": "DateTime"
        }
      ]
    },
    {
      "Name": "TStoreToInfo",
      "Elements": [
        {
          "Name": "ColumnMappings",
          "DataType": "StoreToTableColumnMappings"
        },
        {
          "Name": "TableName",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "UserStruct",
      "Elements": [
        {
          "Name": "Userid",
          "DataType": "Integer"
        },
        {
          "Name": "Name",
          "DataType": "WideString"
        },
        {
          "Name": "Fullname",
          "DataType": "WideString"
        },
        {
          "Name": "Employee",
          "DataType": "EmployeeStruct"
        }
      ]
    },
    {
      "Name": "VariableValue",
      "Elements": [
        {
          "Name": "Name",
          "DataType": "WideString",
          "Documentation": "Name of the variable which the Value is for."
        },
        {
          "Name": "Value",
          "DataType": "Variant",
          "Documentation": "Value of the variable identified by Name."
        }
      ]
    },
    {
      "Name": "VolumeDiscountUpdateOptionsStruct",
      "Documentation": "Properties used for volume discount update. Currently used by shSave.",
      "Elements": [
        {
          "Name": "DoUpdate",
          "DataType": "Boolean",
          "Documentation": "Should the volume discount be updated?"
        },
        {
          "Name": "UseOverrides",
          "DataType": "Boolean",
          "Documentation": "If True AmountLimit and DiscountPercent will be used instead of the volume disocunt rules defined in the system."
        },
        {
          "Name": "AmountLimit",
          "DataType": "Currency",
          "Documentation": "The currency amount that was passed to get this discountpercent. (currently if this field is greater than 0, information about the volumediscount will be shown in the CalWin construction form)."
        },
        {
          "Name": "DiscountPercent",
          "DataType": "Currency",
          "Documentation": "The discount percent to use."
        }
      ]
    },
    {
      "Name": "WorklogStruct",
      "Documentation": "A structure with information about a signed checkpoint.",
      "Elements": [
        {
          "Name": "Worklogid",
          "DataType": "Int64"
        },
        {
          "Name": "CwUser",
          "DataType": "UserStruct"
        },
        {
          "Name": "Qty",
          "DataType": "Double"
        },
        {
          "Name": "StartStop",
          "DataType": "StartStopEnum"
        },
        {
          "Name": "Errorcode",
          "DataType": "Integer"
        },
        {
          "Name": "Errortext",
          "DataType": "WideString"
        },
        {
          "Name": "Workinfo",
          "DataType": "WorkStruct"
        },
        {
          "Name": "Time",
          "DataType": "DateTime"
        },
        {
          "Name": "OperatorInfo",
          "DataType": "EmployeeStruct"
        },
        {
          "Name": "Parameters",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "WorkStruct",
      "Documentation": "A structure with information about a defined checkpoint on a orderline.",
      "Elements": [
        {
          "Name": "WorkId",
          "DataType": "Int64",
          "Documentation": "Unique id of the Checkpoint."
        },
        {
          "Name": "Checkpoint",
          "DataType": "CheckpointStruct"
        },
        {
          "Name": "Qty",
          "DataType": "Double",
          "Documentation": "Total quantity for this Checkpoint on the orderline."
        },
        {
          "Name": "QtyFinished",
          "DataType": "Double"
        },
        {
          "Name": "QtyStarted",
          "DataType": "Double"
        },
        {
          "Name": "TimeFinished",
          "DataType": "DateTime"
        },
        {
          "Name": "TimeStarted",
          "DataType": "DateTime"
        },
        {
          "Name": "SaleslineIdent",
          "DataType": "SaleslineIdentStruct",
          "Documentation": "Pointer to the Salesline"
        }
      ]
    }
  ],
  "Enums": [
    {
      "Name": "ActivityKindEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "akUndefined"
        },
        {
          "Name": "akPrintout"
        },
        {
          "Name": "akChange"
        },
        {
          "Name": "akLogEntry"
        },
        {
          "Name": "akApointment"
        },
        {
          "Name": "akNote"
        },
        {
          "Name": "akVisit"
        },
        {
          "Name": "akEmail"
        },
        {
          "Name": "akPurchaseConfirmDate"
        },
        {
          "Name": "akEdi"
        },
        {
          "Name": "akSMS"
        },
        {
          "Name": "akReceivedEMail"
        },
        {
          "Name": "akLetter"
        },
        {
          "Name": "akCwDealerQuote"
        },
        {
          "Name": "akTask"
        },
        {
          "Name": "akMachineLink"
        },
        {
          "Name": "akEQuote"
        }
      ]
    },
    {
      "Name": "AppUpdateChangeTypeEnum",
      "Prefix": false,
      "Documentation": "Used by the OnAppChangedEvent to tell why the event is rised.",
      "Values": [
        {
          "Name": "aucUpgrade"
        },
        {
          "Name": "aucParameterChanged"
        },
        {
          "Name": "aucUninstalled"
        },
        {
          "Name": "aucActivated"
        },
        {
          "Name": "aucDeactivated"
        }
      ]
    },
    {
      "Name": "AutoExpandRuleEnum",
      "Prefix": false,
      "Documentation": "Should the variant category autoexpand (show childs)?",
      "Values": [
        {
          "Name": "aeNever"
        },
        {
          "Name": "aeAlways"
        },
        {
          "Name": "aeExpandIfHasValues"
        }
      ]
    },
    {
      "Name": "ChangeUsernameAndPasswordStatusEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "cusOK"
        },
        {
          "Name": "cusUsernameInUse"
        },
        {
          "Name": "cusInvalidPassword"
        },
        {
          "Name": "cusUnknownUser"
        }
      ]
    },
    {
      "Name": "CurrencyModeEnum",
      "Prefix": false,
      "Documentation": "Which currency mode to use for price fields in the OrderService.",
      "Values": [
        {
          "Name": "cmInstallationCurrency"
        },
        {
          "Name": "cmUserLocationCurrency"
        }
      ]
    },
    {
      "Name": "CwDiaryEventCategoryEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "decDefault"
        },
        {
          "Name": "decFollowup"
        },
        {
          "Name": "decTask"
        },
        {
          "Name": "decAppointment"
        }
      ]
    },
    {
      "Name": "DBNotificationKindEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "dnfkInsert"
        },
        {
          "Name": "dnfkUpdate"
        },
        {
          "Name": "dnfkDelete"
        }
      ]
    },
    {
      "Name": "DiaryEventStateEnum",
      "Prefix": false,
      "Documentation": "A diary events state.",
      "Values": [
        {
          "Name": "tlsFree"
        },
        {
          "Name": "tlsTentative"
        },
        {
          "Name": "tlsBusy"
        },
        {
          "Name": "tlsOutOfOffice"
        }
      ]
    },
    {
      "Name": "DiaryEventTypeEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "etNone"
        },
        {
          "Name": "etPattern"
        },
        {
          "Name": "etOccurrence"
        },
        {
          "Name": "etException"
        },
        {
          "Name": "etCustom"
        }
      ]
    },
    {
      "Name": "DrawingColorStyleEnum",
      "Prefix": false,
      "Documentation": "Color styled used by slGetImage",
      "Values": [
        {
          "Name": "dcsColor"
        },
        {
          "Name": "dcsBW"
        },
        {
          "Name": "dcsGreyed"
        },
        {
          "Name": "dcsGrayPen"
        }
      ]
    },
    {
      "Name": "DSTEnum",
      "Prefix": false,
      "Documentation": "Daylight Saving Time status",
      "Values": [
        {
          "Name": "dstUknown"
        },
        {
          "Name": "dstStandard"
        },
        {
          "Name": "dstDaylight"
        }
      ]
    },
    {
      "Name": "EMailContentTypeEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "ectPlainText"
        },
        {
          "Name": "ectHTML"
        }
      ]
    },
    {
      "Name": "EndUserPriceCalcRuleEnum",
      "Prefix": false,
      "Documentation": "How enduserprice should be calculated",
      "Values": [
        {
          "Name": "eupcNone"
        },
        {
          "Name": "eupcCostpriceAddition"
        },
        {
          "Name": "eupcGrossMarginRate"
        },
        {
          "Name": "eupcGrossDiscount"
        }
      ]
    },
    {
      "Name": "FeedbackTypeEnum",
      "Values": [
        {
          "Name": "fbInfo"
        },
        {
          "Name": "fbWarning"
        },
        {
          "Name": "fbError"
        }
      ]
    },
    {
      "Name": "ImageFormat",
      "Prefix": false,
      "Documentation": "Image format that a product drawing can be returned in.",
      "Values": [
        {
          "Name": "ifBmp"
        },
        {
          "Name": "ifJpg"
        },
        {
          "Name": "ifEmf"
        },
        {
          "Name": "ifPng"
        }
      ]
    },
    {
      "Name": "InstallAppxResultEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "iarNone"
        },
        {
          "Name": "iarInstalled"
        },
        {
          "Name": "iarUpgraded"
        }
      ]
    },
    {
      "Name": "LevelEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "levUndefined"
        },
        {
          "Name": "levOne"
        },
        {
          "Name": "levTwo"
        },
        {
          "Name": "levThree"
        }
      ]
    },
    {
      "Name": "LoginUserStatusEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "lusOk"
        },
        {
          "Name": "lusUnknowUsername"
        },
        {
          "Name": "lusWrongPassword"
        },
        {
          "Name": "lusPasswordExpired"
        },
        {
          "Name": "lusNotAbleToLogin"
        }
      ]
    },
    {
      "Name": "PropertyDetailsEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "evdNone"
        },
        {
          "Name": "evdItems"
        },
        {
          "Name": "evdItemsAndSelections"
        }
      ]
    },
    {
      "Name": "ReportDatatypeEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "dtBoolean"
        },
        {
          "Name": "dtDate"
        },
        {
          "Name": "dtTime"
        },
        {
          "Name": "dtDateTime"
        },
        {
          "Name": "dtInteger"
        },
        {
          "Name": "dtSingle"
        },
        {
          "Name": "dtDouble"
        },
        {
          "Name": "dtExtended"
        },
        {
          "Name": "dtCurrency"
        },
        {
          "Name": "dtChar"
        },
        {
          "Name": "dtString"
        },
        {
          "Name": "dtVariant"
        },
        {
          "Name": "dtLongint"
        },
        {
          "Name": "dtBlob"
        },
        {
          "Name": "dtMemo"
        },
        {
          "Name": "dtGraphic"
        },
        {
          "Name": "dtNotKnown"
        },
        {
          "Name": "dtLargeInt"
        },
        {
          "Name": "dtGuid"
        }
      ]
    },
    {
      "Name": "ReportExportFormat",
      "Prefix": false,
      "Documentation": "Which format a report executed via the ReportService should be exported in.",
      "Values": [
        {
          "Name": "refPDF"
        },
        {
          "Name": "refRTF"
        },
        {
          "Name": "refHTML"
        },
        {
          "Name": "refBMP"
        },
        {
          "Name": "refJPEG"
        },
        {
          "Name": "refEMF"
        },
        {
          "Name": "refExcel"
        },
        {
          "Name": "refGIF"
        },
        {
          "Name": "refWMF"
        },
        {
          "Name": "refXHTML"
        },
        {
          "Name": "refText"
        },
        {
          "Name": "refTextLayout"
        },
        {
          "Name": "refPDFOld"
        },
        {
          "Name": "refXLSData"
        },
        {
          "Name": "refXLSX"
        },
        {
          "Name": "refXLSXData"
        },
        {
          "Name": "refRAF"
        },
        {
          "Name": "refDOCX"
        }
      ]
    },
    {
      "Name": "SalesHeaderKind",
      "Prefix": false,
      "Values": [
        {
          "Name": "shkQuotation"
        },
        {
          "Name": "shkOrder"
        },
        {
          "Name": "shComplaintOrder"
        }
      ]
    },
    {
      "Name": "SalesHeaderSourceEnum",
      "Documentation": "The source of a CalWin quote\/order\/purchase etc.",
      "Values": [
        {
          "Name": "shsCalWin"
        },
        {
          "Name": "shsWEB"
        },
        {
          "Name": "shsEDI"
        }
      ]
    },
    {
      "Name": "SaleslineInformationKindEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "sikSalesComment"
        }
      ]
    },
    {
      "Name": "SaleslineProductSource",
      "Prefix": false,
      "Values": [
        {
          "Name": "psProduct"
        },
        {
          "Name": "psStandardProduct"
        },
        {
          "Name": "psStocktable"
        },
        {
          "Name": "psSemistock"
        }
      ]
    },
    {
      "Name": "SendNewPasswordStatusEnum",
      "Prefix": false,
      "Values": [
        {
          "Name": "snpsOK"
        },
        {
          "Name": "snpsUnknownUsername"
        },
        {
          "Name": "snpsInvalidEmailAddress"
        }
      ]
    },
    {
      "Name": "StartStopEnum",
      "Prefix": false,
      "Documentation": "A chekpoint signing can be either; comment, start or stop. This type is used by the Worklog struct.",
      "Values": [
        {
          "Name": "ssComment"
        },
        {
          "Name": "ssStarted"
        },
        {
          "Name": "ssFinished"
        }
      ]
    },
    {
      "Name": "TColumnDataType",
      "Prefix": false,
      "Values": [
        {
          "Name": "Integer"
        },
        {
          "Name": "Float"
        },
        {
          "Name": "otString"
        },
        {
          "Name": "Long"
        },
        {
          "Name": "Date"
        },
        {
          "Name": "LongRaw"
        },
        {
          "Name": "Boolean"
        },
        {
          "Name": "CLOB"
        },
        {
          "Name": "NCLOB"
        },
        {
          "Name": "BLOB"
        },
        {
          "Name": "BFile"
        },
        {
          "Name": "Cursor"
        },
        {
          "Name": "otObject"
        },
        {
          "Name": "Reference"
        },
        {
          "Name": "Char"
        },
        {
          "Name": "PLSQLString"
        },
        {
          "Name": "Subst"
        },
        {
          "Name": "Timestamp"
        },
        {
          "Name": "Varchar2"
        },
        {
          "Name": "Number"
        },
        {
          "Name": "Varchar"
        },
        {
          "Name": "RowId"
        },
        {
          "Name": "Raw"
        },
        {
          "Name": "MLSLabel"
        },
        {
          "Name": "RowidDesc"
        },
        {
          "Name": "TimestampTZ"
        },
        {
          "Name": "TimestampLTZ"
        },
        {
          "Name": "IntervalYM"
        },
        {
          "Name": "IntervalDS"
        },
        {
          "Name": "BinaryFloat"
        },
        {
          "Name": "BinaryDouble"
        },
        {
          "Name": "Unknown"
        }
      ]
    },
    {
      "Name": "TcwPropertyType",
      "Prefix": false,
      "Values": [
        {
          "Name": "ptString"
        },
        {
          "Name": "ptUpperCaseString"
        },
        {
          "Name": "ptInteger"
        },
        {
          "Name": "ptFloat"
        },
        {
          "Name": "ptDate"
        },
        {
          "Name": "ptIntBoolean"
        },
        {
          "Name": "ptText"
        },
        {
          "Name": "ptGraphics"
        }
      ]
    },
    {
      "Name": "TDocumentLinkSource",
      "Prefix": false,
      "Values": [
        {
          "Name": "SalesHeader"
        },
        {
          "Name": "Project"
        },
        {
          "Name": "Product"
        },
        {
          "Name": "Item"
        },
        {
          "Name": "Option"
        },
        {
          "Name": "Component"
        },
        {
          "Name": "Archive"
        }
      ]
    },
    {
      "Name": "TDocumentSource",
      "Prefix": false,
      "Values": [
        {
          "Name": "DocumentArchive"
        },
        {
          "Name": "SalesHeaderDocuments"
        },
        {
          "Name": "ProjectDocuments"
        }
      ]
    },
    {
      "Name": "TElementKind",
      "Prefix": false,
      "Documentation": "Component kind",
      "Values": [
        {
          "Name": "ekUndefined"
        },
        {
          "Name": "ekFrameElement"
        },
        {
          "Name": "ekSashElement"
        },
        {
          "Name": "ekTransom"
        },
        {
          "Name": "ekMullion"
        },
        {
          "Name": "ekHorBar"
        },
        {
          "Name": "ekVertBar"
        },
        {
          "Name": "ekHinge"
        },
        {
          "Name": "ekLock"
        },
        {
          "Name": "ekStain"
        },
        {
          "Name": "ekTrim"
        },
        {
          "Name": "ekJamb"
        },
        {
          "Name": "ekGlass"
        },
        {
          "Name": "ekPanel"
        },
        {
          "Name": "ekSill"
        },
        {
          "Name": "ekGlazingBead"
        },
        {
          "Name": "ekSile"
        },
        {
          "Name": "ekEdgeList"
        },
        {
          "Name": "ekPiece"
        },
        {
          "Name": "ekPieceDoorBlade"
        },
        {
          "Name": "ekLayer"
        },
        {
          "Name": "ekSpandrel"
        },
        {
          "Name": "ekHorSileDivider"
        },
        {
          "Name": "ekVertSileDivider"
        },
        {
          "Name": "ekBrake"
        },
        {
          "Name": "ekVent"
        },
        {
          "Name": "ekOutsideStain"
        },
        {
          "Name": "ekInsideStain"
        },
        {
          "Name": "ekGrilleSashElement"
        },
        {
          "Name": "ekAstragal"
        },
        {
          "Name": "ekGasket"
        },
        {
          "Name": "ekWindowStool"
        },
        {
          "Name": "ekPieceFrame"
        },
        {
          "Name": "ekPieceSash"
        },
        {
          "Name": "ekPieceGrilleSash"
        },
        {
          "Name": "ekPieceEdgelist"
        },
        {
          "Name": "ekPieceGasket"
        },
        {
          "Name": "ekPieceJamb"
        },
        {
          "Name": "ekPieceTrim"
        },
        {
          "Name": "ekPieceTranMullSquare"
        },
        {
          "Name": "ekPieceBarSquare"
        },
        {
          "Name": "ekPieceGrilleSquare"
        },
        {
          "Name": "ekPieceSileDividerSquare"
        },
        {
          "Name": "ekHorGrille"
        },
        {
          "Name": "ekVertGrille"
        },
        {
          "Name": "ekExtra"
        },
        {
          "Name": "ekPieceInclinedEnd"
        },
        {
          "Name": "ekSimpleProductElement"
        },
        {
          "Name": "ekChildElement"
        },
        {
          "Name": "ekFrameFastning"
        },
        {
          "Name": "ekFrameBead"
        },
        {
          "Name": "ekPieceFrameBead"
        },
        {
          "Name": "ekScreen"
        },
        {
          "Name": "ekPieceScreen"
        },
        {
          "Name": "ekFireList"
        },
        {
          "Name": "ekCasingBead"
        },
        {
          "Name": "ekHingeDir"
        },
        {
          "Name": "ekCoupler"
        },
        {
          "Name": "ekProfile"
        },
        {
          "Name": "ekDrainageBead"
        },
        {
          "Name": "ekPieceDrainageBead"
        },
        {
          "Name": "ekTrim2"
        },
        {
          "Name": "ekSashFraming"
        },
        {
          "Name": "ekPieceSashFraming"
        },
        {
          "Name": "ekGlassSpacer"
        },
        {
          "Name": "ekGlassGas"
        },
        {
          "Name": "ekPieceArced"
        },
        {
          "Name": "ekWindowShade"
        },
        {
          "Name": "ekGlassPane"
        },
        {
          "Name": "ekGlazingMethod"
        },
        {
          "Name": "ekGasket2"
        },
        {
          "Name": "ekPieceGasket2"
        },
        {
          "Name": "ekPieceGlazingBead"
        },
        {
          "Name": "ekPieceFrameSquare"
        },
        {
          "Name": "ekDrainageHole"
        },
        {
          "Name": "ekGlassFilm"
        },
        {
          "Name": "ekGlassObscure"
        },
        {
          "Name": "ekPackers"
        },
        {
          "Name": "ekSashLead"
        },
        {
          "Name": "ekStackPanel"
        },
        {
          "Name": "ekJambOutside"
        },
        {
          "Name": "ekPieceJambOutside"
        },
        {
          "Name": "ekHeadDripExtension"
        },
        {
          "Name": "ekSillDripExtension"
        },
        {
          "Name": "ekSweeperGasket"
        },
        {
          "Name": "ekPieceExtra"
        },
        {
          "Name": "ekHorGrilleInside"
        },
        {
          "Name": "ekVertGrilleInside"
        },
        {
          "Name": "ekMailSlot"
        },
        {
          "Name": "ekPeepHole"
        },
        {
          "Name": "ekPanelDecor"
        },
        {
          "Name": "ekKickPlate"
        },
        {
          "Name": "ekGlassGasket"
        },
        {
          "Name": "ekPieceProduct"
        },
        {
          "Name": "ekPiecePreparedFor"
        },
        {
          "Name": "ekFrameGuard"
        },
        {
          "Name": "ekSashEdgeGuard"
        },
        {
          "Name": "ekPushPlate"
        },
        {
          "Name": "ekColorContrastFilm"
        },
        {
          "Name": "ekSlidingDoorSystem"
        },
        {
          "Name": "ekPieceSashStruct"
        },
        {
          "Name": "ekPanelDecorTrim"
        },
        {
          "Name": "ekPanelDecorPlate"
        },
        {
          "Name": "ekGroove"
        },
        {
          "Name": "ekFrameFastningCover"
        },
        {
          "Name": "ekGrilleBondingTape"
        },
        {
          "Name": "ekGlassSealant"
        },
        {
          "Name": "ekDoorFurniture"
        },
        {
          "Name": "ekArchSegment"
        },
        {
          "Name": "ekSteelCore"
        },
        {
          "Name": "ekHorGrilleInGlass"
        },
        {
          "Name": "ekVertGrilleInGlass"
        },
        {
          "Name": "ekPieceGlazingBeadStruct"
        },
        {
          "Name": "ekPieceBarModel"
        },
        {
          "Name": "ekPieceUserDefinedArea"
        },
        {
          "Name": "ekFrameStop"
        },
        {
          "Name": "ekPieceFrameStop"
        },
        {
          "Name": "ekGeneral"
        },
        {
          "Name": "ekPieceGrilleSquareArea"
        }
      ]
    },
    {
      "Name": "TExecuteSQLInclude",
      "Prefix": false,
      "Documentation": "Which elements to return in the ExecuteSQL operation",
      "Values": [
        {
          "Name": "All"
        },
        {
          "Name": "Data"
        },
        {
          "Name": "ColumnDefinitions"
        }
      ]
    },
    {
      "Name": "TInventoryKind",
      "Prefix": false,
      "Values": [
        {
          "Name": "ikInventory"
        },
        {
          "Name": "ikTransfer"
        },
        {
          "Name": "ikCorrection"
        }
      ]
    },
    {
      "Name": "TProductType",
      "Prefix": false,
      "Documentation": "Enumerated type for product type as stored in SALESLINE.PRODUCTTYPE",
      "Values": [
        {
          "Name": "prtRegular"
        },
        {
          "Name": "prtCw65Product"
        },
        {
          "Name": "prtRawMaterial"
        },
        {
          "Name": "prtLengthMeterBased"
        },
        {
          "Name": "prtLengthQtyBased"
        },
        {
          "Name": "prtDiscount"
        },
        {
          "Name": "prtSemistock"
        },
        {
          "Name": "prtPCBTax"
        },
        {
          "Name": "prtSelectedParts"
        },
        {
          "Name": "prtStockTableSumLine"
        },
        {
          "Name": "prtSubLineSumLine"
        },
        {
          "Name": "prtTotalDiscount"
        },
        {
          "Name": "prtCancellationCharge"
        },
        {
          "Name": "prtAutoline"
        },
        {
          "Name": "prtFacade"
        }
      ]
    },
    {
      "Name": "TQueryVariablesEditorType",
      "Prefix": false,
      "Values": [
        {
          "Name": "qveText"
        },
        {
          "Name": "qveDate"
        },
        {
          "Name": "qveInteger"
        },
        {
          "Name": "qveFloat"
        },
        {
          "Name": "qveComboValue"
        },
        {
          "Name": "qveComboIndex"
        },
        {
          "Name": "qveComboSQLValue"
        }
      ]
    },
    {
      "Name": "TSalestype",
      "Prefix": false,
      "Documentation": "CalWin has 9 sales types, ranging from quotes, orders, puarchase to re-production order.\r\nSalestype is part of the primary key on the SalesHeader table",
      "Values": [
        {
          "Name": "otQuote"
        },
        {
          "Name": "otOrder"
        },
        {
          "Name": "otStock"
        },
        {
          "Name": "otComplaint"
        },
        {
          "Name": "otDelivery"
        },
        {
          "Name": "otPurchase"
        },
        {
          "Name": "otInternalOrder"
        },
        {
          "Name": "otReturnorder"
        },
        {
          "Name": "otReproduction"
        }
      ]
    },
    {
      "Name": "TStoreToTableValueType",
      "Prefix": false,
      "Values": [
        {
          "Name": "stFileContent"
        },
        {
          "Name": "stFileName"
        },
        {
          "Name": "stFilenameNoExtension"
        },
        {
          "Name": "stValue"
        }
      ]
    },
    {
      "Name": "TVariantKind",
      "Prefix": false,
      "Values": [
        {
          "Name": "vkNone"
        },
        {
          "Name": "vkAstragal"
        },
        {
          "Name": "vkBar"
        },
        {
          "Name": "vkBarFrame"
        },
        {
          "Name": "vkBarModel"
        },
        {
          "Name": "vkBasic"
        },
        {
          "Name": "vkCasingBead"
        },
        {
          "Name": "vkCladding"
        },
        {
          "Name": "vkColorContrastFilm"
        },
        {
          "Name": "vkCoupler"
        },
        {
          "Name": "vkDoorFurniture"
        },
        {
          "Name": "vkDrainageBead"
        },
        {
          "Name": "vkDrainageHole"
        },
        {
          "Name": "vkEdgeList"
        },
        {
          "Name": "vkExtras"
        },
        {
          "Name": "vkFireList"
        },
        {
          "Name": "vkFormBar"
        },
        {
          "Name": "vkFrame"
        },
        {
          "Name": "vkFrameBead"
        },
        {
          "Name": "vkFrameDripExtension"
        },
        {
          "Name": "vkFrameFastning"
        },
        {
          "Name": "vkFrameFastningCover"
        },
        {
          "Name": "vkFrameGuard"
        },
        {
          "Name": "vkGasket"
        },
        {
          "Name": "vkGlass"
        },
        {
          "Name": "vkGlassFilm"
        },
        {
          "Name": "vkGlassGas"
        },
        {
          "Name": "vkGlassGasket"
        },
        {
          "Name": "vkGlassObscure"
        },
        {
          "Name": "vkGlassSealant"
        },
        {
          "Name": "vkGlassSpacer"
        },
        {
          "Name": "vkGlazingBead"
        },
        {
          "Name": "vkGlazingMethod"
        },
        {
          "Name": "vkGrille"
        },
        {
          "Name": "vkGrilleBondingTape"
        },
        {
          "Name": "vkGroove"
        },
        {
          "Name": "vkHinge"
        },
        {
          "Name": "vkHingeDir"
        },
        {
          "Name": "vkJamb"
        },
        {
          "Name": "vkKickPlate"
        },
        {
          "Name": "vkLock"
        },
        {
          "Name": "vkMailSlot"
        },
        {
          "Name": "vkMaterial"
        },
        {
          "Name": "vkMullion"
        },
        {
          "Name": "vkPackers"
        },
        {
          "Name": "vkPanel"
        },
        {
          "Name": "vkPanelDecor"
        },
        {
          "Name": "vkPanelDecorPlate"
        },
        {
          "Name": "vkPanelDecorTrim"
        },
        {
          "Name": "vkPeepHole"
        },
        {
          "Name": "vkProfile"
        },
        {
          "Name": "vkPushPlate"
        },
        {
          "Name": "vkSash"
        },
        {
          "Name": "vkSashBottom"
        },
        {
          "Name": "vkSashEdgeGuard"
        },
        {
          "Name": "vkSashFraming"
        },
        {
          "Name": "vkScreen"
        },
        {
          "Name": "vkSileDividers"
        },
        {
          "Name": "vkSill"
        },
        {
          "Name": "vkSlidingDoorSystem"
        },
        {
          "Name": "vkSpandrel"
        },
        {
          "Name": "vkStainColor"
        },
        {
          "Name": "vkStainType"
        },
        {
          "Name": "vkSteelCore"
        },
        {
          "Name": "vkSweeperGasket"
        },
        {
          "Name": "vkTransom"
        },
        {
          "Name": "vkTrim"
        },
        {
          "Name": "vkVent"
        },
        {
          "Name": "vkWindowShade"
        },
        {
          "Name": "vkWindowStool"
        },
        {
          "Name": "vkFrameStop"
        },
        {
          "Name": "vkGeneral"
        }
      ]
    },
    {
      "Name": "TViewSide",
      "Prefix": false,
      "Values": [
        {
          "Name": "vsDefault"
        },
        {
          "Name": "vsFromOutside"
        },
        {
          "Name": "vsFromInside"
        }
      ]
    }
  ],
  "Arrays": [
    {
      "Name": "AppGetAppParameterRequestArray",
      "DataType": "AppGetAppParameterRequest"
    },
    {
      "Name": "AppParameterArray",
      "DataType": "AppParameter"
    },
    {
      "Name": "AppParameterRecordArray",
      "DataType": "AppParameterRecord"
    },
    {
      "Name": "AppParameterValueRecordArray",
      "DataType": "AppParameterValue"
    },
    {
      "Name": "AppUserRightArray",
      "DataType": "AppUserRightStruct"
    },
    {
      "Name": "BinaryFiles",
      "Documentation": "Array of BinaryFiles. Used when returning several files from a method.",
      "DataType": "BinaryFile"
    },
    {
      "Name": "CalWinUserIds",
      "Documentation": "A list of CalWin user id numbers. (USERS.USERID)",
      "DataType": "Int64"
    },
    {
      "Name": "ChildArray",
      "DataType": "ChildStruct"
    },
    {
      "Name": "DistributionGroupIds",
      "Documentation": "A list of CalWin Distribution id numbers. (USERDISTRIBUTIONGROUP.ID)",
      "DataType": "Int64"
    },
    {
      "Name": "DocidArray",
      "Documentation": "A list of CalWin Document id numbers. (DOCUMENTS.DOCID)",
      "DataType": "Integer"
    },
    {
      "Name": "DocumentArray",
      "DataType": "DocumentStruct"
    },
    {
      "Name": "EmailRecipients",
      "DataType": "EmailRecipient"
    },
    {
      "Name": "FeedbackArray",
      "DataType": "FeedbackStruct"
    },
    {
      "Name": "FieldDataArray",
      "DataType": "FieldDataStruct"
    },
    {
      "Name": "FieldDisplayDataArray",
      "DataType": "FieldDisplayDataStruct"
    },
    {
      "Name": "FindSimilarArray",
      "DataType": "FindSimilarStruct"
    },
    {
      "Name": "GoodsDeliveryLines",
      "DataType": "GoodsDeliverLine"
    },
    {
      "Name": "LocationSalesDatesArray",
      "DataType": "LocationSalesDatesStruct"
    },
    {
      "Name": "NotificationDataArray",
      "DataType": "NotificationDataStruct"
    },
    {
      "Name": "NotificationRecipientArray",
      "DataType": "NotificationRecipientStruct"
    },
    {
      "Name": "NotificationValueArray",
      "DataType": "NotificationValueStruct"
    },
    {
      "Name": "ParameterArray",
      "DataType": "ParameterStruct"
    },
    {
      "Name": "ProductcodeArray",
      "DataType": "ProductCodeStruct"
    },
    {
      "Name": "PropertyCategoryArray",
      "DataType": "PropertyCategory"
    },
    {
      "Name": "PropertyItemAlternativeArray",
      "DataType": "PropertyItemAlternative"
    },
    {
      "Name": "PropertyItemAlternativeExtraValueInfoArray",
      "DataType": "PropertyItemAlternativeExtraValueInfo"
    },
    {
      "Name": "PropertyItemArray",
      "DataType": "PropertyItem"
    },
    {
      "Name": "PropertyUpdateArray",
      "DataType": "PropertyUpdateStruct"
    },
    {
      "Name": "QueryVariableArray",
      "DataType": "QueryVariableStruct"
    },
    {
      "Name": "ReportExportFileList",
      "DataType": "ReportExportFile"
    },
    {
      "Name": "ReportPackageArray",
      "DataType": "ReportPackageStruct"
    },
    {
      "Name": "ReportParameterArray",
      "DataType": "ReportParameterStruct"
    },
    {
      "Name": "ReportTemplateList",
      "DataType": "WideString"
    },
    {
      "Name": "RowdataDisplayArray",
      "DataType": "RowdataDisplayStruct"
    },
    {
      "Name": "SaleslineStructOSArray",
      "DataType": "SaleslineStructOS"
    },
    {
      "Name": "SelectionAreaIdRecArray",
      "DataType": "SelectionAreaIdRecStruct"
    },
    {
      "Name": "SMSRecipients",
      "DataType": "SMSRecipient"
    },
    {
      "Name": "StandardProductInfoSizeArray",
      "DataType": "StandardProductInfoSizeStruct"
    },
    {
      "Name": "StoreToTableColumnMappings",
      "DataType": "StoreToTableColumnMapping"
    },
    {
      "Name": "StringArray",
      "Documentation": "A generic string array",
      "DataType": "WideString"
    },
    {
      "Name": "TColumns",
      "DataType": "TColumn"
    },
    {
      "Name": "TDocumentLinkInfoArray",
      "DataType": "TDocumentLinkInfo"
    },
    {
      "Name": "TInventoryCorrectionItems",
      "DataType": "TInventoryCorrectionItem"
    },
    {
      "Name": "TInventoryStocktakingItems",
      "DataType": "TInventoryStocktakingItem"
    },
    {
      "Name": "TInventoryTransferItems",
      "DataType": "TInventoryTransferItem"
    },
    {
      "Name": "TRecord",
      "DataType": "Variant"
    },
    {
      "Name": "TRecords",
      "DataType": "TRecord"
    },
    {
      "Name": "TROArray_System_Integer_",
      "DataType": "Integer"
    },
    {
      "Name": "TTagNameArray",
      "DataType": "WideString"
    },
    {
      "Name": "UserIdArray",
      "Documentation": "An array of CalWin user ids.",
      "DataType": "Integer"
    },
    {
      "Name": "VariableValues",
      "Documentation": "Array of VariableValue",
      "DataType": "VariableValue"
    },
    {
      "Name": "VariantArray",
      "Documentation": "A generic variant (untyped) array",
      "DataType": "Variant"
    },
    {
      "Name": "WorklogStructArray",
      "Documentation": "A array of WorklogStruct. A WorklogStruct represents a checkpoint signing with time, employee, qty etc.",
      "DataType": "WorklogStruct"
    },
    {
      "Name": "WorkStructArray",
      "Documentation": "An array of WorkStructs.",
      "DataType": "WorkStruct"
    }
  ],
  "Exceptions": [
    {
      "Name": "EAppException",
      "Documentation": "This is the base exception class for all exceptions raised by CalWin Server logic, and not CalWin."
    },
    {
      "Name": "EBusinessObjects",
      "Ancestor": "ECustomException"
    },
    {
      "Name": "EConsignmentNotFound",
      "Ancestor": "EConsignmentServiceException",
      "Documentation": "Raised if methods (lik Load) dont find the given consignmnetnumber."
    },
    {
      "Name": "EConsignmentServiceException",
      "Ancestor": "ECustomException",
      "Documentation": "Base Exception for the ConsignmentService. All other exceptions derived from this."
    },
    {
      "Name": "ECustomException"
    },
    {
      "Name": "ELoginService",
      "Ancestor": "ECustomException"
    },
    {
      "Name": "ELogisticsService",
      "Ancestor": "EAppException"
    },
    {
      "Name": "EMachinelinkService",
      "Ancestor": "EAppException"
    },
    {
      "Name": "EMessageService",
      "Ancestor": "EAppException",
      "Documentation": "Base exception class for exception in the MessageService."
    },
    {
      "Name": "EMessageService_SendMessage",
      "Ancestor": "EMessageService",
      "Documentation": "Expcetion that is thrown by the MessageService.SendMessage method."
    },
    {
      "Name": "EMiscServiceSession",
      "Ancestor": "EAppException"
    },
    {
      "Name": "EMiscServiceSession_Activity",
      "Ancestor": "EMiscServiceSession",
      "Documentation": "Base exception class for MiscServiceSession.GetActivity and MiscServiceSession.AddOrUpdateActivity."
    },
    {
      "Name": "EMiscServiceSession_Activity_NonExistence",
      "Ancestor": "EMiscServiceSession_Activity",
      "Documentation": "Exception thrown if a non existing activty is referenced.",
      "Elements": [
        {
          "Name": "ActivityId",
          "DataType": "Int64",
          "Documentation": "The activity id that is unknown to the system."
        }
      ]
    },
    {
      "Name": "EMiscServiceSession_Diary",
      "Ancestor": "EMiscServiceSession",
      "Documentation": "Exception thrown by MiscServiceSession.GetDiaryEvent og MiscServiceSession.AddOrUpdateDiaryEvent."
    },
    {
      "Name": "EMiscServiceSession_Diary_UnknownEventId",
      "Ancestor": "EMiscServiceSession_Diary",
      "Documentation": "Thrown if the referred Diary Event Id does not exists.",
      "Elements": [
        {
          "Name": "EventId",
          "DataType": "Int64",
          "Documentation": "The give EventId that don't exists."
        }
      ]
    },
    {
      "Name": "EMiscServiceSession_Parameters",
      "Ancestor": "EMiscServiceSession",
      "Documentation": "Exception thrown by MiscServiceSession.UpdateParameter or MiscServiceSession.SaveParameters."
    },
    {
      "Name": "ENotificationService",
      "Ancestor": "EAppException",
      "Documentation": "Base exception class for NotificationServices"
    },
    {
      "Name": "ENotificationService_GetNextDBChange",
      "Ancestor": "ENotificationService",
      "Documentation": "Exception raised by the NotificationService.GetNextDBChange method"
    },
    {
      "Name": "EObjectStateError",
      "Ancestor": "EBusinessObjects",
      "Documentation": "Will be thrown if a method is not allowed for a given state of the server object."
    },
    {
      "Name": "EOrderService",
      "Ancestor": "ECustomException",
      "Documentation": "Generic OrderService Exception"
    },
    {
      "Name": "EPathError",
      "Ancestor": "EBusinessObjects",
      "Documentation": "Raised if something is wrong with the path argument in the Delete, InsertChild, Refetch or Update operations."
    },
    {
      "Name": "EQueueDispatcher",
      "Ancestor": "ECustomException"
    },
    {
      "Name": "EReadOnlyProperty",
      "Ancestor": "EBusinessObjects",
      "Documentation": "Raised when an update is tried on a read only property.",
      "Elements": [
        {
          "Name": "PropertyName",
          "DataType": "WideString"
        }
      ]
    },
    {
      "Name": "EReportService",
      "Ancestor": "EAppException",
      "Documentation": "Base exception class for exceptiona in the ReportService."
    },
    {
      "Name": "EServerObjectNotFound",
      "Ancestor": "EBusinessObjects"
    },
    {
      "Name": "EServiceNotImplemented",
      "Ancestor": "ECustomException",
      "Documentation": "Raised if a published service is not implemented yet."
    },
    {
      "Name": "EUnknownPropertyName",
      "Ancestor": "EBusinessObjects",
      "Documentation": "Raised when Update i called with a property name that is unknown for the business object.",
      "Elements": [
        {
          "Name": "PropertyName",
          "DataType": "WideString"
        }
      ]
    }
  ]
}
