{
  "openapi": "3.1.0",
  "info": {
    "title": "Jim2 WebAPI",
    "description": "The core API for Jim2.  This API can be extended via customisation.",
    "version": "4.6.10006.203",
    "contact": {
      "name": "Happen Business Pty Limited",
      "url": "https://jim.com.au/",
      "email": "support@happen.biz"
    }
  },
  "paths": {
    "/api/v1/accounting/invoice/{invno}": {
      "get": {
        "description": "Returns the requested invoice.  Refer to format query parameter.Custom URL query params will be sent to the report",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "The format of the invoice.  Currently .pdf is the default and is the only supported option.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportname",
            "in": "query",
            "description": "The Invoice report name to use. Default will use the report used at Invoicing.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested invoice, in the format requested",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/accounts/debtors/addpayment": {
      "post": {
        "description": "Adds a new debtors payment. Note: This call has a fair chance of failing if not submitted via the queue - eg if a user is editing the debtor for which the payment is to be added, this call will fail.",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "debtorCardNo": {
                    "type": "integer",
                    "description": "The CardFile Card number for the debtor. You must supply one of debtorCardCode or debtorCardNo to identify the debtor."
                  },
                  "debtorCardCode": {
                    "type": "string",
                    "description": "The CardFile Card Code for the debtor. You must supply one of debtorCardCode or debtorCardNo to identify the debtor."
                  },
                  "companyNo": {
                    "type": "integer",
                    "description": "The company number.  Only relevant for multi company databases.<br>If ommitted defaults to the debtors company if the debtor cardfile is for a particular company, otherwise defaults to 1 (the database default company)."
                  },
                  "paymentBy": {
                    "type": "string",
                    "description": "A valid payment type for debtors per Jim2 setup (ie this sets the Payment By as shown in debtors)"
                  },
                  "paymentDate": {
                    "type": "string",
                    "description": "The date the payment was received.  If omitted the current date will be used.  Must be in ISO date format - eg \"2023-01-31\""
                  },
                  "glaccount": {
                    "type": "string",
                    "description": "the account into which funds are to be received, this will be unbanked funds if omitted."
                  },
                  "amount": {
                    "type": "number",
                    "description": "The payment amount."
                  },
                  "comment": {
                    "type": "string",
                    "description": "The comment for the payment."
                  },
                  "currencyCode": {
                    "type": "string",
                    "description": "The currency code for the payment.  If omitted this is the database home currency is assumed."
                  },
                  "invoices": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "The invoices that the payment should be applied to (if any).  The payment will be applied to these invoices in order untill the payment amount is used up, or there are no more invoices (in which case any balance will be left on the payment)"
                  },
                  "jobNo": {
                    "type": "integer",
                    "description": "Job number that the prepayment should be linked to (if any)."
                  }
                },
                "required": [
                  "paymentBy",
                  "amount"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tranNo": {
                      "type": "integer",
                      "description": "The debtor transaction number recorded for this payment. It identifies the payment in the debtor's transaction history and on statements."
                    },
                    "payNo": {
                      "type": "integer",
                      "description": "The unique number identifying the payment record that was created. Use it to reference this specific payment."
                    }
                  },
                  "required": [
                    "tranNo",
                    "payNo"
                  ]
                },
                "example": "{\n    \"tranNo\": 80432,\n    \"payNo\": 1175\n}\n"
              }
            }
          }
        }
      }
    },
    "/api/v1/accounts/debtors/balance/{cardno}": {
      "get": {
        "description": "Returns debtors balance and currency code. ",
        "parameters": [
          {
            "name": "exclPrep",
            "in": "query",
            "description": "Optional. Whether to exclude Job prepayments from the balance: true = exclude, false = include. Defaults to true (prepayments excluded).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currCode",
            "in": "query",
            "description": "Optional parameter to get debtors balance for a specific currency",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cardNo": {
                      "type": "integer",
                      "description": "Card number"
                    },
                    "balance": {
                      "type": "number",
                      "description": "Returns debtors balance"
                    },
                    "currencyCode": {
                      "type": "string",
                      "description": "Returns currency code of debtors balance"
                    }
                  },
                  "required": [
                    "cardNo",
                    "currencyCode"
                  ]
                },
                "example": "{\r\n\t\"cardNo\": 1,\r\n\t\"balance\": 10.0,\r\n\t\"currencyCode\": \"AUD\"\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/accounts/debtors/invoicebalance/{invno}": {
      "get": {
        "description": "Returns original amount, balance due and currency code of invoice. ",
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "invNo": {
                      "type": "integer",
                      "description": "Invoice number"
                    },
                    "amount": {
                      "type": "number",
                      "description": "Returns original amount of invoice"
                    },
                    "balanceDue": {
                      "type": "number",
                      "description": "Returns balance due amount of invoice"
                    },
                    "currencyCode": {
                      "type": "string",
                      "description": "Returns currency code of invoice"
                    }
                  },
                  "required": [
                    "invNo",
                    "amount",
                    "balanceDue",
                    "currencyCode"
                  ]
                },
                "example": "{\r\n    \"invNo\": 1,\r\n    \"amount\": 10.0000,\r\n    \"balanceDue\": 10.0000,\r\n    \"currencyCode\": \"EUR\"\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/accounts/debtors/jobbalance/{jobno}": {
      "get": {
        "description": "Returns original amount, balance due and currency code of job. Applies only to jobs that have not yet been invoiced. Note: If the job has already been invoiced, a 400 (Bad Request) is returned with the invoice number (<code>invNo</code>) and no balance. Retrieve the balance from the <code>/accounts/debtors/invoicebalance/{invNo}</code> endpoint instead.",
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobNo": {
                      "type": "integer",
                      "description": "Job number"
                    },
                    "invNo": {
                      "type": "integer",
                      "description": "Always null on a successful response. An invoiced job returns a 400 (Bad Request) instead of a balance."
                    },
                    "amount": {
                      "type": "number",
                      "description": "The job total amount"
                    },
                    "balanceDue": {
                      "type": "number",
                      "description": "The balance due amount for the job (job total minus prepayments for the job)"
                    },
                    "currencyCode": {
                      "type": "string",
                      "description": "The currency code of the job"
                    }
                  },
                  "required": [
                    "jobNo",
                    "amount",
                    "currencyCode"
                  ]
                },
                "example": "{\n    \"jobNo\": 2026131,\n    \"invNo\": null,\n    \"amount\": 3063.8100,\n    \"balanceDue\": 0.0200,\n    \"currencyCode\": \"AUD\"\n}\n"
              }
            }
          }
        }
      }
    },
    "/api/v1/invoices": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Invoice",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "InvNo": {
                              "type": "integer",
                              "description": "The invoice number (unique identifier)."
                            },
                            "InvoiceType": {
                              "type": "string",
                              "description": "The invoice type."
                            },
                            "InvoiceDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The invoice date."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The invoice status."
                            },
                            "Amount": {
                              "type": "number",
                              "description": "The invoice amount."
                            },
                            "Tax": {
                              "type": "number",
                              "description": "The tax amount on the invoice."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the invoice prices are tax-paid (tax-inclusive)."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the invoice."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the invoice's currency exchange rate is locked."
                            },
                            "AccountFee": {
                              "type": "object",
                              "properties": {
                                "AccFeeAmt": {
                                  "type": "number",
                                  "description": "The amount."
                                },
                                "AccFeeTax": {
                                  "type": "number",
                                  "description": "The tax on the amount."
                                },
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the amount."
                                }
                              },
                              "required": [
                                "AccFeeAmt",
                                "AccFeeTax",
                                "TaxCode"
                              ],
                              "description": "The account fee amount, tax and tax code on the invoice."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "InvoiceDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details on the invoice."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details on the invoice."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details on the invoice."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ],
                              "description": "The customer (bill-to) address, ship-to address and freight details for the invoice."
                            }
                          },
                          "required": [
                            "InvNo",
                            "InvoiceType",
                            "Status",
                            "Amount",
                            "Tax",
                            "CurrencyCode",
                            "ExchRate",
                            "RateLocked",
                            "AccountFee",
                            "CompanyCode",
                            "GLDeptCode",
                            "BranchCode",
                            "SubBranchCode",
                            "InvoiceDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "user": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "jobs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "attributes": {
                        "accountFee": {
                          "amount": 20.0,
                          "tax": 2.0,
                          "taxCode": "G"
                        },
                        "amount": 110.0,
                        "branchCode": "4HB",
                        "companyCode": "HAPPEN",
                        "currencyCode": "AUD",
                        "exchRate": 1.0,
                        "gLDeptCode": "OTH",
                        "invNo": 2,
                        "invoiceDate": "2025-12-04T13:55:00",
                        "invoiceDetails": {
                          "customer": {
                            "attn": "Simple Cust Contact for custom",
                            "country": "Australia",
                            "isAddressResidential": true,
                            "name": "Simple cust #7",
                            "orderNo": null,
                            "postCode": "2850",
                            "state": "NSW",
                            "streetAddress": "Simple Cust Address",
                            "suburb": "AARONS PASS"
                          },
                          "freight": {
                            "amount": 15.0,
                            "dispatch": [
                              {
                                "shipVia": "Machship",
                                "shipRef": "MACH-2001",
                                "noOfCartons": null
                              }
                            ],
                            "tax": 1.5,
                            "taxCode": "G"
                          },
                          "ship": {
                            "attn": "Simple Cust Contact for custom",
                            "country": "Australia",
                            "isAddressResidential": false,
                            "name": "Simple cust #7",
                            "postCode": "2850",
                            "state": "NSW",
                            "streetAddress": "Simple Cust Address",
                            "suburb": "AARONS PASS"
                          }
                        },
                        "invoiceType": "Invoice",
                        "rateLocked": true,
                        "status": "FINISH",
                        "subBranchCode": "SA",
                        "tax": 10.0,
                        "taxPaid": true
                      },
                      "id": "2",
                      "relationships": {
                        "customer": {
                          "data": {
                            "id": "11",
                            "type": "CardFile"
                          }
                        },
                        "jobs": {
                          "data": [
                            {
                              "id": "2",
                              "type": "Job"
                            },
                            {
                              "id": "10",
                              "type": "Job"
                            }
                          ]
                        },
                        "user": {
                          "data": {
                            "id": "1",
                            "type": "CardFile"
                          }
                        }
                      },
                      "type": "Invoice"
                    },
                    {
                      "id": "3",
                      "type": "Invoice",
                      "attributes": {
                        "status": "FINISH",
                        "invNo": 3
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Invoice",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of user,customer",
            "required": true
          }
        ]
      }
    },
    "/api/v1/invoices/{invno}": {
      "parameters": [
        {
          "name": "invno",
          "in": "path",
          "description": "The Invoice identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Invoice",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "InvNo": {
                              "type": "integer",
                              "description": "The invoice number (unique identifier)."
                            },
                            "InvoiceType": {
                              "type": "string",
                              "description": "The invoice type."
                            },
                            "InvoiceDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The invoice date."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The invoice status."
                            },
                            "Amount": {
                              "type": "number",
                              "description": "The invoice amount."
                            },
                            "Tax": {
                              "type": "number",
                              "description": "The tax amount on the invoice."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the invoice prices are tax-paid (tax-inclusive)."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the invoice."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the invoice's currency exchange rate is locked."
                            },
                            "AccountFee": {
                              "type": "object",
                              "properties": {
                                "AccFeeAmt": {
                                  "type": "number",
                                  "description": "The amount."
                                },
                                "AccFeeTax": {
                                  "type": "number",
                                  "description": "The tax on the amount."
                                },
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the amount."
                                }
                              },
                              "required": [
                                "AccFeeAmt",
                                "AccFeeTax",
                                "TaxCode"
                              ],
                              "description": "The account fee amount, tax and tax code on the invoice."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "InvoiceDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details on the invoice."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details on the invoice."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details on the invoice."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ],
                              "description": "The customer (bill-to) address, ship-to address and freight details for the invoice."
                            }
                          },
                          "required": [
                            "InvNo",
                            "InvoiceType",
                            "Status",
                            "Amount",
                            "Tax",
                            "CurrencyCode",
                            "ExchRate",
                            "RateLocked",
                            "AccountFee",
                            "CompanyCode",
                            "GLDeptCode",
                            "BranchCode",
                            "SubBranchCode",
                            "InvoiceDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "user": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "jobs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "1234",
                    "type": "Invoice",
                    "attributes": {
                      "invNo": 1234,
                      "invoiceType": "Invoice",
                      "invoiceDate": "2023-11-20T11:45:00",
                      "status": "FINISH",
                      "amount": 200.0,
                      "tax": 20.0,
                      "taxPaid": true,
                      "currencyCode": "AUD",
                      "exchRate": 1.0,
                      "rateLocked": true,
                      "accountFee": {
                        "amount": 200.0,
                        "tax": 10.0,
                        "taxCode": "G"
                      },
                      "companyCode": "HAPPEN",
                      "gLDeptCode": "OTH",
                      "branchCode": "4HB",
                      "subBranchCode": "SA",
                      "invoiceDetails": {
                        "customer": {
                          "attn": "Joe",
                          "name": "Soap",
                          "isAddressResidential": true,
                          "streetAddress": "1 Nowhere Rd",
                          "suburb": "Nowhere",
                          "state": "NSW",
                          "postCode": "0000",
                          "country": "AUS",
                          "orderNo": null
                        },
                        "ship": {
                          "attn": "Jane",
                          "name": "Doe",
                          "isAddressResidential": false,
                          "streetAddress": "2 Somewhere St",
                          "suburb": "Somewhere",
                          "state": "VIC",
                          "postCode": "0001",
                          "country": "AUS"
                        },
                        "freight": {
                          "amount": 200.0,
                          "tax": 10.0,
                          "taxCode": "G",
                          "dispatch": [
                            {
                              "shipVia": "Machship",
                              "shipRef": "MACH-1234",
                              "noOfCartons": null
                            }
                          ]
                        }
                      }
                    },
                    "relationships": {
                      "user": {
                        "data": {
                          "type": "CardFile",
                          "id": "12457"
                        }
                      },
                      "customer": {
                        "data": {
                          "type": "CardFile",
                          "id": "12458"
                        }
                      },
                      "jobs": {
                        "data": [
                          {
                            "type": "Job",
                            "id": "15"
                          },
                          {
                            "type": "Job",
                            "id": "28"
                          }
                        ]
                      }
                    },
                    "links": {
                      "self": "/{URL ROOT}/api/v1/invoices/1234"
                    }
                  },
                  "included": [
                    {
                      "type": "CardFile",
                      "id": "12458",
                      "attributes": {
                        "cardNo": 12458,
                        "cardCode": "ACME",
                        "contact": "Jane Smith",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "53 004 085 616",
                        "aCN": "004 085 616",
                        "shipVia": "Courier Express",
                        "shipAmount": 25.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-44821",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "accFeePerc": 2.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "12458-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "9001"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "12457",
                      "attributes": {
                        "cardNo": 12457,
                        "cardCode": "STAFF.JB",
                        "contact": "Joe Bloggs",
                        "name": "Joe Bloggs",
                        "aBN": "51 824 753 556",
                        "aCN": "824 753 556",
                        "shipVia": "Australia Post",
                        "shipAmount": 12.5,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "14 Days",
                          "priceLevel": "Wholesale",
                          "custPONo": "PO-STAFF-01",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 10000.0,
                          "accFeePerc": 1.5,
                          "bPayRefNo": "9876543210",
                          "backorder": "No Part Ship (Supply requested Quantity)",
                          "requiredDays": 14,
                          "requiredHours": 8,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Ship",
                          "sendStatementVia": "Email & Print",
                          "sendInvVia": "Email & Print",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 2,
                              "name": "Internal Staff"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "12457-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "9001"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Invoice for the invno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of user,customer",
            "required": true
          }
        ]
      }
    },
    "/api/v1/assets": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Asset",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "AssetCode": {
                              "type": "string",
                              "description": "The asset code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The asset's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The asset's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the asset."
                            },
                            "ReqDays": null,
                            "ReqHours": null,
                            "SerialNo": {
                              "type": "string",
                              "description": "The asset's serial number."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the asset came in, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The date the asset went out, as an ISO date."
                            },
                            "WarDateIn": {
                              "type": "string",
                              "description": "The warranty start date, as an ISO date."
                            },
                            "WarDateOut": {
                              "type": "string",
                              "description": "The warranty end date, as an ISO date."
                            },
                            "ShipInfo": {
                              "type": "string",
                              "description": "Shipping information for the asset."
                            },
                            "UseShipAddr": {
                              "type": "boolean",
                              "description": "Whether to use the ship address for the asset."
                            },
                            "ShipComment": {
                              "type": "string",
                              "description": "A shipping comment for the asset."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "Attn": {
                              "type": "string",
                              "description": "The request contact (attention) name."
                            },
                            "RequestByName": {
                              "type": "string",
                              "description": "The name of the page request the asset was requested by."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "A general comment on the asset."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "EKMRequestThresholdOverrideNo": {
                              "type": "integer",
                              "description": "The EKM request threshold override number."
                            },
                            "EKMStatusCode": {
                              "type": "string",
                              "description": "The EKM status code."
                            },
                            "CostCentre": {
                              "type": "string",
                              "description": "The cost centre."
                            },
                            "CostValue": {
                              "type": "number",
                              "description": "The cost value."
                            },
                            "Groups": null
                          },
                          "required": [
                            "AssetCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "ReqDays",
                            "ReqHours",
                            "SerialNo",
                            "DateIn",
                            "DateOut",
                            "WarDateIn",
                            "WarDateOut",
                            "ShipInfo",
                            "UseShipAddr",
                            "ShipComment",
                            "ItemDesc",
                            "Attn",
                            "RequestByName",
                            "Comment",
                            "CompanyCode",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "EKMStatusCode",
                            "CostCentre",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "request": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10",
                      "type": "Asset",
                      "attributes": {
                        "assetCode": "MCH.C3",
                        "priority": "Normal",
                        "status": "Booked",
                        "custRef": "CR-MCH-C3",
                        "reqDays": 7,
                        "reqHours": 2,
                        "serialNo": "7-1234ABC-MCHC3",
                        "dateIn": "2025-10-03",
                        "dateOut": "2026-10-02",
                        "warDateIn": "2025-10-03",
                        "warDateOut": "2027-10-02",
                        "shipInfo": "Acme Corporation Pty Ltd\r\n12 Industrial Ave\r\nCHATSWOOD NSW 2067",
                        "useShipAddr": true,
                        "shipComment": "Deliver to loading dock B before 3pm.",
                        "itemDesc": "MultiFunction Centre Type 2",
                        "attn": "Jane Smith",
                        "requestByName": "Acme Service Desk",
                        "comment": "Unit under full service contract.",
                        "companyCode": "HAPPEN",
                        "BranchCode": "SYD",
                        "SubBranchCode": "SYD-NORTH",
                        "GLDeptCode": "SERVICE",
                        "eKMRequestThresholdOverrideNo": 250,
                        "eKMStatusCode": "ACTIVE",
                        "costCentre": "CC-100",
                        "costValue": 4250.0,
                        "groups": [
                          {
                            "type": "Region",
                            "id": 1,
                            "name": "East Coast"
                          }
                        ]
                      },
                      "relationships": {
                        "owner": {
                          "data": {
                            "type": "CardFile",
                            "id": "6"
                          }
                        },
                        "ship": {
                          "data": {
                            "type": "CardFile",
                            "id": "6"
                          }
                        },
                        "item": {
                          "data": {
                            "type": "Item",
                            "id": "6"
                          }
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "name": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "request": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      },
                      "links": {
                        "self": "/jim_webapi/api/v1/assets/10"
                      }
                    },
                    {
                      "id": "11",
                      "type": "Asset",
                      "attributes": {
                        "assetCode": "PMP.A1",
                        "status": "In Service"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Asset",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of owner,ship,accountManager,name,item,request",
            "required": true
          }
        ]
      },
      "post": {
        "description": "Creates a Asset",
        "requestBody": {
          "description": "The Asset",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "AssetCode": {
                            "type": "string",
                            "description": "The asset code."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The asset's priority."
                          },
                          "Status": {
                            "type": "string",
                            "description": "The asset's status."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the asset."
                          },
                          "ReqDays": null,
                          "ReqHours": null,
                          "SerialNo": {
                            "type": "string",
                            "description": "The asset's serial number."
                          },
                          "DateIn": {
                            "type": "string",
                            "description": "The date the asset came in, as an ISO date."
                          },
                          "DateOut": {
                            "type": "string",
                            "description": "The date the asset went out, as an ISO date."
                          },
                          "WarDateIn": {
                            "type": "string",
                            "description": "The warranty start date, as an ISO date."
                          },
                          "WarDateOut": {
                            "type": "string",
                            "description": "The warranty end date, as an ISO date."
                          },
                          "ShipInfo": {
                            "type": "string",
                            "description": "Shipping information for the asset."
                          },
                          "UseShipAddr": {
                            "type": "boolean",
                            "description": "Whether to use the ship address for the asset."
                          },
                          "ShipComment": {
                            "type": "string",
                            "description": "A shipping comment for the asset."
                          },
                          "ItemDesc": {
                            "type": "string",
                            "description": "The item description."
                          },
                          "Attn": {
                            "type": "string",
                            "description": "The request contact (attention) name."
                          },
                          "RequestByName": {
                            "type": "string",
                            "description": "The name of the page request the asset was requested by."
                          },
                          "Comment": {
                            "type": "string",
                            "description": "A general comment on the asset."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "EKMRequestThresholdOverrideNo": {
                            "type": "integer",
                            "description": "The EKM request threshold override number."
                          },
                          "EKMStatusCode": {
                            "type": "string",
                            "description": "The EKM status code."
                          },
                          "CostCentre": {
                            "type": "string",
                            "description": "The cost centre."
                          },
                          "CostValue": {
                            "type": "number",
                            "description": "The cost value."
                          },
                          "Groups": null
                        },
                        "required": [
                          "AssetCode",
                          "Priority",
                          "Status",
                          "CustRef",
                          "ReqDays",
                          "ReqHours",
                          "SerialNo",
                          "DateIn",
                          "DateOut",
                          "WarDateIn",
                          "WarDateOut",
                          "ShipInfo",
                          "UseShipAddr",
                          "ShipComment",
                          "ItemDesc",
                          "Attn",
                          "RequestByName",
                          "Comment",
                          "CompanyCode",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "EKMStatusCode",
                          "CostCentre",
                          "Groups"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "owner": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "item": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "request": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Asset",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "AssetCode": {
                              "type": "string",
                              "description": "The asset code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The asset's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The asset's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the asset."
                            },
                            "ReqDays": null,
                            "ReqHours": null,
                            "SerialNo": {
                              "type": "string",
                              "description": "The asset's serial number."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the asset came in, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The date the asset went out, as an ISO date."
                            },
                            "WarDateIn": {
                              "type": "string",
                              "description": "The warranty start date, as an ISO date."
                            },
                            "WarDateOut": {
                              "type": "string",
                              "description": "The warranty end date, as an ISO date."
                            },
                            "ShipInfo": {
                              "type": "string",
                              "description": "Shipping information for the asset."
                            },
                            "UseShipAddr": {
                              "type": "boolean",
                              "description": "Whether to use the ship address for the asset."
                            },
                            "ShipComment": {
                              "type": "string",
                              "description": "A shipping comment for the asset."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "Attn": {
                              "type": "string",
                              "description": "The request contact (attention) name."
                            },
                            "RequestByName": {
                              "type": "string",
                              "description": "The name of the page request the asset was requested by."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "A general comment on the asset."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "EKMRequestThresholdOverrideNo": {
                              "type": "integer",
                              "description": "The EKM request threshold override number."
                            },
                            "EKMStatusCode": {
                              "type": "string",
                              "description": "The EKM status code."
                            },
                            "CostCentre": {
                              "type": "string",
                              "description": "The cost centre."
                            },
                            "CostValue": {
                              "type": "number",
                              "description": "The cost value."
                            },
                            "Groups": null
                          },
                          "required": [
                            "AssetCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "ReqDays",
                            "ReqHours",
                            "SerialNo",
                            "DateIn",
                            "DateOut",
                            "WarDateIn",
                            "WarDateOut",
                            "ShipInfo",
                            "UseShipAddr",
                            "ShipComment",
                            "ItemDesc",
                            "Attn",
                            "RequestByName",
                            "Comment",
                            "CompanyCode",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "EKMStatusCode",
                            "CostCentre",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "request": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/assets/{assetno}": {
      "parameters": [
        {
          "name": "assetno",
          "in": "path",
          "description": "The Asset identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Asset",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "AssetCode": {
                              "type": "string",
                              "description": "The asset code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The asset's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The asset's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the asset."
                            },
                            "ReqDays": null,
                            "ReqHours": null,
                            "SerialNo": {
                              "type": "string",
                              "description": "The asset's serial number."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the asset came in, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The date the asset went out, as an ISO date."
                            },
                            "WarDateIn": {
                              "type": "string",
                              "description": "The warranty start date, as an ISO date."
                            },
                            "WarDateOut": {
                              "type": "string",
                              "description": "The warranty end date, as an ISO date."
                            },
                            "ShipInfo": {
                              "type": "string",
                              "description": "Shipping information for the asset."
                            },
                            "UseShipAddr": {
                              "type": "boolean",
                              "description": "Whether to use the ship address for the asset."
                            },
                            "ShipComment": {
                              "type": "string",
                              "description": "A shipping comment for the asset."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "Attn": {
                              "type": "string",
                              "description": "The request contact (attention) name."
                            },
                            "RequestByName": {
                              "type": "string",
                              "description": "The name of the page request the asset was requested by."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "A general comment on the asset."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "EKMRequestThresholdOverrideNo": {
                              "type": "integer",
                              "description": "The EKM request threshold override number."
                            },
                            "EKMStatusCode": {
                              "type": "string",
                              "description": "The EKM status code."
                            },
                            "CostCentre": {
                              "type": "string",
                              "description": "The cost centre."
                            },
                            "CostValue": {
                              "type": "number",
                              "description": "The cost value."
                            },
                            "Groups": null
                          },
                          "required": [
                            "AssetCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "ReqDays",
                            "ReqHours",
                            "SerialNo",
                            "DateIn",
                            "DateOut",
                            "WarDateIn",
                            "WarDateOut",
                            "ShipInfo",
                            "UseShipAddr",
                            "ShipComment",
                            "ItemDesc",
                            "Attn",
                            "RequestByName",
                            "Comment",
                            "CompanyCode",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "EKMStatusCode",
                            "CostCentre",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "request": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10",
                    "type": "Asset",
                    "attributes": {
                      "assetCode": "MCH.C3",
                      "priority": "Normal",
                      "status": "Booked",
                      "custRef": "CR-MCH-C3",
                      "reqDays": 7,
                      "reqHours": 2,
                      "serialNo": "7-1234ABC-MCHC3",
                      "dateIn": "2025-10-03",
                      "dateOut": "2026-10-02",
                      "warDateIn": "2025-10-03",
                      "warDateOut": "2027-10-02",
                      "shipInfo": "Acme Corporation Pty Ltd\r\n12 Industrial Ave\r\nCHATSWOOD NSW 2067",
                      "useShipAddr": true,
                      "shipComment": "Deliver to loading dock B before 3pm.",
                      "itemDesc": "MultiFunction Centre Type 2",
                      "attn": "Jane Smith",
                      "requestByName": "Acme Service Desk",
                      "comment": "Unit under full service contract.",
                      "companyCode": "HAPPEN",
                      "BranchCode": "SYD",
                      "SubBranchCode": "SYD-NORTH",
                      "GLDeptCode": "SERVICE",
                      "eKMRequestThresholdOverrideNo": 250,
                      "eKMStatusCode": "ACTIVE",
                      "costCentre": "CC-100",
                      "costValue": 4250.0,
                      "groups": [
                        {
                          "type": "Region",
                          "id": 1,
                          "name": "East Coast"
                        }
                      ]
                    },
                    "relationships": {
                      "owner": {
                        "data": {
                          "type": "CardFile",
                          "id": "6"
                        }
                      },
                      "ship": {
                        "data": {
                          "type": "CardFile",
                          "id": "6"
                        }
                      },
                      "item": {
                        "data": {
                          "type": "Item",
                          "id": "6"
                        }
                      },
                      "accountManager": {
                        "data": {
                          "type": "CardFile",
                          "id": "16"
                        }
                      },
                      "name": {
                        "data": {
                          "type": "CardFile",
                          "id": "16"
                        }
                      },
                      "request": {
                        "data": {
                          "type": "CardFile",
                          "id": "7"
                        }
                      }
                    },
                    "links": {
                      "self": "/jim_webapi/api/v1/assets/10"
                    }
                  },
                  "included": [
                    {
                      "type": "CardFile",
                      "id": "6",
                      "attributes": {
                        "cardNo": 6,
                        "cardCode": "ACME",
                        "contact": "Jane Smith",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "51 824 753 556",
                        "aCN": "824 753 556",
                        "shipVia": "Courier Express",
                        "shipAmount": 15.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SERVICE",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-ACME-4471",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "accFeePerc": 1.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 30,
                          "requiredHours": 4,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "6-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "16",
                      "attributes": {
                        "cardNo": 16,
                        "cardCode": "STAFF.AM",
                        "contact": "Alex Manager",
                        "name": "Alex Manager",
                        "aBN": "",
                        "aCN": "",
                        "shipVia": "",
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-AM-001",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 10000.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": "9900112233",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "16-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "7",
                      "attributes": {
                        "cardNo": 7,
                        "cardCode": "ACME.SVC",
                        "contact": "Service Desk",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "",
                        "aCN": "",
                        "shipVia": "",
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SERVICE",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-ACME-SVC-01",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 25000.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": "5566778899",
                          "backorder": "Allow Backorders",
                          "requiredDays": 14,
                          "requiredHours": 0,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "7-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        }
                      }
                    },
                    {
                      "type": "Item",
                      "id": "6",
                      "attributes": {
                        "ItemCode": "MFC.TYPE2",
                        "Description": "MultiFunction Centre Type 2"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Asset for the assetno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of owner,ship,accountManager,name,item,request",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the Asset for the assetno parameter provided",
        "requestBody": {
          "description": "The Asset",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "AssetCode": {
                            "type": "string",
                            "description": "The asset code."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The asset's priority."
                          },
                          "Status": {
                            "type": "string",
                            "description": "The asset's status."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the asset."
                          },
                          "ReqDays": null,
                          "ReqHours": null,
                          "SerialNo": {
                            "type": "string",
                            "description": "The asset's serial number."
                          },
                          "DateIn": {
                            "type": "string",
                            "description": "The date the asset came in, as an ISO date."
                          },
                          "DateOut": {
                            "type": "string",
                            "description": "The date the asset went out, as an ISO date."
                          },
                          "WarDateIn": {
                            "type": "string",
                            "description": "The warranty start date, as an ISO date."
                          },
                          "WarDateOut": {
                            "type": "string",
                            "description": "The warranty end date, as an ISO date."
                          },
                          "ShipInfo": {
                            "type": "string",
                            "description": "Shipping information for the asset."
                          },
                          "UseShipAddr": {
                            "type": "boolean",
                            "description": "Whether to use the ship address for the asset."
                          },
                          "ShipComment": {
                            "type": "string",
                            "description": "A shipping comment for the asset."
                          },
                          "ItemDesc": {
                            "type": "string",
                            "description": "The item description."
                          },
                          "Attn": {
                            "type": "string",
                            "description": "The request contact (attention) name."
                          },
                          "RequestByName": {
                            "type": "string",
                            "description": "The name of the page request the asset was requested by."
                          },
                          "Comment": {
                            "type": "string",
                            "description": "A general comment on the asset."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "EKMRequestThresholdOverrideNo": {
                            "type": "integer",
                            "description": "The EKM request threshold override number."
                          },
                          "EKMStatusCode": {
                            "type": "string",
                            "description": "The EKM status code."
                          },
                          "CostCentre": {
                            "type": "string",
                            "description": "The cost centre."
                          },
                          "CostValue": {
                            "type": "number",
                            "description": "The cost value."
                          },
                          "Groups": null
                        },
                        "required": [
                          "AssetCode",
                          "Priority",
                          "Status",
                          "CustRef",
                          "ReqDays",
                          "ReqHours",
                          "SerialNo",
                          "DateIn",
                          "DateOut",
                          "WarDateIn",
                          "WarDateOut",
                          "ShipInfo",
                          "UseShipAddr",
                          "ShipComment",
                          "ItemDesc",
                          "Attn",
                          "RequestByName",
                          "Comment",
                          "CompanyCode",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "EKMStatusCode",
                          "CostCentre",
                          "Groups"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "owner": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "item": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "request": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Asset",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "AssetCode": {
                              "type": "string",
                              "description": "The asset code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The asset's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The asset's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the asset."
                            },
                            "ReqDays": null,
                            "ReqHours": null,
                            "SerialNo": {
                              "type": "string",
                              "description": "The asset's serial number."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the asset came in, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The date the asset went out, as an ISO date."
                            },
                            "WarDateIn": {
                              "type": "string",
                              "description": "The warranty start date, as an ISO date."
                            },
                            "WarDateOut": {
                              "type": "string",
                              "description": "The warranty end date, as an ISO date."
                            },
                            "ShipInfo": {
                              "type": "string",
                              "description": "Shipping information for the asset."
                            },
                            "UseShipAddr": {
                              "type": "boolean",
                              "description": "Whether to use the ship address for the asset."
                            },
                            "ShipComment": {
                              "type": "string",
                              "description": "A shipping comment for the asset."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "Attn": {
                              "type": "string",
                              "description": "The request contact (attention) name."
                            },
                            "RequestByName": {
                              "type": "string",
                              "description": "The name of the page request the asset was requested by."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "A general comment on the asset."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "EKMRequestThresholdOverrideNo": {
                              "type": "integer",
                              "description": "The EKM request threshold override number."
                            },
                            "EKMStatusCode": {
                              "type": "string",
                              "description": "The EKM status code."
                            },
                            "CostCentre": {
                              "type": "string",
                              "description": "The cost centre."
                            },
                            "CostValue": {
                              "type": "number",
                              "description": "The cost value."
                            },
                            "Groups": null
                          },
                          "required": [
                            "AssetCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "ReqDays",
                            "ReqHours",
                            "SerialNo",
                            "DateIn",
                            "DateOut",
                            "WarDateIn",
                            "WarDateOut",
                            "ShipInfo",
                            "UseShipAddr",
                            "ShipComment",
                            "ItemDesc",
                            "Attn",
                            "RequestByName",
                            "Comment",
                            "CompanyCode",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "EKMStatusCode",
                            "CostCentre",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "request": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/token": {
      "post": {
        "description": "The API is based on OAuth authentication. At the time of writing the only authentication grant supported is Client Crendtials.\r\nThe following scopes are supported:<br>\r\n<ul>\r\n    <li>api - this will require an api licence</li>\r\n    <li>view - If this is the only scope specified a licence count is not required, however, no modifications to Jim2 objects will be allowed.</li>\r\n</ul>\r\nIf a scope is not specified the default is 'all' and full user licence will be required.\r\nThe refresh token has an expiry time of 20 minutes, and can be extended by requesting a new access token. Note that while the refresh token is valid a licenced user session is held by Jim2Server. Authentication will also fail if there are no available licences (unless only scope view is specified).\r\nCredentials may be passed within the request body (ie specifying) using the client_id and client_secret parameters) or using HTTP Basic BASIC authentication scheme (ie. specifying the user credentials in the Authorization HTTP header).<br>\r\nIf the caller wants to release a licence prior to the token timing out the calller will need to logoff.  See documentation for the logoff endpoint.\r\n<p><b>Example C# OAuth client_credentials call</b></p>\r\n<code>\r\n<pre>\r\n            WebRequest req = WebRequest.Create( \"http://localhost:80/Jim_Test/token\" );\r\n            req.Method = \"POST\";\r\n\r\n            // the user:password string for HTTP Basic authorisation \r\n            // - user is the OAuth clientid (configured in the client id to use initial mapping) \r\n            // - password is the OAuth secret (the secret is the user cardfile's password)\r\n            string sTemp = \"TestClientId:password\";\r\n            string sEncoded;\r\n            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())\r\n            {\r\n                System.IO.StreamWriter writer = new System.IO.StreamWriter( ms );\r\n                writer.Write( sTemp );\r\n                writer.Flush();\r\n                sEncoded = System.Convert.ToBase64String( ms.ToArray() );\r\n            }\r\n            req.Headers.Add( \"Authorization\", \"Basic \" + sEncoded );\r\n\r\n            // the OAuth client credentials grant requires a form encoded request\r\n            // NB: you can specify the client_id and client_secret in the form body as an alternative\r\n            // to using the HTTP Authorization header as per above\r\n            req.ContentType = \"application/x-www-form-urlencoded\";\r\n\r\n            using (var str = req.GetRequestStream())\r\n            {\r\n                using (var writer = new System.IO.StreamWriter( str ))\r\n                {\r\n                    writer.Write( \"grant_type=client_credentials\" );\r\n                    // per comments above, readonly and no licence count taken\r\n                    writer.Write( \"&scope=view\" );\r\n                }\r\n            }\r\n\r\n            /* \r\n               NOTE: \r\n               we recommend using the System.Net.Http.FormUrlEncodedContent class to build\r\n               the request content if you are using the System.Net.Http.HttpClient class\r\n               to manage your web api calls.\r\n\r\n              Dictionary<string, string> values = new Dictionary<string, string>(CustomFormValues);\r\n              values.Add( \"client_id\", m_sClient_id );\r\n              values.Add( \"client_secret\", m_sSecret );\r\n              if (!string.IsNullOrEmpty( scopes ))\r\n              {\r\n                  values.Add( \"scope\", scopes );\r\n              }\r\n              values.Add( \"grant_type\", \"client_credentials\" );\r\n\r\n              HttpContent content = new FormUrlEncodedContent( values );\r\n              var resp = await httpClient.PostAsync( TokenUrl, content );\r\n            */\r\n\r\n            var resp = req.GetResponse();\r\n            using (var strResp = resp.GetResponseStream())\r\n            {\r\n                using (var reader = new System.IO.StreamReader( strResp ))\r\n                {\r\n                    string sResponse = reader.ReadToEnd();\r\n                    // parse the tokens from the JSON response\r\n                    RecvAccessToken rat = Newtonsoft.Json.JsonConvert.DeserializeObject( sResponse );\r\n                    sAccessToken = rat.access_token;\r\n                    sRefreshToken = rat.refresh_token;\r\n                    // you also look at rat.expires_in so you can cache the token appropriately, or logoff\r\n                }\r\n            }\r\n</pre>\r\n</code>"
      }
    },
    "/api/v1/logoff": {
      "post": {
        "description": "Allows a caller to logoff an session established via OAuth authentication. "
      }
    },
    "/api/v1/cardfilecreate": {
      "post": {
        "description": "Creates a new CardFile. Use this endpoint as a simple means of creating a CardFile",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cardCode": {
                    "type": "string",
                    "description": "The cardCode can be left out or set to blank in which case Jim2 will attempt to generate a suitable cardCode from the provided name.  Refer to the response."
                  },
                  "name": {
                    "type": "string",
                    "description": "The card file name."
                  },
                  "contact": {
                    "type": "string",
                    "description": "The primary contact name on the card."
                  },
                  "customer": {
                    "type": "object",
                    "properties": {
                      "terms": {
                        "type": "string",
                        "description": "The customer's payment terms code."
                      },
                      "priceLevel": {
                        "type": "string",
                        "description": "NOTE: if the card file being created is to be a customer and a prospect, then card file's the priceLevel can be set in the\r\ncustomer or the prospect objects or both.  If in both the MUST be the same or the call will fail."
                      },
                      "creditLimit": {
                        "type": "number",
                        "description": "The customer's credit limit."
                      }
                    },
                    "description": "The presence of this object indicates if the card file is a customer card file or not.  If no values within this object are required (eg terms) but the card file is to be a customer then this object must be included even though it can be left empty.  If the card file is not a customer cardfile then this object should be left out (preferred) or set to null"
                  },
                  "prospect": {
                    "type": "object",
                    "properties": {
                      "priceLevel": {
                        "type": "string",
                        "description": "NOTE: if the card file being created is to be a customer and a prospect, then card file's the priceLevel can be set in the\r\ncustomer or the prospect objects or both.  If in both the MUST be the same or the call will fail."
                      }
                    },
                    "description": "The presence of this object indicates whether the card file is a prospect.  If no values within this object are required but the card file is to be a prospect then this object must be included even though it can be left empty.  If the card file is not a prospect then this object should be left out (preferred) or set to null."
                  },
                  "ship": {
                    "type": "boolean",
                    "description": "When this is set to true, the CardFile created will be ticked as a ship CardFile."
                  },
                  "address": {
                    "type": "object",
                    "properties": {
                      "isAddressResidential": {
                        "type": "boolean",
                        "description": "Whether the address is residential."
                      },
                      "streetAddress": {
                        "type": "string",
                        "description": "The street address."
                      },
                      "suburb": {
                        "type": "string",
                        "description": "The suburb."
                      },
                      "state": {
                        "type": "string",
                        "description": "The state."
                      },
                      "postCode": {
                        "type": "string",
                        "description": "The post code."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country."
                      }
                    },
                    "description": "The card file's main (postal) address."
                  },
                  "deliveryAddress": {
                    "type": "object",
                    "properties": {
                      "isAddressResidential": {
                        "type": "boolean",
                        "description": "Whether the address is residential."
                      },
                      "streetAddress": {
                        "type": "string",
                        "description": "The street address."
                      },
                      "suburb": {
                        "type": "string",
                        "description": "The suburb."
                      },
                      "state": {
                        "type": "string",
                        "description": "The state."
                      },
                      "postCode": {
                        "type": "string",
                        "description": "The post code."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country."
                      }
                    },
                    "description": "The card file's delivery (ship-to) address."
                  },
                  "ACN": {
                    "type": "string",
                    "description": "The Australian Company Number (ACN)."
                  },
                  "ABN": {
                    "type": "string",
                    "description": "The Australian Business Number (ABN)."
                  },
                  "contacts": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "primary": {
                          "type": "boolean",
                          "description": "Only one contact can be primary.  If more than one contact is set as primary the last primary contact processed will be the primary contact."
                        },
                        "title": {
                          "type": "string",
                          "description": "The contact's title (e.g. Mr, Ms)."
                        },
                        "firstName": {
                          "type": "string",
                          "description": "The contact's first name."
                        },
                        "middleName": {
                          "type": "string",
                          "description": "The contact's middle name."
                        },
                        "lastName": {
                          "type": "string",
                          "description": "The contact's last name."
                        },
                        "displayName": {
                          "type": "string",
                          "description": "The contact display name.  If not specified this will be generated from the firstName and secondName (refer to behaviour in Jim2 when editing a card file contact)."
                        },
                        "jobTitle": {
                          "type": "string",
                          "description": "The contact's job title."
                        },
                        "department": {
                          "type": "string",
                          "description": "The contact's department."
                        },
                        "dob": {
                          "type": "string",
                          "description": "Must be in ISO date format (eg \"1995-12-31\")."
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "description": "The type of contact detail, for example EMail, Phone, Fax"
                              },
                              "value": {
                                "type": "string",
                                "description": "The contact detail value."
                              },
                              "comment": {
                                "type": "string",
                                "description": "A comment for the contact detail."
                              }
                            },
                            "required": [
                              "type",
                              "value"
                            ]
                          }
                        },
                        "webAccount": {
                          "type": "object",
                          "properties": {
                            "enabled": {
                              "type": "boolean",
                              "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                            },
                            "logonId": {
                              "type": "string",
                              "description": "The logon id for the contact must be unique."
                            },
                            "password": {
                              "type": "string",
                              "description": "If not provided Jim2 will automatically generate a password for the contact."
                            }
                          },
                          "required": [
                            "logonId"
                          ],
                          "description": "Supply this if the contact is to have a web account setup - leave this out or set to null if the contact is not to have a web account."
                        }
                      }
                    },
                    "description": "The contacts to add to the card file.  If no contacts are supplied an empty primary contact is created."
                  },
                  "groups": {
                    "type": "object",
                    "properties": {
                      "region": {
                        "type": "string",
                        "description": "The region group name."
                      },
                      "rl1": {
                        "type": "string",
                        "description": "The group name at reporting level 1."
                      },
                      "rl2": {
                        "type": "string",
                        "description": "The group name at reporting level 2."
                      },
                      "rl3": {
                        "type": "string",
                        "description": "The group name at reporting level 3."
                      },
                      "rl4": {
                        "type": "string",
                        "description": "The group name at reporting level 4."
                      },
                      "rl5": {
                        "type": "string",
                        "description": "The group name at reporting level 5."
                      },
                      "nonRL": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "An array of group names that are not reporting-level groups."
                      }
                    },
                    "description": "The reporting-level and other groups to assign to the card file."
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code.  Branches must be enabled."
                  },
                  "subBranch": {
                    "type": "string",
                    "description": "The sub-branch code.  Sub-branches must be enabled.  Note that in the UI sub-branches may be renamed."
                  },
                  "glDept": {
                    "type": "string",
                    "description": "The GL department code.  GL departments must be enabled."
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cardNo": {
                      "type": "integer",
                      "description": "The number of the created card file."
                    },
                    "cardCode": {
                      "type": "string",
                      "description": "The cardCode - this can be useful if a cardCode was not included in the request in which case this will be the generated code, otherwise this will be the cardCode provided in the request."
                    }
                  },
                  "required": [
                    "cardNo",
                    "cardCode"
                  ]
                },
                "example": "{\r\n  \"cardNo\":  1234,\r\n  \"cardCode\": \"EXAMPLE1\"\r\n}\r\n"
              }
            }
          }
        }
      }
    },
    "/api/v1/cardfilereport/{cardno}": {
      "get": {
        "description": "Returns the CardFile report.Custom URL query params will be sent to the report",
        "parameters": [
          {
            "name": "reportname",
            "in": "query",
            "description": "The report name to use.  Default report can be defined using the global variable WEBAPI_DefaultCardFileReport.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested CardFile report",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/cardfiles": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The CardFile",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "cardNo": {
                              "type": "integer",
                              "description": "The card file number (unique identifier for the card)."
                            },
                            "CardCode": {
                              "type": "string",
                              "description": "The card code."
                            },
                            "Contact": {
                              "type": "string",
                              "description": "The primary contact name on the card."
                            },
                            "name": {
                              "type": "string",
                              "description": "The card file name."
                            },
                            "ABN": {
                              "type": "string",
                              "description": "The Australian Business Number (ABN)."
                            },
                            "ACN": {
                              "type": "string",
                              "description": "The Australian Company Number (ACN)."
                            },
                            "ShipVia": {
                              "type": "string",
                              "description": "The customer's default ship-via (carrier/method)."
                            },
                            "ShipAmount": {
                              "type": "number",
                              "description": "The customer's default freight amount."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Customer": {
                              "type": "object",
                              "properties": {
                                "Terms": {
                                  "type": "string",
                                  "description": "The customer's payment terms code."
                                },
                                "PriceLevel": {
                                  "type": "string",
                                  "description": "The customer's price level description."
                                },
                                "CustPONo": {
                                  "type": "string",
                                  "description": "The customer's standing purchase-order number."
                                },
                                "CurrencyCode": {
                                  "type": "string",
                                  "description": "The customer's currency code."
                                },
                                "CreditHold": {
                                  "type": "string",
                                  "description": "The customer's credit-hold state, e.g. OFF( Auto ) / ON( Auto ) / ON( Manual )."
                                },
                                "CreditLimit": {
                                  "type": "number",
                                  "description": "The customer's credit limit."
                                },
                                "AccFeePerc": {
                                  "type": "number",
                                  "description": "The customer's account fee percentage."
                                },
                                "BPayRefNo": {
                                  "type": "string",
                                  "description": "The customer's BPay reference number."
                                },
                                "Backorder": {
                                  "type": "string",
                                  "description": "The customer's backorder preference: Allow Backorders / No Backorders (Supply Available) / No Part Ship."
                                },
                                "RequiredDays": {
                                  "type": "integer",
                                  "description": "The default number of days until due for the customer."
                                },
                                "RequiredHours": {
                                  "type": "integer",
                                  "description": "The default number of hours until due for the customer."
                                },
                                "TaxPaid": {
                                  "type": "boolean",
                                  "description": "Whether the customer pays tax."
                                },
                                "TaxExclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-exclusive (wholesale) sales."
                                },
                                "TaxInclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-inclusive (retail) sales."
                                },
                                "BatchInvGroupBy": {
                                  "type": "string",
                                  "description": "How batch invoices are grouped for the customer: Customer / Ship / Project / Master Project / Don't Group / Customer Ref."
                                },
                                "SendStatementVia": {
                                  "type": "string",
                                  "description": "How statements are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "SendInvVia": {
                                  "type": "string",
                                  "description": "How invoices are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "Groups": null
                              },
                              "required": [
                                "Terms",
                                "PriceLevel",
                                "CustPONo",
                                "CurrencyCode",
                                "CreditHold",
                                "CreditLimit",
                                "AccFeePerc",
                                "BPayRefNo",
                                "Backorder",
                                "TaxPaid",
                                "TaxExclCode",
                                "TaxInclCode",
                                "BatchInvGroupBy",
                                "SendStatementVia",
                                "SendInvVia",
                                "Groups"
                              ],
                              "description": "Customer (debtor) account settings held against the card."
                            },
                            "address": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's main (billing) address."
                            },
                            "delAddress": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's delivery address."
                            }
                          },
                          "required": [
                            "cardNo",
                            "CardCode",
                            "Contact",
                            "name",
                            "ABN",
                            "ACN",
                            "ShipVia",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Customer",
                            "address",
                            "delAddress"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contacts": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "parent": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10",
                      "type": "CardFile",
                      "attributes": {
                        "cardNo": 10,
                        "cardCode": "ACME",
                        "contact": "Jane Smith",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "53 004 085 616",
                        "aCN": "004 085 616",
                        "shipVia": "Courier Express",
                        "shipAmount": 25.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-44821",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "accFeePerc": 2.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "10-1"
                            },
                            {
                              "type": "CardFileContact",
                              "id": "10-2"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "2"
                          }
                        }
                      },
                      "links": {
                        "self": "/api/v1/cardfiles/10"
                      }
                    },
                    {
                      "id": "11",
                      "type": "CardFile",
                      "attributes": {
                        "cardCode": "RIVERSIDE",
                        "name": "Riverside Manufacturing Co"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the CardFile",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of accountManager,parent",
            "required": true
          }
        ]
      }
    },
    "/api/v1/cardfiles/{cardno}": {
      "parameters": [
        {
          "name": "cardno",
          "in": "path",
          "description": "The CardFile identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The CardFile",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "cardNo": {
                              "type": "integer",
                              "description": "The card file number (unique identifier for the card)."
                            },
                            "CardCode": {
                              "type": "string",
                              "description": "The card code."
                            },
                            "Contact": {
                              "type": "string",
                              "description": "The primary contact name on the card."
                            },
                            "name": {
                              "type": "string",
                              "description": "The card file name."
                            },
                            "ABN": {
                              "type": "string",
                              "description": "The Australian Business Number (ABN)."
                            },
                            "ACN": {
                              "type": "string",
                              "description": "The Australian Company Number (ACN)."
                            },
                            "ShipVia": {
                              "type": "string",
                              "description": "The customer's default ship-via (carrier/method)."
                            },
                            "ShipAmount": {
                              "type": "number",
                              "description": "The customer's default freight amount."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Customer": {
                              "type": "object",
                              "properties": {
                                "Terms": {
                                  "type": "string",
                                  "description": "The customer's payment terms code."
                                },
                                "PriceLevel": {
                                  "type": "string",
                                  "description": "The customer's price level description."
                                },
                                "CustPONo": {
                                  "type": "string",
                                  "description": "The customer's standing purchase-order number."
                                },
                                "CurrencyCode": {
                                  "type": "string",
                                  "description": "The customer's currency code."
                                },
                                "CreditHold": {
                                  "type": "string",
                                  "description": "The customer's credit-hold state, e.g. OFF( Auto ) / ON( Auto ) / ON( Manual )."
                                },
                                "CreditLimit": {
                                  "type": "number",
                                  "description": "The customer's credit limit."
                                },
                                "AccFeePerc": {
                                  "type": "number",
                                  "description": "The customer's account fee percentage."
                                },
                                "BPayRefNo": {
                                  "type": "string",
                                  "description": "The customer's BPay reference number."
                                },
                                "Backorder": {
                                  "type": "string",
                                  "description": "The customer's backorder preference: Allow Backorders / No Backorders (Supply Available) / No Part Ship."
                                },
                                "RequiredDays": {
                                  "type": "integer",
                                  "description": "The default number of days until due for the customer."
                                },
                                "RequiredHours": {
                                  "type": "integer",
                                  "description": "The default number of hours until due for the customer."
                                },
                                "TaxPaid": {
                                  "type": "boolean",
                                  "description": "Whether the customer pays tax."
                                },
                                "TaxExclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-exclusive (wholesale) sales."
                                },
                                "TaxInclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-inclusive (retail) sales."
                                },
                                "BatchInvGroupBy": {
                                  "type": "string",
                                  "description": "How batch invoices are grouped for the customer: Customer / Ship / Project / Master Project / Don't Group / Customer Ref."
                                },
                                "SendStatementVia": {
                                  "type": "string",
                                  "description": "How statements are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "SendInvVia": {
                                  "type": "string",
                                  "description": "How invoices are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "Groups": null
                              },
                              "required": [
                                "Terms",
                                "PriceLevel",
                                "CustPONo",
                                "CurrencyCode",
                                "CreditHold",
                                "CreditLimit",
                                "AccFeePerc",
                                "BPayRefNo",
                                "Backorder",
                                "TaxPaid",
                                "TaxExclCode",
                                "TaxInclCode",
                                "BatchInvGroupBy",
                                "SendStatementVia",
                                "SendInvVia",
                                "Groups"
                              ],
                              "description": "Customer (debtor) account settings held against the card."
                            },
                            "address": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's main (billing) address."
                            },
                            "delAddress": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's delivery address."
                            }
                          },
                          "required": [
                            "cardNo",
                            "CardCode",
                            "Contact",
                            "name",
                            "ABN",
                            "ACN",
                            "ShipVia",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Customer",
                            "address",
                            "delAddress"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contacts": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "parent": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10",
                    "type": "CardFile",
                    "attributes": {
                      "cardNo": 10,
                      "cardCode": "ACME",
                      "contact": "Jane Smith",
                      "name": "Acme Corporation Pty Ltd",
                      "aBN": "53 004 085 616",
                      "aCN": "004 085 616",
                      "shipVia": "Courier Express",
                      "shipAmount": 25.0,
                      "branchCode": "SYD",
                      "subBranchCode": "SYD-NORTH",
                      "gLDeptCode": "SALES",
                      "customer": {
                        "terms": "30 Days",
                        "priceLevel": "Retail",
                        "custPONo": "PO-44821",
                        "currencyCode": "AUD",
                        "creditHold": "OFF( Auto )",
                        "creditLimit": 50000.0,
                        "accFeePerc": 2.5,
                        "bPayRefNo": "1234567890",
                        "backorder": "Allow Backorders",
                        "requiredDays": 7,
                        "requiredHours": 0,
                        "taxPaid": false,
                        "taxExclCode": "GST",
                        "taxInclCode": "GSTINC",
                        "batchInvGroupBy": "Customer",
                        "sendStatementVia": "Email",
                        "sendInvVia": "Email",
                        "groups": [
                          {
                            "type": "Region",
                            "id": 1,
                            "name": "East Coast"
                          },
                          {
                            "type": "Industry",
                            "id": 4,
                            "name": "Manufacturing"
                          }
                        ]
                      },
                      "address": {
                        "isAddressResidential": false,
                        "streetAddress": "12 Industrial Ave",
                        "suburb": "Chatswood",
                        "state": "NSW",
                        "postCode": "2067",
                        "country": "Australia"
                      },
                      "delAddress": {
                        "isAddressResidential": false,
                        "streetAddress": "14 Industrial Ave",
                        "suburb": "Chatswood",
                        "state": "NSW",
                        "postCode": "2067",
                        "country": "Australia"
                      }
                    },
                    "relationships": {
                      "contacts": {
                        "data": [
                          {
                            "type": "CardFileContact",
                            "id": "10-1"
                          },
                          {
                            "type": "CardFileContact",
                            "id": "10-2"
                          }
                        ]
                      },
                      "accountManager": {
                        "data": {
                          "type": "CardFile",
                          "id": "16"
                        }
                      },
                      "parent": {
                        "data": {
                          "type": "CardFile",
                          "id": "2"
                        }
                      }
                    },
                    "links": {
                      "self": "/api/v1/cardfiles/10"
                    }
                  },
                  "included": [
                    {
                      "type": "CardFile",
                      "id": "16",
                      "attributes": {
                        "cardNo": 16,
                        "cardCode": "STAFF.AM",
                        "contact": "Alex Manager",
                        "name": "Alex Manager",
                        "aBN": "68 987 654 321",
                        "aCN": "987 654 321",
                        "shipVia": "Courier Express",
                        "shipAmount": 15.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Staff",
                          "custPONo": "PO-STAFF-01",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 10000.0,
                          "accFeePerc": 1.5,
                          "bPayRefNo": "9988776655",
                          "backorder": "Allow Backorders",
                          "requiredDays": 14,
                          "requiredHours": 0,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "16-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "2"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "2",
                      "attributes": {
                        "cardNo": 2,
                        "cardCode": "ACME.GROUP",
                        "contact": "Head Office",
                        "name": "Acme Group Holdings Pty Ltd",
                        "aBN": "11 222 333 444",
                        "aCN": "222 333 444",
                        "shipVia": "Own Truck",
                        "shipAmount": 40.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-GROUP-2024",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 100000.0,
                          "accFeePerc": 2.0,
                          "bPayRefNo": "1122334455",
                          "backorder": "Allow Backorders",
                          "requiredDays": 30,
                          "requiredHours": 0,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Master Project",
                          "sendStatementVia": "Email & Print",
                          "sendInvVia": "Email & Print",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            },
                            {
                              "type": "Industry",
                              "id": 4,
                              "name": "Manufacturing"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "1 Corporate Drive",
                          "suburb": "North Sydney",
                          "state": "NSW",
                          "postCode": "2060",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "1 Corporate Drive",
                          "suburb": "North Sydney",
                          "state": "NSW",
                          "postCode": "2060",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "2-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "2"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the CardFile for the cardno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of accountManager,parent",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the CardFile for the cardno parameter provided",
        "requestBody": {
          "description": "The CardFile",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "cardNo": {
                            "type": "integer",
                            "description": "The card file number (unique identifier for the card)."
                          },
                          "CardCode": {
                            "type": "string",
                            "description": "The card code."
                          },
                          "Contact": {
                            "type": "string",
                            "description": "The primary contact name on the card."
                          },
                          "name": {
                            "type": "string",
                            "description": "The card file name."
                          },
                          "ABN": {
                            "type": "string",
                            "description": "The Australian Business Number (ABN)."
                          },
                          "ACN": {
                            "type": "string",
                            "description": "The Australian Company Number (ACN)."
                          },
                          "ShipVia": {
                            "type": "string",
                            "description": "The customer's default ship-via (carrier/method)."
                          },
                          "ShipAmount": {
                            "type": "number",
                            "description": "The customer's default freight amount."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "Customer": {
                            "type": "object",
                            "properties": {
                              "Terms": {
                                "type": "string",
                                "description": "The customer's payment terms code."
                              },
                              "PriceLevel": {
                                "type": "string",
                                "description": "The customer's price level description."
                              },
                              "CustPONo": {
                                "type": "string",
                                "description": "The customer's standing purchase-order number."
                              },
                              "CurrencyCode": {
                                "type": "string",
                                "description": "The customer's currency code."
                              },
                              "CreditHold": {
                                "type": "string",
                                "description": "The customer's credit-hold state, e.g. OFF( Auto ) / ON( Auto ) / ON( Manual )."
                              },
                              "CreditLimit": {
                                "type": "number",
                                "description": "The customer's credit limit."
                              },
                              "AccFeePerc": {
                                "type": "number",
                                "description": "The customer's account fee percentage."
                              },
                              "BPayRefNo": {
                                "type": "string",
                                "description": "The customer's BPay reference number."
                              },
                              "Backorder": {
                                "type": "string",
                                "description": "The customer's backorder preference: Allow Backorders / No Backorders (Supply Available) / No Part Ship."
                              },
                              "RequiredDays": {
                                "type": "integer",
                                "description": "The default number of days until due for the customer."
                              },
                              "RequiredHours": {
                                "type": "integer",
                                "description": "The default number of hours until due for the customer."
                              },
                              "TaxPaid": {
                                "type": "boolean",
                                "description": "Whether the customer pays tax."
                              },
                              "TaxExclCode": {
                                "type": "string",
                                "description": "The tax code for tax-exclusive (wholesale) sales."
                              },
                              "TaxInclCode": {
                                "type": "string",
                                "description": "The tax code for tax-inclusive (retail) sales."
                              },
                              "BatchInvGroupBy": {
                                "type": "string",
                                "description": "How batch invoices are grouped for the customer: Customer / Ship / Project / Master Project / Don't Group / Customer Ref."
                              },
                              "SendStatementVia": {
                                "type": "string",
                                "description": "How statements are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                              },
                              "SendInvVia": {
                                "type": "string",
                                "description": "How invoices are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                              },
                              "Groups": null
                            },
                            "required": [
                              "Terms",
                              "PriceLevel",
                              "CustPONo",
                              "CurrencyCode",
                              "CreditHold",
                              "CreditLimit",
                              "AccFeePerc",
                              "BPayRefNo",
                              "Backorder",
                              "TaxPaid",
                              "TaxExclCode",
                              "TaxInclCode",
                              "BatchInvGroupBy",
                              "SendStatementVia",
                              "SendInvVia",
                              "Groups"
                            ],
                            "description": "Customer (debtor) account settings held against the card."
                          },
                          "address": {
                            "type": "object",
                            "properties": {
                              "isAddressResidential": {
                                "type": "boolean",
                                "description": "Whether the address is residential."
                              },
                              "streetAddress": {
                                "type": "string",
                                "description": "The street address."
                              },
                              "suburb": {
                                "type": "string",
                                "description": "The suburb."
                              },
                              "state": {
                                "type": "string",
                                "description": "The state."
                              },
                              "postCode": {
                                "type": "string",
                                "description": "The post code."
                              },
                              "country": {
                                "type": "string",
                                "description": "The country."
                              }
                            },
                            "required": [
                              "streetAddress",
                              "suburb",
                              "state",
                              "postCode",
                              "country"
                            ],
                            "description": "The card's main (billing) address."
                          },
                          "delAddress": {
                            "type": "object",
                            "properties": {
                              "isAddressResidential": {
                                "type": "boolean",
                                "description": "Whether the address is residential."
                              },
                              "streetAddress": {
                                "type": "string",
                                "description": "The street address."
                              },
                              "suburb": {
                                "type": "string",
                                "description": "The suburb."
                              },
                              "state": {
                                "type": "string",
                                "description": "The state."
                              },
                              "postCode": {
                                "type": "string",
                                "description": "The post code."
                              },
                              "country": {
                                "type": "string",
                                "description": "The country."
                              }
                            },
                            "required": [
                              "streetAddress",
                              "suburb",
                              "state",
                              "postCode",
                              "country"
                            ],
                            "description": "The card's delivery address."
                          }
                        },
                        "required": [
                          "cardNo",
                          "CardCode",
                          "Contact",
                          "name",
                          "ABN",
                          "ACN",
                          "ShipVia",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "Customer",
                          "address",
                          "delAddress"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "contacts": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "parent": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The CardFile",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "cardNo": {
                              "type": "integer",
                              "description": "The card file number (unique identifier for the card)."
                            },
                            "CardCode": {
                              "type": "string",
                              "description": "The card code."
                            },
                            "Contact": {
                              "type": "string",
                              "description": "The primary contact name on the card."
                            },
                            "name": {
                              "type": "string",
                              "description": "The card file name."
                            },
                            "ABN": {
                              "type": "string",
                              "description": "The Australian Business Number (ABN)."
                            },
                            "ACN": {
                              "type": "string",
                              "description": "The Australian Company Number (ACN)."
                            },
                            "ShipVia": {
                              "type": "string",
                              "description": "The customer's default ship-via (carrier/method)."
                            },
                            "ShipAmount": {
                              "type": "number",
                              "description": "The customer's default freight amount."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Customer": {
                              "type": "object",
                              "properties": {
                                "Terms": {
                                  "type": "string",
                                  "description": "The customer's payment terms code."
                                },
                                "PriceLevel": {
                                  "type": "string",
                                  "description": "The customer's price level description."
                                },
                                "CustPONo": {
                                  "type": "string",
                                  "description": "The customer's standing purchase-order number."
                                },
                                "CurrencyCode": {
                                  "type": "string",
                                  "description": "The customer's currency code."
                                },
                                "CreditHold": {
                                  "type": "string",
                                  "description": "The customer's credit-hold state, e.g. OFF( Auto ) / ON( Auto ) / ON( Manual )."
                                },
                                "CreditLimit": {
                                  "type": "number",
                                  "description": "The customer's credit limit."
                                },
                                "AccFeePerc": {
                                  "type": "number",
                                  "description": "The customer's account fee percentage."
                                },
                                "BPayRefNo": {
                                  "type": "string",
                                  "description": "The customer's BPay reference number."
                                },
                                "Backorder": {
                                  "type": "string",
                                  "description": "The customer's backorder preference: Allow Backorders / No Backorders (Supply Available) / No Part Ship."
                                },
                                "RequiredDays": {
                                  "type": "integer",
                                  "description": "The default number of days until due for the customer."
                                },
                                "RequiredHours": {
                                  "type": "integer",
                                  "description": "The default number of hours until due for the customer."
                                },
                                "TaxPaid": {
                                  "type": "boolean",
                                  "description": "Whether the customer pays tax."
                                },
                                "TaxExclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-exclusive (wholesale) sales."
                                },
                                "TaxInclCode": {
                                  "type": "string",
                                  "description": "The tax code for tax-inclusive (retail) sales."
                                },
                                "BatchInvGroupBy": {
                                  "type": "string",
                                  "description": "How batch invoices are grouped for the customer: Customer / Ship / Project / Master Project / Don't Group / Customer Ref."
                                },
                                "SendStatementVia": {
                                  "type": "string",
                                  "description": "How statements are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "SendInvVia": {
                                  "type": "string",
                                  "description": "How invoices are sent to the customer: Print / Fax / Email / Email & Print / Don't send."
                                },
                                "Groups": null
                              },
                              "required": [
                                "Terms",
                                "PriceLevel",
                                "CustPONo",
                                "CurrencyCode",
                                "CreditHold",
                                "CreditLimit",
                                "AccFeePerc",
                                "BPayRefNo",
                                "Backorder",
                                "TaxPaid",
                                "TaxExclCode",
                                "TaxInclCode",
                                "BatchInvGroupBy",
                                "SendStatementVia",
                                "SendInvVia",
                                "Groups"
                              ],
                              "description": "Customer (debtor) account settings held against the card."
                            },
                            "address": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's main (billing) address."
                            },
                            "delAddress": {
                              "type": "object",
                              "properties": {
                                "isAddressResidential": {
                                  "type": "boolean",
                                  "description": "Whether the address is residential."
                                },
                                "streetAddress": {
                                  "type": "string",
                                  "description": "The street address."
                                },
                                "suburb": {
                                  "type": "string",
                                  "description": "The suburb."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The state."
                                },
                                "postCode": {
                                  "type": "string",
                                  "description": "The post code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country."
                                }
                              },
                              "required": [
                                "streetAddress",
                                "suburb",
                                "state",
                                "postCode",
                                "country"
                              ],
                              "description": "The card's delivery address."
                            }
                          },
                          "required": [
                            "cardNo",
                            "CardCode",
                            "Contact",
                            "name",
                            "ABN",
                            "ACN",
                            "ShipVia",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Customer",
                            "address",
                            "delAddress"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contacts": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "parent": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/cardfiles/{cardno}/contacts": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The CardFileContact",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "contNo": {
                              "type": "integer",
                              "description": "The contact number (unique within the card file)."
                            },
                            "title": {
                              "type": "string",
                              "description": "The contact's title (e.g. Mr, Ms)."
                            },
                            "firstName": {
                              "type": "string",
                              "description": "The contact's first name."
                            },
                            "middleName": {
                              "type": "string",
                              "description": "The contact's middle name."
                            },
                            "lastName": {
                              "type": "string",
                              "description": "The contact's last name."
                            },
                            "displayName": {
                              "type": "string",
                              "description": "The contact's display name."
                            },
                            "jobTitle": {
                              "type": "string",
                              "description": "The contact's job title."
                            },
                            "department": {
                              "type": "string",
                              "description": "The contact's department."
                            },
                            "dob": {
                              "type": "string",
                              "description": "The contact's date of birth, as an ISO date."
                            },
                            "isPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary contact for the card file."
                            },
                            "details": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The contact detail value."
                                  },
                                  "comments": {
                                    "type": "string",
                                    "description": "Comments about the contact detail."
                                  }
                                },
                                "required": [
                                  "type",
                                  "value",
                                  "comments"
                                ]
                              },
                              "description": "The contact's detail entries (phone, mobile, email, etc.)."
                            },
                            "webAccount": {
                              "type": "object",
                              "properties": {
                                "enabled": {
                                  "type": "boolean",
                                  "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                                },
                                "logonId": {
                                  "type": "string",
                                  "description": "The logon id for the contact must be unique."
                                },
                                "password": {
                                  "type": "string",
                                  "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                                }
                              },
                              "required": [
                                "logonId"
                              ],
                              "description": "The contact's web logon account (the password is write-only and never returned)."
                            }
                          },
                          "required": [
                            "contNo",
                            "title",
                            "firstName",
                            "middleName",
                            "lastName",
                            "displayName",
                            "jobTitle",
                            "department",
                            "dob",
                            "isPrimary",
                            "details",
                            "webAccount"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "CardFileContact",
                      "attributes": {
                        "contNo": 1,
                        "title": "Mr",
                        "firstName": "Contact",
                        "middleName": "James",
                        "lastName": "One",
                        "displayName": "Contact One",
                        "jobTitle": "Purchasing Manager",
                        "department": "Procurement",
                        "dob": "1985-06-15",
                        "isPrimary": true,
                        "details": [
                          {
                            "type": "Phone",
                            "value": "0413 000 000",
                            "comments": "Direct line"
                          },
                          {
                            "type": "EMail",
                            "value": "contact.one@acme.example",
                            "comments": "Preferred contact method"
                          }
                        ],
                        "webAccount": {
                          "enabled": true,
                          "logonId": "contact.one@acme.example"
                        }
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "CardFileContact",
                      "attributes": {
                        "displayName": "Contact Two",
                        "isPrimary": false
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the CardFileContact"
      },
      "post": {
        "description": "Creates a CardFileContact",
        "requestBody": {
          "description": "The CardFileContact",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "contNo": {
                            "type": "integer",
                            "description": "The contact number (unique within the card file)."
                          },
                          "title": {
                            "type": "string",
                            "description": "The contact's title (e.g. Mr, Ms)."
                          },
                          "firstName": {
                            "type": "string",
                            "description": "The contact's first name."
                          },
                          "middleName": {
                            "type": "string",
                            "description": "The contact's middle name."
                          },
                          "lastName": {
                            "type": "string",
                            "description": "The contact's last name."
                          },
                          "displayName": {
                            "type": "string",
                            "description": "The contact's display name."
                          },
                          "jobTitle": {
                            "type": "string",
                            "description": "The contact's job title."
                          },
                          "department": {
                            "type": "string",
                            "description": "The contact's department."
                          },
                          "dob": {
                            "type": "string",
                            "description": "The contact's date of birth, as an ISO date."
                          },
                          "isPrimary": {
                            "type": "boolean",
                            "description": "Whether this is the primary contact for the card file."
                          },
                          "details": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The contact detail value."
                                },
                                "comments": {
                                  "type": "string",
                                  "description": "Comments about the contact detail."
                                }
                              },
                              "required": [
                                "type",
                                "value",
                                "comments"
                              ]
                            },
                            "description": "The contact's detail entries (phone, mobile, email, etc.)."
                          },
                          "webAccount": {
                            "type": "object",
                            "properties": {
                              "enabled": {
                                "type": "boolean",
                                "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                              },
                              "logonId": {
                                "type": "string",
                                "description": "The logon id for the contact must be unique."
                              },
                              "password": {
                                "type": "string",
                                "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                              }
                            },
                            "required": [
                              "logonId"
                            ],
                            "description": "The contact's web logon account (the password is write-only and never returned)."
                          }
                        },
                        "required": [
                          "contNo",
                          "title",
                          "firstName",
                          "middleName",
                          "lastName",
                          "displayName",
                          "jobTitle",
                          "department",
                          "dob",
                          "isPrimary",
                          "details",
                          "webAccount"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The CardFileContact",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "contNo": {
                              "type": "integer",
                              "description": "The contact number (unique within the card file)."
                            },
                            "title": {
                              "type": "string",
                              "description": "The contact's title (e.g. Mr, Ms)."
                            },
                            "firstName": {
                              "type": "string",
                              "description": "The contact's first name."
                            },
                            "middleName": {
                              "type": "string",
                              "description": "The contact's middle name."
                            },
                            "lastName": {
                              "type": "string",
                              "description": "The contact's last name."
                            },
                            "displayName": {
                              "type": "string",
                              "description": "The contact's display name."
                            },
                            "jobTitle": {
                              "type": "string",
                              "description": "The contact's job title."
                            },
                            "department": {
                              "type": "string",
                              "description": "The contact's department."
                            },
                            "dob": {
                              "type": "string",
                              "description": "The contact's date of birth, as an ISO date."
                            },
                            "isPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary contact for the card file."
                            },
                            "details": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The contact detail value."
                                  },
                                  "comments": {
                                    "type": "string",
                                    "description": "Comments about the contact detail."
                                  }
                                },
                                "required": [
                                  "type",
                                  "value",
                                  "comments"
                                ]
                              },
                              "description": "The contact's detail entries (phone, mobile, email, etc.)."
                            },
                            "webAccount": {
                              "type": "object",
                              "properties": {
                                "enabled": {
                                  "type": "boolean",
                                  "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                                },
                                "logonId": {
                                  "type": "string",
                                  "description": "The logon id for the contact must be unique."
                                },
                                "password": {
                                  "type": "string",
                                  "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                                }
                              },
                              "required": [
                                "logonId"
                              ],
                              "description": "The contact's web logon account (the password is write-only and never returned)."
                            }
                          },
                          "required": [
                            "contNo",
                            "title",
                            "firstName",
                            "middleName",
                            "lastName",
                            "displayName",
                            "jobTitle",
                            "department",
                            "dob",
                            "isPrimary",
                            "details",
                            "webAccount"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/cardfiles/{cardno}/contacts/{cardno-contno}": {
      "parameters": [
        {
          "name": "cardno-contno",
          "in": "path",
          "description": "The CardFileContact identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The CardFileContact",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "contNo": {
                              "type": "integer",
                              "description": "The contact number (unique within the card file)."
                            },
                            "title": {
                              "type": "string",
                              "description": "The contact's title (e.g. Mr, Ms)."
                            },
                            "firstName": {
                              "type": "string",
                              "description": "The contact's first name."
                            },
                            "middleName": {
                              "type": "string",
                              "description": "The contact's middle name."
                            },
                            "lastName": {
                              "type": "string",
                              "description": "The contact's last name."
                            },
                            "displayName": {
                              "type": "string",
                              "description": "The contact's display name."
                            },
                            "jobTitle": {
                              "type": "string",
                              "description": "The contact's job title."
                            },
                            "department": {
                              "type": "string",
                              "description": "The contact's department."
                            },
                            "dob": {
                              "type": "string",
                              "description": "The contact's date of birth, as an ISO date."
                            },
                            "isPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary contact for the card file."
                            },
                            "details": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The contact detail value."
                                  },
                                  "comments": {
                                    "type": "string",
                                    "description": "Comments about the contact detail."
                                  }
                                },
                                "required": [
                                  "type",
                                  "value",
                                  "comments"
                                ]
                              },
                              "description": "The contact's detail entries (phone, mobile, email, etc.)."
                            },
                            "webAccount": {
                              "type": "object",
                              "properties": {
                                "enabled": {
                                  "type": "boolean",
                                  "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                                },
                                "logonId": {
                                  "type": "string",
                                  "description": "The logon id for the contact must be unique."
                                },
                                "password": {
                                  "type": "string",
                                  "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                                }
                              },
                              "required": [
                                "logonId"
                              ],
                              "description": "The contact's web logon account (the password is write-only and never returned)."
                            }
                          },
                          "required": [
                            "contNo",
                            "title",
                            "firstName",
                            "middleName",
                            "lastName",
                            "displayName",
                            "jobTitle",
                            "department",
                            "dob",
                            "isPrimary",
                            "details",
                            "webAccount"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "CardFileContact",
                    "attributes": {
                      "contNo": 1,
                      "title": "Mr",
                      "firstName": "Contact",
                      "middleName": "James",
                      "lastName": "One",
                      "displayName": "Contact One",
                      "jobTitle": "Purchasing Manager",
                      "department": "Procurement",
                      "dob": "1985-06-15",
                      "isPrimary": true,
                      "details": [
                        {
                          "type": "Phone",
                          "value": "0413 000 000",
                          "comments": "Direct line"
                        },
                        {
                          "type": "EMail",
                          "value": "contact.one@acme.example",
                          "comments": "Preferred contact method"
                        }
                      ],
                      "webAccount": {
                        "enabled": true,
                        "logonId": "contact.one@acme.example"
                      }
                    },
                    "links": {
                      "self": "/api/v1/cardfiles/10/contacts/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the CardFileContact for the cardno-contno parameter provided"
      },
      "patch": {
        "description": "Updates the CardFileContact for the cardno-contno parameter provided",
        "requestBody": {
          "description": "The CardFileContact",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "contNo": {
                            "type": "integer",
                            "description": "The contact number (unique within the card file)."
                          },
                          "title": {
                            "type": "string",
                            "description": "The contact's title (e.g. Mr, Ms)."
                          },
                          "firstName": {
                            "type": "string",
                            "description": "The contact's first name."
                          },
                          "middleName": {
                            "type": "string",
                            "description": "The contact's middle name."
                          },
                          "lastName": {
                            "type": "string",
                            "description": "The contact's last name."
                          },
                          "displayName": {
                            "type": "string",
                            "description": "The contact's display name."
                          },
                          "jobTitle": {
                            "type": "string",
                            "description": "The contact's job title."
                          },
                          "department": {
                            "type": "string",
                            "description": "The contact's department."
                          },
                          "dob": {
                            "type": "string",
                            "description": "The contact's date of birth, as an ISO date."
                          },
                          "isPrimary": {
                            "type": "boolean",
                            "description": "Whether this is the primary contact for the card file."
                          },
                          "details": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The contact detail value."
                                },
                                "comments": {
                                  "type": "string",
                                  "description": "Comments about the contact detail."
                                }
                              },
                              "required": [
                                "type",
                                "value",
                                "comments"
                              ]
                            },
                            "description": "The contact's detail entries (phone, mobile, email, etc.)."
                          },
                          "webAccount": {
                            "type": "object",
                            "properties": {
                              "enabled": {
                                "type": "boolean",
                                "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                              },
                              "logonId": {
                                "type": "string",
                                "description": "The logon id for the contact must be unique."
                              },
                              "password": {
                                "type": "string",
                                "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                              }
                            },
                            "required": [
                              "logonId"
                            ],
                            "description": "The contact's web logon account (the password is write-only and never returned)."
                          }
                        },
                        "required": [
                          "contNo",
                          "title",
                          "firstName",
                          "middleName",
                          "lastName",
                          "displayName",
                          "jobTitle",
                          "department",
                          "dob",
                          "isPrimary",
                          "details",
                          "webAccount"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The CardFileContact",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "contNo": {
                              "type": "integer",
                              "description": "The contact number (unique within the card file)."
                            },
                            "title": {
                              "type": "string",
                              "description": "The contact's title (e.g. Mr, Ms)."
                            },
                            "firstName": {
                              "type": "string",
                              "description": "The contact's first name."
                            },
                            "middleName": {
                              "type": "string",
                              "description": "The contact's middle name."
                            },
                            "lastName": {
                              "type": "string",
                              "description": "The contact's last name."
                            },
                            "displayName": {
                              "type": "string",
                              "description": "The contact's display name."
                            },
                            "jobTitle": {
                              "type": "string",
                              "description": "The contact's job title."
                            },
                            "department": {
                              "type": "string",
                              "description": "The contact's department."
                            },
                            "dob": {
                              "type": "string",
                              "description": "The contact's date of birth, as an ISO date."
                            },
                            "isPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary contact for the card file."
                            },
                            "details": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "description": "The contact detail type (e.g. Phone, Mobile, Email)."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The contact detail value."
                                  },
                                  "comments": {
                                    "type": "string",
                                    "description": "Comments about the contact detail."
                                  }
                                },
                                "required": [
                                  "type",
                                  "value",
                                  "comments"
                                ]
                              },
                              "description": "The contact's detail entries (phone, mobile, email, etc.)."
                            },
                            "webAccount": {
                              "type": "object",
                              "properties": {
                                "enabled": {
                                  "type": "boolean",
                                  "description": "Flag to indicate if the web logon is enabled.  If omitted on creates the account will be enabled."
                                },
                                "logonId": {
                                  "type": "string",
                                  "description": "The logon id for the contact must be unique."
                                },
                                "password": {
                                  "type": "string",
                                  "description": "If not provided Jim2 will automatically generate a password for the contact. Note: Will not be returned in the response if value is null."
                                }
                              },
                              "required": [
                                "logonId"
                              ],
                              "description": "The contact's web logon account (the password is write-only and never returned)."
                            }
                          },
                          "required": [
                            "contNo",
                            "title",
                            "firstName",
                            "middleName",
                            "lastName",
                            "displayName",
                            "jobTitle",
                            "department",
                            "dob",
                            "isPrimary",
                            "details",
                            "webAccount"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {}
    },
    "/api/v1/custom/{endpoint}": {},
    "/api/v1/docget/{id}": {
      "get": {
        "description": "Returns the document requested. The response content type depends on the document requested.",
        "responses": {
          "200": {
            "description": "The requested document. The content type will be set according to the document name.",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/docs": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Document",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The document code."
                            },
                            "docName": {
                              "type": "string",
                              "description": "The document name."
                            }
                          },
                          "required": [
                            "code",
                            "docName"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "232",
                      "type": "Document",
                      "attributes": {
                        "code": "232",
                        "docName": "default-image_100.png"
                      }
                    },
                    {
                      "id": "233",
                      "type": "Document",
                      "attributes": {
                        "code": "233",
                        "docName": "default-image.gif"
                      }
                    },
                    {
                      "id": "234",
                      "type": "Document",
                      "attributes": {
                        "code": "234",
                        "docName": "Report.pdf"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Document"
      }
    },
    "/api/v1/docs/{docid}": {
      "parameters": [
        {
          "name": "docid",
          "in": "path",
          "description": "The Document identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Document",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The document code."
                            },
                            "docName": {
                              "type": "string",
                              "description": "The document name."
                            }
                          },
                          "required": [
                            "code",
                            "docName"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the Document for the docid parameter provided"
      }
    },
    "/api/v1/docupload/{name}": {
      "summary": "Allows documents to be uploaded to Jim2.  Documents can be related to one object in Jim2 (refer to the query parameters for this API).",
      "post": {
        "description": "Creates a new document.",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "description": "The category tag for the document.  This category must already exist.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "description": "The tag for the document.  This tag must already exist.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objreftype",
            "in": "query",
            "description": "The type of object the document should be related to.  Supported types are<br>\r\n                                        Job (objrefid must be the Job number)<br>\r\n                                        Quote (objrefid must be the Quote number)<br>\r\n                                        Purchase (objrefid must be the PO number)<br>\r\n                                        CardFile (objrefid must be the Card code)<br>\r\n                                        Items (objrefid must be the Item code)<br>\r\n                                        Stock (objrefid must be the Jim2 stock code, and the stock must be active)<br>\r\n                                        StockTransfer (objrefid must be the Transfer number)<br>\r\n                                        VendReturn (objrefid must be the Vendor Return number)<br>\r\n                                        CustReturn (objrefid must be the Customer Return number)<br>\r\n                                        StockAdj (objrefid must be the Stock Adjustment number)<br>\r\n                                        Debtors (objrefid must be the Card number of the debtor)<br>\r\n                                        Cheque (objrefid must be the Cheque transaction number)<br>\r\n                                        GJEntry (objrefid must be the General Journal entry reference number)<br>\r\n                                        Creditors (objrefid must be the Card number of the creditor)<br>\r\n                                        StockPack (objrefid must be the Packaging session number)<br>\r\n                                        StockTake (objrefid must be the Stock Take session number)<br>\r\n                                        Project (objrefid must be the Project code)<br>\r\n                                        StockPromoPricing (objrefid must be the Promo number)<br>\r\n                                        Asset (objrefid must be the Asset number)<br>\r\n                                        If specified the objrefid parameter is also required.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objrefid",
            "in": "query",
            "description": "The object identifier, refer to objreftype.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/api/v1/items": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Item",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ItemCode": {
                              "type": "string",
                              "description": "The item code."
                            },
                            "Description": {
                              "type": "string",
                              "description": "The item description."
                            }
                          },
                          "required": [
                            "ItemCode",
                            "Description"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns all the Item"
      }
    },
    "/api/v1/items/{itemno}": {
      "parameters": [
        {
          "name": "itemno",
          "in": "path",
          "description": "The Item identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Item",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ItemCode": {
                              "type": "string",
                              "description": "The item code."
                            },
                            "Description": {
                              "type": "string",
                              "description": "The item description."
                            }
                          },
                          "required": [
                            "ItemCode",
                            "Description"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10",
                    "type": "Item",
                    "attributes": {
                      "ItemCode": "SALE",
                      "Description": "Sale"
                    },
                    "links": {
                      "self": "/api/v1/items/10"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the Item for the itemno parameter provided"
      }
    },
    "/api/v1/jobcreate": {
      "post": {
        "description": "Creates a new Job. ",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jobType": {
                    "type": "string",
                    "description": "The Job type.  If omitted the Job type will be Normal."
                  },
                  "customer": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    },
                    "description": "The customer (bill-to) card file the job is for."
                  },
                  "shipTo": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "from": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "dateDue": {
                    "type": "string",
                    "description": "The date due for the new Job.  Must be in ISO date format - eg \"2020-01-31\""
                  },
                  "accountMgr": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "currencyCode": {
                    "type": "string",
                    "description": "The currency code the job is to be created in. Current exchange rate from Jim2 will be used."
                  },
                  "status": {
                    "type": "string",
                    "description": "The status for the Job.  This status must be valid per workflow from Booked, and cannot be FINISH."
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code.  Branches must be enabled."
                  },
                  "subBranch": {
                    "type": "string",
                    "description": "The sub-branch code.  Sub-branches must be enabled.  Note that in the UI sub-branches may be renamed."
                  },
                  "glDept": {
                    "type": "string",
                    "description": "The GL department code.  GL departments must be enabled."
                  },
                  "custRefNo": {
                    "type": "string",
                    "description": "The customer's reference for the job."
                  },
                  "ourRef": {
                    "type": "string",
                    "description": "Our reference for the job."
                  },
                  "shipAttn": {
                    "type": "string",
                    "description": "The ship-to contact (attention) name."
                  },
                  "shipAddress": {
                    "type": "object",
                    "properties": {
                      "customerName": {
                        "type": "string",
                        "description": "customer name as first line."
                      },
                      "isAddressResidential": {
                        "type": "boolean",
                        "description": "is this a residential address?"
                      },
                      "addressLine1": {
                        "type": "string",
                        "description": "Note, it is not required to split street address lines, you can specify multiple address lines in addressLine1. If you have an address that goes over more than two lines then you can:<br> - include all lines in addressLine1 - seperated by new lines<br> - put the first line (eg suite/level) into addressLine1 and the remaining lines into addressLine2 using a new line as seperator"
                      },
                      "addressLine2": {
                        "type": "string",
                        "description": "An optional second line of the ship-to street address (see addressLine1)."
                      },
                      "suburb": {
                        "type": "string",
                        "description": "The ship-to suburb."
                      },
                      "state": {
                        "type": "string",
                        "description": "The ship-to state."
                      },
                      "postcode": {
                        "type": "string",
                        "description": "The ship-to post code."
                      },
                      "country": {
                        "type": "string",
                        "description": "The ship-to country."
                      }
                    }
                  },
                  "shipVia": {
                    "type": "string",
                    "description": "The carrier or method the goods are shipped via."
                  },
                  "shipPhone": {
                    "type": "string",
                    "description": "The ship-to contact phone number."
                  },
                  "shipEmail": {
                    "type": "string",
                    "description": "The ship-to contact email address."
                  },
                  "projectCode": {
                    "type": "string",
                    "description": "Deprecated. Use project->code.  This may be removed from future versions of Jim2."
                  },
                  "project": {
                    "type": "object",
                    "properties": {
                      "projectNo": {
                        "type": "integer",
                        "description": "If supplied used to detemine the project the created job will be linked to. If code provided they must both match the same project or the transaction will fail."
                      },
                      "code": {
                        "type": "string",
                        "description": "If supplied used to detemine the project the created job will be linked to. If projectNo provided they must both match the same project or the transaction will fail."
                      }
                    },
                    "description": "Fill out the project object (one or more name/value pairs) to associate the job with an asset."
                  },
                  "asset": {
                    "type": "object",
                    "properties": {
                      "assetNo": {
                        "type": "integer",
                        "description": "If supplied used to detemine the asset the created job will be linked to. If code and serial provided they must both match the same asset or the transaction will fail."
                      },
                      "code": {
                        "type": "string",
                        "description": "If supplied used to detemine the asset the created job will be linked to. If assetNo and serial provided they must both match the same asset or the transaction will fail."
                      },
                      "serial": {
                        "type": "string",
                        "description": "If supplied used to detemine the asset the created job will be linked to. If assetNo and code provided they must both match the same asset or the transaction will fail."
                      },
                      "useProjectAsset": {
                        "type": "boolean",
                        "description": "If supplied used to detemine the asset the created job will be linked to. If set to true and assetNo, code, or serial provided they must both match the  asset linked to the project or the transaction will fail."
                      }
                    },
                    "description": "Fill out the asset object (one or more name/value pairs) to associate the job with an asset."
                  },
                  "paysTax": {
                    "type": "boolean",
                    "description": "Flag to indicate if the customer is to pay GST.  Should normally be left to default (set by customer CardFile)"
                  },
                  "calcPricesFromTaxPaid": {
                    "type": "boolean",
                    "description": "Default is according Tools->Options Job, Calc Tax Total From."
                  },
                  "itemCode": {
                    "type": "string",
                    "description": "The item code."
                  },
                  "itemDesc": {
                    "type": "string",
                    "description": "The item description."
                  },
                  "itemSerialNo": {
                    "type": "string",
                    "description": "The item's serial number."
                  },
                  "faultDesc": {
                    "type": "string",
                    "description": "The fault description."
                  },
                  "invoiceDesc": {
                    "type": "string",
                    "description": "The description shown on the invoice."
                  },
                  "comments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "comment": {
                          "type": "string",
                          "description": "The comment text."
                        }
                      },
                      "required": [
                        "comment"
                      ]
                    }
                  },
                  "stockLines": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "stockCode": {
                          "type": "string",
                          "description": "The Jim2 stock code"
                        },
                        "stockDescription": {
                          "type": "string",
                          "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                        },
                        "unitQty": {
                          "type": "number",
                          "description": "The number of base units contained in each unit of measure (eg 12 for a box of 12). If omitted, 1 is used."
                        },
                        "qty": {
                          "type": "number",
                          "description": "The quantity of the stock to add to the job."
                        },
                        "unitPriceTF": {
                          "type": "number",
                          "description": "The price ex.  If no price is required then Jim2's default Job pricing will be used.  However, only one of unitPriceTF or unitPriceTP can be provided. It is recommended to specify unitPriceTP if calcPriceFromTaxPaid is true."
                        },
                        "unitPriceTP": {
                          "type": "number",
                          "description": "The price inc.  If no price is required then Jim2's default Job pricing will be used.  However, only one of PriceTF or PriceTP can be provided.It is recommended to specify unitPriceTF if calcPriceFromTaxPaid is false."
                        },
                        "location": {
                          "type": "string",
                          "description": "The location from which the stock is to be sold.  Normally this field is left out."
                        },
                        "serials": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "serial": {
                                "type": "string",
                                "description": "A stock serial number."
                              },
                              "stockAttrs": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "name": {
                                      "type": "string",
                                      "description": "The attribute name."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The attribute value.  Note, this is always send as a string, but the attribute type dictates the acceptable string formats.<br>eg integer attributes values must be a whole number<br>date attribute values must be a date is ISO format<br>real attribute values must be a decimal string (with period as the decimal separator)checkbox values must be a boolan value (\"true\", or \"false\")."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "value"
                                  ]
                                },
                                "description": "Only applicable to stock that is serial and attributed on purchase or serial on sell."
                              }
                            },
                            "required": [
                              "serial"
                            ]
                          },
                          "description": "Only applicable to stock that is serial on purchase or serial on sell. An array of serial numbers (and possible attributes if stock is also attributed) related to this stock."
                        },
                        "stockAttrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "The attribute name."
                              },
                              "value": {
                                "type": "string",
                                "description": "The attribute value.  Note, this is always send as a string, but the attribute type dictates the acceptable string formats.<br>eg integer attributes values must be a whole number<br>date attribute values must be a date is ISO format<br>real attribute values must be a decimal string (with period as the decimal separator)checkbox values must be a boolan value (\"true\", or \"false\")."
                              }
                            },
                            "required": [
                              "name",
                              "value"
                            ]
                          },
                          "description": "Only applicable to stock that is attribute on purchase or attribute on sell. An array of attributes related to this stock."
                        }
                      },
                      "required": [
                        "stockCode",
                        "qty"
                      ]
                    }
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "customer"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobNo": {
                      "type": "integer",
                      "description": "The number of the created job."
                    }
                  },
                  "required": [
                    "jobNo"
                  ]
                },
                "example": "{\r\n    \"jobNo\": 22\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/jobreport/{jobno}": {
      "get": {
        "description": "Returns the job report.Custom URL query params will be sent to the report",
        "parameters": [
          {
            "name": "reportname",
            "in": "query",
            "description": "The report name to use.  Default report can be defined using the global variable WEBAPI_DefaultJobReport.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested job report",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Job",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the job."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the job."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The job's priority."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The job's date in."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the job is due."
                            },
                            "StatusDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The due date for the job's current status."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the job pays tax."
                            },
                            "Serial": {
                              "type": "string",
                              "description": "The job's serial number."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The job's source name, identifying where the job originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the job's source."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the job."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the job's currency exchange rate is locked."
                            },
                            "PrevJobNo": {
                              "type": "integer",
                              "description": "The previous job's number."
                            },
                            "QuoteNo": {
                              "type": "integer",
                              "description": "The number of the quote associated with the job."
                            },
                            "InvoiceGroupNo": {
                              "type": "integer",
                              "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "Manufacturing": {
                              "type": "object",
                              "properties": {
                                "Qty": {
                                  "type": "number",
                                  "description": "The manufacturing quantity."
                                },
                                "Cost": {
                                  "type": "number",
                                  "description": "The manufacturing cost."
                                },
                                "ConfigNo": {
                                  "type": "integer",
                                  "description": "The stock configuration number."
                                },
                                "LocationCode": {
                                  "type": "string",
                                  "description": "The stock location code for the item being manufactured."
                                },
                                "StockCode": {
                                  "type": "string",
                                  "description": "The code of the stock item being manufactured."
                                }
                              },
                              "required": [
                                "LocationCode",
                                "StockCode"
                              ],
                              "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                            },
                            "JobDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the job."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the job."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the job."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ]
                            }
                          },
                          "required": [
                            "Status",
                            "CustRef",
                            "OurRef",
                            "Priority",
                            "FaultDesc",
                            "InvoiceDesc",
                            "ItemDesc",
                            "SubBranchCode",
                            "BranchCode",
                            "DateIn",
                            "Type",
                            "PriceLevel",
                            "TaxPaid",
                            "Serial",
                            "CurrencyCode",
                            "Source",
                            "SourceValue",
                            "CompanyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "GLDeptCode",
                            "TaxInc",
                            "Manufacturing",
                            "JobDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "labour": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "invoice": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10",
                      "type": "Job",
                      "attributes": {
                        "Status": "Booked",
                        "CustRef": "PO-44821",
                        "OurRef": "JOB-00010",
                        "Priority": "High",
                        "FaultDesc": "Unit will not power on after the latest firmware update.",
                        "InvoiceDesc": "Diagnose and reflash controller, replace power supply.",
                        "ItemDesc": "Controller Unit Model X200",
                        "SubBranchCode": "SYD-NORTH",
                        "BranchCode": "SYD",
                        "dateIn": "2026-03-12T10:15:00+11:00",
                        "DateDue": "2026-03-19T18:00:00+11:00",
                        "StatusDue": "2026-03-15T13:00:00+11:00",
                        "Type": "Normal",
                        "priceLevel": "Retail",
                        "taxPaid": false,
                        "serial": "SN-X200-99381",
                        "currencyCode": "AUD",
                        "source": "Web",
                        "sourceValue": "WEB-ORDER-7741",
                        "companyCode": "HAPPEN",
                        "exchangeRate": 1.0,
                        "rateLocked": false,
                        "prevJobNo": 9,
                        "quoteNo": 5,
                        "invoiceGroupNo": 2,
                        "GLDeptCode": "SERVICE",
                        "TaxInc": true,
                        "manufacturing": {
                          "qty": 5.0,
                          "cost": 123.45,
                          "configNo": 17,
                          "locationCode": "MAIN",
                          "stockCode": "ASSY.X200"
                        },
                        "jobDetails": {
                          "customer": {
                            "attn": "Jane Smith",
                            "name": "Acme Corporation Pty Ltd",
                            "isAddressResidential": false,
                            "streetAddress": "12 Industrial Ave",
                            "suburb": "Chatswood",
                            "state": "NSW",
                            "postCode": "2067",
                            "country": "Australia",
                            "orderNo": "PO-44821"
                          },
                          "ship": {
                            "attn": "Receiving Dock",
                            "name": "Acme Corporation Pty Ltd",
                            "isAddressResidential": false,
                            "streetAddress": "14 Industrial Ave",
                            "suburb": "Chatswood",
                            "state": "NSW",
                            "postCode": "2067",
                            "country": "Australia"
                          },
                          "freight": {
                            "amount": 25.0,
                            "tax": 2.5,
                            "taxCode": "GST",
                            "dispatch": [
                              {
                                "shipVia": "Courier Express",
                                "shipRef": "CE-558213",
                                "noOfCartons": 3
                              }
                            ]
                          }
                        }
                      },
                      "relationships": {
                        "contract": {
                          "data": {
                            "type": "Contract",
                            "id": "100"
                          }
                        },
                        "customer": {
                          "data": {
                            "type": "CardFile",
                            "id": "3"
                          }
                        },
                        "from": {
                          "data": {
                            "type": "CardFile",
                            "id": "3"
                          }
                        },
                        "ship": {
                          "data": {
                            "type": "CardFile",
                            "id": "4"
                          }
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        },
                        "name": {
                          "data": {
                            "type": "CardFile",
                            "id": "9"
                          }
                        },
                        "item": {
                          "data": {
                            "type": "Item",
                            "id": "21"
                          }
                        },
                        "quote": {
                          "data": {
                            "type": "Quote",
                            "id": "5"
                          }
                        },
                        "asset": {
                          "data": {
                            "type": "Asset",
                            "id": "44"
                          }
                        },
                        "manufacturingStock": {
                          "data": {
                            "type": "Stock",
                            "id": "53"
                          }
                        },
                        "invoice": {
                          "data": {
                            "type": "Invoice",
                            "id": "8001"
                          }
                        },
                        "comments": {
                          "data": [
                            {
                              "type": "JobComment",
                              "id": "10-1"
                            },
                            {
                              "type": "JobComment",
                              "id": "10-2"
                            }
                          ]
                        },
                        "stock": {
                          "data": [
                            {
                              "type": "JobStock",
                              "id": "10-1"
                            },
                            {
                              "type": "JobStock",
                              "id": "10-2"
                            }
                          ]
                        },
                        "labour": {
                          "data": [
                            {
                              "type": "JobLabour",
                              "id": "10-1"
                            }
                          ]
                        }
                      },
                      "links": {
                        "self": "/test/api/v1/jobs/10"
                      }
                    },
                    {
                      "id": "11",
                      "type": "Job",
                      "attributes": {
                        "Status": "In Progress",
                        "OurRef": "JOB-00011"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Job",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,contract,customer,from,ship,accountManager,name,item,stock,labour",
            "required": true
          }
        ]
      },
      "post": {
        "description": "Creates a Job",
        "requestBody": {
          "description": "The Job",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "Status": {
                            "type": "string",
                            "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the job."
                          },
                          "OurRef": {
                            "type": "string",
                            "description": "Our reference for the job."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The job's priority."
                          },
                          "FaultDesc": {
                            "type": "string",
                            "description": "The fault description."
                          },
                          "InvoiceDesc": {
                            "type": "string",
                            "description": "The description shown on the invoice."
                          },
                          "ItemDesc": {
                            "type": "string",
                            "description": "The item description."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "DateIn": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The job's date in."
                          },
                          "DateDue": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date the job is due."
                          },
                          "StatusDue": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The due date for the job's current status."
                          },
                          "Type": {
                            "type": "string",
                            "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                          },
                          "PriceLevel": {
                            "type": "string",
                            "description": "The price level description."
                          },
                          "TaxPaid": {
                            "type": "boolean",
                            "description": "Whether the job pays tax."
                          },
                          "Serial": {
                            "type": "string",
                            "description": "The job's serial number."
                          },
                          "CurrencyCode": {
                            "type": "string",
                            "description": "The currency code."
                          },
                          "Source": {
                            "type": "string",
                            "description": "The job's source name, identifying where the job originated."
                          },
                          "SourceValue": {
                            "type": "string",
                            "description": "The value associated with the job's source."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          },
                          "ExchangeRate": {
                            "type": "number",
                            "description": "The currency exchange rate applied to the job."
                          },
                          "RateLocked": {
                            "type": "boolean",
                            "description": "Whether the job's currency exchange rate is locked."
                          },
                          "PrevJobNo": {
                            "type": "integer",
                            "description": "The previous job's number."
                          },
                          "QuoteNo": {
                            "type": "integer",
                            "description": "The number of the quote associated with the job."
                          },
                          "InvoiceGroupNo": {
                            "type": "integer",
                            "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "TaxInc": {
                            "type": "boolean",
                            "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                          },
                          "Manufacturing": {
                            "type": "object",
                            "properties": {
                              "Qty": {
                                "type": "number",
                                "description": "The manufacturing quantity."
                              },
                              "Cost": {
                                "type": "number",
                                "description": "The manufacturing cost."
                              },
                              "ConfigNo": {
                                "type": "integer",
                                "description": "The stock configuration number."
                              },
                              "LocationCode": {
                                "type": "string",
                                "description": "The stock location code for the item being manufactured."
                              },
                              "StockCode": {
                                "type": "string",
                                "description": "The code of the stock item being manufactured."
                              }
                            },
                            "required": [
                              "LocationCode",
                              "StockCode"
                            ],
                            "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                          },
                          "JobDetails": {
                            "type": "object",
                            "properties": {
                              "Customer": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The customer contact (attention) name."
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "The customer name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the customer address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The customer street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The customer suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The customer state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The customer post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The customer country."
                                  },
                                  "OrderNo": {
                                    "type": "string",
                                    "description": "The customer's order number."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country",
                                  "OrderNo"
                                ],
                                "description": "The customer (bill-to) name and address details stored on the job."
                              },
                              "Ship": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) contact (attention) name."
                                  },
                                  "Name": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the delivery address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The delivery street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The delivery suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The delivery state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The delivery post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The delivery country."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "Name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country"
                                ],
                                "description": "The ship-to name and address details stored on the job."
                              },
                              "Freight": {
                                "type": "object",
                                "properties": {
                                  "Amount": {
                                    "type": "number",
                                    "description": "The freight charge amount."
                                  },
                                  "Tax": {
                                    "type": "number",
                                    "description": "The tax on the freight charge."
                                  },
                                  "TaxCode": {
                                    "type": "string",
                                    "description": "The tax code applied to the freight charge."
                                  },
                                  "Dispatch": {
                                    "type": "object",
                                    "properties": {},
                                    "description": "The dispatch / consignment details for the shipment."
                                  }
                                },
                                "required": [
                                  "Amount",
                                  "Tax",
                                  "TaxCode",
                                  "Dispatch"
                                ],
                                "description": "The freight charge, tax and dispatch details for the job."
                              }
                            },
                            "required": [
                              "Customer",
                              "Ship",
                              "Freight"
                            ]
                          }
                        },
                        "required": [
                          "Status",
                          "CustRef",
                          "OurRef",
                          "Priority",
                          "FaultDesc",
                          "InvoiceDesc",
                          "ItemDesc",
                          "SubBranchCode",
                          "BranchCode",
                          "DateIn",
                          "Type",
                          "PriceLevel",
                          "TaxPaid",
                          "Serial",
                          "CurrencyCode",
                          "Source",
                          "SourceValue",
                          "CompanyCode",
                          "ExchangeRate",
                          "RateLocked",
                          "GLDeptCode",
                          "TaxInc",
                          "Manufacturing",
                          "JobDetails"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "contract": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "customer": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "from": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "comments": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "item": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "quote": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "labour": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "asset": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "manufacturingStock": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "invoice": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Job",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the job."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the job."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The job's priority."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The job's date in."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the job is due."
                            },
                            "StatusDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The due date for the job's current status."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the job pays tax."
                            },
                            "Serial": {
                              "type": "string",
                              "description": "The job's serial number."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The job's source name, identifying where the job originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the job's source."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the job."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the job's currency exchange rate is locked."
                            },
                            "PrevJobNo": {
                              "type": "integer",
                              "description": "The previous job's number."
                            },
                            "QuoteNo": {
                              "type": "integer",
                              "description": "The number of the quote associated with the job."
                            },
                            "InvoiceGroupNo": {
                              "type": "integer",
                              "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "Manufacturing": {
                              "type": "object",
                              "properties": {
                                "Qty": {
                                  "type": "number",
                                  "description": "The manufacturing quantity."
                                },
                                "Cost": {
                                  "type": "number",
                                  "description": "The manufacturing cost."
                                },
                                "ConfigNo": {
                                  "type": "integer",
                                  "description": "The stock configuration number."
                                },
                                "LocationCode": {
                                  "type": "string",
                                  "description": "The stock location code for the item being manufactured."
                                },
                                "StockCode": {
                                  "type": "string",
                                  "description": "The code of the stock item being manufactured."
                                }
                              },
                              "required": [
                                "LocationCode",
                                "StockCode"
                              ],
                              "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                            },
                            "JobDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the job."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the job."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the job."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ]
                            }
                          },
                          "required": [
                            "Status",
                            "CustRef",
                            "OurRef",
                            "Priority",
                            "FaultDesc",
                            "InvoiceDesc",
                            "ItemDesc",
                            "SubBranchCode",
                            "BranchCode",
                            "DateIn",
                            "Type",
                            "PriceLevel",
                            "TaxPaid",
                            "Serial",
                            "CurrencyCode",
                            "Source",
                            "SourceValue",
                            "CompanyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "GLDeptCode",
                            "TaxInc",
                            "Manufacturing",
                            "JobDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "labour": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "invoice": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}": {
      "parameters": [
        {
          "name": "jobno",
          "in": "path",
          "description": "The Job identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Job",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the job."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the job."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The job's priority."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The job's date in."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the job is due."
                            },
                            "StatusDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The due date for the job's current status."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the job pays tax."
                            },
                            "Serial": {
                              "type": "string",
                              "description": "The job's serial number."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The job's source name, identifying where the job originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the job's source."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the job."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the job's currency exchange rate is locked."
                            },
                            "PrevJobNo": {
                              "type": "integer",
                              "description": "The previous job's number."
                            },
                            "QuoteNo": {
                              "type": "integer",
                              "description": "The number of the quote associated with the job."
                            },
                            "InvoiceGroupNo": {
                              "type": "integer",
                              "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "Manufacturing": {
                              "type": "object",
                              "properties": {
                                "Qty": {
                                  "type": "number",
                                  "description": "The manufacturing quantity."
                                },
                                "Cost": {
                                  "type": "number",
                                  "description": "The manufacturing cost."
                                },
                                "ConfigNo": {
                                  "type": "integer",
                                  "description": "The stock configuration number."
                                },
                                "LocationCode": {
                                  "type": "string",
                                  "description": "The stock location code for the item being manufactured."
                                },
                                "StockCode": {
                                  "type": "string",
                                  "description": "The code of the stock item being manufactured."
                                }
                              },
                              "required": [
                                "LocationCode",
                                "StockCode"
                              ],
                              "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                            },
                            "JobDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the job."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the job."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the job."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ]
                            }
                          },
                          "required": [
                            "Status",
                            "CustRef",
                            "OurRef",
                            "Priority",
                            "FaultDesc",
                            "InvoiceDesc",
                            "ItemDesc",
                            "SubBranchCode",
                            "BranchCode",
                            "DateIn",
                            "Type",
                            "PriceLevel",
                            "TaxPaid",
                            "Serial",
                            "CurrencyCode",
                            "Source",
                            "SourceValue",
                            "CompanyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "GLDeptCode",
                            "TaxInc",
                            "Manufacturing",
                            "JobDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "labour": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "invoice": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10",
                    "type": "Job",
                    "attributes": {
                      "Status": "Booked",
                      "CustRef": "PO-44821",
                      "OurRef": "JOB-00010",
                      "Priority": "High",
                      "FaultDesc": "Unit will not power on after the latest firmware update.",
                      "InvoiceDesc": "Diagnose and reflash controller, replace power supply.",
                      "ItemDesc": "Controller Unit Model X200",
                      "SubBranchCode": "SYD-NORTH",
                      "BranchCode": "SYD",
                      "dateIn": "2026-03-12T10:15:00+11:00",
                      "DateDue": "2026-03-19T18:00:00+11:00",
                      "StatusDue": "2026-03-15T13:00:00+11:00",
                      "Type": "Normal",
                      "priceLevel": "Retail",
                      "taxPaid": false,
                      "serial": "SN-X200-99381",
                      "currencyCode": "AUD",
                      "source": "Web",
                      "sourceValue": "WEB-ORDER-7741",
                      "companyCode": "HAPPEN",
                      "exchangeRate": 1.0,
                      "rateLocked": false,
                      "prevJobNo": 9,
                      "quoteNo": 5,
                      "invoiceGroupNo": 2,
                      "GLDeptCode": "SERVICE",
                      "TaxInc": true,
                      "manufacturing": {
                        "qty": 5.0,
                        "cost": 123.45,
                        "configNo": 17,
                        "locationCode": "MAIN",
                        "stockCode": "ASSY.X200"
                      },
                      "jobDetails": {
                        "customer": {
                          "attn": "Jane Smith",
                          "name": "Acme Corporation Pty Ltd",
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia",
                          "orderNo": "PO-44821"
                        },
                        "ship": {
                          "attn": "Receiving Dock",
                          "name": "Acme Corporation Pty Ltd",
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "freight": {
                          "amount": 25.0,
                          "tax": 2.5,
                          "taxCode": "GST",
                          "dispatch": [
                            {
                              "shipVia": "Courier Express",
                              "shipRef": "CE-558213",
                              "noOfCartons": 3
                            }
                          ]
                        }
                      }
                    },
                    "relationships": {
                      "contract": {
                        "data": {
                          "type": "Contract",
                          "id": "100"
                        }
                      },
                      "customer": {
                        "data": {
                          "type": "CardFile",
                          "id": "3"
                        }
                      },
                      "from": {
                        "data": {
                          "type": "CardFile",
                          "id": "3"
                        }
                      },
                      "ship": {
                        "data": {
                          "type": "CardFile",
                          "id": "4"
                        }
                      },
                      "accountManager": {
                        "data": {
                          "type": "CardFile",
                          "id": "7"
                        }
                      },
                      "name": {
                        "data": {
                          "type": "CardFile",
                          "id": "9"
                        }
                      },
                      "item": {
                        "data": {
                          "type": "Item",
                          "id": "21"
                        }
                      },
                      "quote": {
                        "data": {
                          "type": "Quote",
                          "id": "5"
                        }
                      },
                      "asset": {
                        "data": {
                          "type": "Asset",
                          "id": "44"
                        }
                      },
                      "manufacturingStock": {
                        "data": {
                          "type": "Stock",
                          "id": "53"
                        }
                      },
                      "invoice": {
                        "data": {
                          "type": "Invoice",
                          "id": "8001"
                        }
                      },
                      "comments": {
                        "data": [
                          {
                            "type": "JobComment",
                            "id": "10-1"
                          },
                          {
                            "type": "JobComment",
                            "id": "10-2"
                          }
                        ]
                      },
                      "stock": {
                        "data": [
                          {
                            "type": "JobStock",
                            "id": "10-1"
                          },
                          {
                            "type": "JobStock",
                            "id": "10-2"
                          }
                        ]
                      },
                      "labour": {
                        "data": [
                          {
                            "type": "JobLabour",
                            "id": "10-1"
                          }
                        ]
                      }
                    },
                    "links": {
                      "self": "/test/api/v1/jobs/10"
                    }
                  },
                  "included": [
                    {
                      "type": "Contract",
                      "id": "100",
                      "attributes": {
                        "code": "SVC-ANNUAL",
                        "status": "Active"
                      }
                    },
                    {
                      "type": "Item",
                      "id": "21",
                      "attributes": {
                        "ItemCode": "CTRL.X200",
                        "Description": "Controller Unit Model X200"
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "3",
                      "attributes": {
                        "cardNo": 3,
                        "cardCode": "ACME",
                        "contact": "Jane Smith",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "53 004 085 616",
                        "aCN": "004 085 616",
                        "shipVia": "Courier Express",
                        "shipAmount": 25.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-44821",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "accFeePerc": 2.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "3-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "4",
                      "attributes": {
                        "cardNo": 4,
                        "cardCode": "ACME-WHS",
                        "contact": "Receiving Dock",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "53 004 085 616",
                        "aCN": "004 085 616",
                        "shipVia": "Courier Express",
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": null,
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 0.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": null,
                          "backorder": "Allow Backorders",
                          "requiredDays": null,
                          "requiredHours": null,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Don't send",
                          "sendInvVia": "Don't send",
                          "groups": []
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "14 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "4-1"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "7",
                      "attributes": {
                        "cardNo": 7,
                        "cardCode": "STAFF-SC",
                        "contact": "Sarah Chen",
                        "name": "Sarah Chen",
                        "aBN": null,
                        "aCN": null,
                        "shipVia": null,
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": null,
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 0.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": null,
                          "backorder": "Allow Backorders",
                          "requiredDays": null,
                          "requiredHours": null,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Don't send",
                          "sendInvVia": "Don't send",
                          "groups": []
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "100 George St",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "100 George St",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "7-1"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "9",
                      "attributes": {
                        "cardNo": 9,
                        "cardCode": "ACME-JDOE",
                        "contact": "John Doe",
                        "name": "John Doe",
                        "aBN": null,
                        "aCN": null,
                        "shipVia": null,
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": null,
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 0.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": null,
                          "backorder": "Allow Backorders",
                          "requiredDays": null,
                          "requiredHours": null,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Don't send",
                          "sendInvVia": "Don't send",
                          "groups": []
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "9-1"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "JobComment",
                      "id": "10-1",
                      "attributes": {
                        "include": false,
                        "status": "Booked",
                        "comment": "Customer reported intermittent power loss.",
                        "modifyinit": "SYS",
                        "modifydate": "2026-03-12T09:20:41"
                      }
                    },
                    {
                      "type": "JobComment",
                      "id": "10-2",
                      "attributes": {
                        "include": true,
                        "status": "Booked",
                        "comment": "Replaced power supply, reflashed firmware to v2.4.1.",
                        "modifyinit": "TECH1",
                        "modifydate": "2026-03-13T14:05:13"
                      }
                    },
                    {
                      "type": "JobStock",
                      "id": "10-1",
                      "attributes": {
                        "stockId": 53,
                        "stockCode": "PSU.X200",
                        "unit": "EACH",
                        "qty": 1.0,
                        "description": "Replacement power supply for X200",
                        "modifyinit": "TECH1",
                        "modifydate": "2026-03-13T14:05:13"
                      }
                    },
                    {
                      "type": "JobStock",
                      "id": "10-2",
                      "attributes": {
                        "stockId": 61,
                        "stockCode": "LABOUR.STD",
                        "unit": "HOUR",
                        "qty": 1.5,
                        "description": "Standard workshop labour",
                        "modifyinit": "TECH1",
                        "modifydate": "2026-03-13T14:05:13"
                      }
                    },
                    {
                      "type": "JobLabour",
                      "id": "10-1",
                      "attributes": {
                        "staffCode": "TECH1",
                        "date": "2026-03-13T14:00:00+11:00",
                        "qty": 1.5,
                        "description": "Workshop diagnosis and repair",
                        "modifyinit": "TECH1",
                        "modifydate": "2026-03-13T14:05:13"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Job for the jobno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,contract,customer,from,ship,accountManager,name,item,stock,labour",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the Job for the jobno parameter provided",
        "requestBody": {
          "description": "The Job",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "Status": {
                            "type": "string",
                            "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the job."
                          },
                          "OurRef": {
                            "type": "string",
                            "description": "Our reference for the job."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The job's priority."
                          },
                          "FaultDesc": {
                            "type": "string",
                            "description": "The fault description."
                          },
                          "InvoiceDesc": {
                            "type": "string",
                            "description": "The description shown on the invoice."
                          },
                          "ItemDesc": {
                            "type": "string",
                            "description": "The item description."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "DateIn": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The job's date in."
                          },
                          "DateDue": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date the job is due."
                          },
                          "StatusDue": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The due date for the job's current status."
                          },
                          "Type": {
                            "type": "string",
                            "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                          },
                          "PriceLevel": {
                            "type": "string",
                            "description": "The price level description."
                          },
                          "TaxPaid": {
                            "type": "boolean",
                            "description": "Whether the job pays tax."
                          },
                          "Serial": {
                            "type": "string",
                            "description": "The job's serial number."
                          },
                          "CurrencyCode": {
                            "type": "string",
                            "description": "The currency code."
                          },
                          "Source": {
                            "type": "string",
                            "description": "The job's source name, identifying where the job originated."
                          },
                          "SourceValue": {
                            "type": "string",
                            "description": "The value associated with the job's source."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          },
                          "ExchangeRate": {
                            "type": "number",
                            "description": "The currency exchange rate applied to the job."
                          },
                          "RateLocked": {
                            "type": "boolean",
                            "description": "Whether the job's currency exchange rate is locked."
                          },
                          "PrevJobNo": {
                            "type": "integer",
                            "description": "The previous job's number."
                          },
                          "QuoteNo": {
                            "type": "integer",
                            "description": "The number of the quote associated with the job."
                          },
                          "InvoiceGroupNo": {
                            "type": "integer",
                            "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "TaxInc": {
                            "type": "boolean",
                            "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                          },
                          "Manufacturing": {
                            "type": "object",
                            "properties": {
                              "Qty": {
                                "type": "number",
                                "description": "The manufacturing quantity."
                              },
                              "Cost": {
                                "type": "number",
                                "description": "The manufacturing cost."
                              },
                              "ConfigNo": {
                                "type": "integer",
                                "description": "The stock configuration number."
                              },
                              "LocationCode": {
                                "type": "string",
                                "description": "The stock location code for the item being manufactured."
                              },
                              "StockCode": {
                                "type": "string",
                                "description": "The code of the stock item being manufactured."
                              }
                            },
                            "required": [
                              "LocationCode",
                              "StockCode"
                            ],
                            "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                          },
                          "JobDetails": {
                            "type": "object",
                            "properties": {
                              "Customer": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The customer contact (attention) name."
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "The customer name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the customer address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The customer street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The customer suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The customer state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The customer post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The customer country."
                                  },
                                  "OrderNo": {
                                    "type": "string",
                                    "description": "The customer's order number."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country",
                                  "OrderNo"
                                ],
                                "description": "The customer (bill-to) name and address details stored on the job."
                              },
                              "Ship": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) contact (attention) name."
                                  },
                                  "Name": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the delivery address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The delivery street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The delivery suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The delivery state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The delivery post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The delivery country."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "Name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country"
                                ],
                                "description": "The ship-to name and address details stored on the job."
                              },
                              "Freight": {
                                "type": "object",
                                "properties": {
                                  "Amount": {
                                    "type": "number",
                                    "description": "The freight charge amount."
                                  },
                                  "Tax": {
                                    "type": "number",
                                    "description": "The tax on the freight charge."
                                  },
                                  "TaxCode": {
                                    "type": "string",
                                    "description": "The tax code applied to the freight charge."
                                  },
                                  "Dispatch": {
                                    "type": "object",
                                    "properties": {},
                                    "description": "The dispatch / consignment details for the shipment."
                                  }
                                },
                                "required": [
                                  "Amount",
                                  "Tax",
                                  "TaxCode",
                                  "Dispatch"
                                ],
                                "description": "The freight charge, tax and dispatch details for the job."
                              }
                            },
                            "required": [
                              "Customer",
                              "Ship",
                              "Freight"
                            ]
                          }
                        },
                        "required": [
                          "Status",
                          "CustRef",
                          "OurRef",
                          "Priority",
                          "FaultDesc",
                          "InvoiceDesc",
                          "ItemDesc",
                          "SubBranchCode",
                          "BranchCode",
                          "DateIn",
                          "Type",
                          "PriceLevel",
                          "TaxPaid",
                          "Serial",
                          "CurrencyCode",
                          "Source",
                          "SourceValue",
                          "CompanyCode",
                          "ExchangeRate",
                          "RateLocked",
                          "GLDeptCode",
                          "TaxInc",
                          "Manufacturing",
                          "JobDetails"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "contract": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "customer": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "from": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "comments": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "item": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "quote": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "labour": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "asset": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "manufacturingStock": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "invoice": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Job",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The job's current status. Setting it changes the job status (see the job's setStatus)."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the job."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the job."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The job's priority."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the job's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The job's date in."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the job is due."
                            },
                            "StatusDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The due date for the job's current status."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The job's Type. When set, it must match a configured job type (case-insensitive); send an empty value to clear it. This is distinct from the job's kind (sales/service/manufacturing)."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the job pays tax."
                            },
                            "Serial": {
                              "type": "string",
                              "description": "The job's serial number."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The job's source name, identifying where the job originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the job's source."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the job."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the job's currency exchange rate is locked."
                            },
                            "PrevJobNo": {
                              "type": "integer",
                              "description": "The previous job's number."
                            },
                            "QuoteNo": {
                              "type": "integer",
                              "description": "The number of the quote associated with the job."
                            },
                            "InvoiceGroupNo": {
                              "type": "integer",
                              "description": "Allows jobs with the same InvoiceGroupNo to be placed on the same invoice."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "Manufacturing": {
                              "type": "object",
                              "properties": {
                                "Qty": {
                                  "type": "number",
                                  "description": "The manufacturing quantity."
                                },
                                "Cost": {
                                  "type": "number",
                                  "description": "The manufacturing cost."
                                },
                                "ConfigNo": {
                                  "type": "integer",
                                  "description": "The stock configuration number."
                                },
                                "LocationCode": {
                                  "type": "string",
                                  "description": "The stock location code for the item being manufactured."
                                },
                                "StockCode": {
                                  "type": "string",
                                  "description": "The code of the stock item being manufactured."
                                }
                              },
                              "required": [
                                "LocationCode",
                                "StockCode"
                              ],
                              "description": "Manufacturing details for the job. Only present when the job is a manufacturing job."
                            },
                            "JobDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the job."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the job."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the job."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ]
                            }
                          },
                          "required": [
                            "Status",
                            "CustRef",
                            "OurRef",
                            "Priority",
                            "FaultDesc",
                            "InvoiceDesc",
                            "ItemDesc",
                            "SubBranchCode",
                            "BranchCode",
                            "DateIn",
                            "Type",
                            "PriceLevel",
                            "TaxPaid",
                            "Serial",
                            "CurrencyCode",
                            "Source",
                            "SourceValue",
                            "CompanyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "GLDeptCode",
                            "TaxInc",
                            "Manufacturing",
                            "JobDetails"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "labour": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "invoice": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/comments": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The JobComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean",
                              "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "JobComment",
                      "attributes": {
                        "include": false,
                        "status": "Booked",
                        "comment": "Customer approved the quote via phone.",
                        "modifyInit": "SYS",
                        "modifyDate": "2024-03-25T17:07:23+11:00"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the JobComment"
      },
      "post": {
        "description": "Creates a JobComment",
        "requestBody": {
          "description": "The JobComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean",
                            "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean",
                              "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/comments/{jobno-lineid}": {
      "parameters": [
        {
          "name": "jobno-lineid",
          "in": "path",
          "description": "The JobComment identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The JobComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean",
                              "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "JobComment",
                    "attributes": {
                      "include": false,
                      "status": "Booked",
                      "comment": "Customer approved the quote via phone.",
                      "modifyInit": "SYS",
                      "modifyDate": "2024-03-25T17:07:23+11:00"
                    },
                    "links": {
                      "self": "/api/v1/jobs/10/comments/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the JobComment for the jobno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the JobComment for the jobno-lineid parameter provided",
        "requestBody": {
          "description": "The JobComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean",
                            "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean",
                              "description": "Whether the comment is included on the invoice. Unrelated to the ?include= query parameter."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/labour": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The JobLabour",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The labour start date and time."
                            },
                            "hours": {
                              "type": "integer",
                              "description": "The number of hours of labour."
                            },
                            "minutes": {
                              "type": "integer",
                              "description": "The number of minutes of labour."
                            },
                            "labourType": {
                              "type": "string",
                              "description": "The labour type."
                            },
                            "labourInit": {
                              "type": "string",
                              "description": "The initials of the staff member who performed the labour."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The labour comment."
                            },
                            "addInit": {
                              "type": "string",
                              "description": "The initials of the user who created the labour entry."
                            },
                            "addDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was created."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the labour entry."
                            },
                            "modifyDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was last modified."
                            }
                          },
                          "required": [
                            "start",
                            "hours",
                            "minutes",
                            "labourType",
                            "labourInit",
                            "comment",
                            "addInit",
                            "modifyInit"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-2",
                      "type": "JobLabour",
                      "attributes": {
                        "start": "2025-03-25T18:20:00",
                        "hours": 0,
                        "minutes": 5,
                        "labourType": "Workshop",
                        "labourInit": "SYS",
                        "comment": "Replaced faulty power supply",
                        "addInit": "SYS",
                        "addDate": "2025-03-25T18:10:00",
                        "modifyInit": "SYS",
                        "modifyDate": "2025-03-25T18:10:00"
                      }
                    },
                    {
                      "id": "10-1",
                      "type": "JobLabour",
                      "attributes": {
                        "labourType": "Admin",
                        "comment": "Did some admin"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the JobLabour"
      },
      "post": {
        "description": "Creates a JobLabour",
        "requestBody": {
          "description": "The JobLabour",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The labour start date and time."
                          },
                          "hours": {
                            "type": "integer",
                            "description": "The number of hours of labour."
                          },
                          "minutes": {
                            "type": "integer",
                            "description": "The number of minutes of labour."
                          },
                          "labourType": {
                            "type": "string",
                            "description": "The labour type."
                          },
                          "labourInit": {
                            "type": "string",
                            "description": "The initials of the staff member who performed the labour."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The labour comment."
                          },
                          "addInit": {
                            "type": "string",
                            "description": "The initials of the user who created the labour entry."
                          },
                          "addDate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the labour entry was created."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the labour entry."
                          },
                          "modifyDate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the labour entry was last modified."
                          }
                        },
                        "required": [
                          "start",
                          "hours",
                          "minutes",
                          "labourType",
                          "labourInit",
                          "comment",
                          "addInit",
                          "modifyInit"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobLabour",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The labour start date and time."
                            },
                            "hours": {
                              "type": "integer",
                              "description": "The number of hours of labour."
                            },
                            "minutes": {
                              "type": "integer",
                              "description": "The number of minutes of labour."
                            },
                            "labourType": {
                              "type": "string",
                              "description": "The labour type."
                            },
                            "labourInit": {
                              "type": "string",
                              "description": "The initials of the staff member who performed the labour."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The labour comment."
                            },
                            "addInit": {
                              "type": "string",
                              "description": "The initials of the user who created the labour entry."
                            },
                            "addDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was created."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the labour entry."
                            },
                            "modifyDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was last modified."
                            }
                          },
                          "required": [
                            "start",
                            "hours",
                            "minutes",
                            "labourType",
                            "labourInit",
                            "comment",
                            "addInit",
                            "modifyInit"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/labour/{jobno-lineid}": {
      "parameters": [
        {
          "name": "jobno-lineid",
          "in": "path",
          "description": "The JobLabour identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The JobLabour",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The labour start date and time."
                            },
                            "hours": {
                              "type": "integer",
                              "description": "The number of hours of labour."
                            },
                            "minutes": {
                              "type": "integer",
                              "description": "The number of minutes of labour."
                            },
                            "labourType": {
                              "type": "string",
                              "description": "The labour type."
                            },
                            "labourInit": {
                              "type": "string",
                              "description": "The initials of the staff member who performed the labour."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The labour comment."
                            },
                            "addInit": {
                              "type": "string",
                              "description": "The initials of the user who created the labour entry."
                            },
                            "addDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was created."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the labour entry."
                            },
                            "modifyDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was last modified."
                            }
                          },
                          "required": [
                            "start",
                            "hours",
                            "minutes",
                            "labourType",
                            "labourInit",
                            "comment",
                            "addInit",
                            "modifyInit"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "JobLabour",
                    "attributes": {
                      "start": "2025-03-10T18:10:00",
                      "hours": 0,
                      "minutes": 10,
                      "labourType": "Admin",
                      "labourInit": "SYS",
                      "comment": "Did some admin",
                      "addInit": "SYS",
                      "addDate": "2025-03-25T18:10:00",
                      "modifyInit": "SYS",
                      "modifyDate": "2025-03-25T18:10:00"
                    },
                    "links": {
                      "self": "/api/v1/jobs/10/labour/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the JobLabour for the jobno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the JobLabour for the jobno-lineid parameter provided",
        "requestBody": {
          "description": "The JobLabour",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The labour start date and time."
                          },
                          "hours": {
                            "type": "integer",
                            "description": "The number of hours of labour."
                          },
                          "minutes": {
                            "type": "integer",
                            "description": "The number of minutes of labour."
                          },
                          "labourType": {
                            "type": "string",
                            "description": "The labour type."
                          },
                          "labourInit": {
                            "type": "string",
                            "description": "The initials of the staff member who performed the labour."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The labour comment."
                          },
                          "addInit": {
                            "type": "string",
                            "description": "The initials of the user who created the labour entry."
                          },
                          "addDate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the labour entry was created."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the labour entry."
                          },
                          "modifyDate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the labour entry was last modified."
                          }
                        },
                        "required": [
                          "start",
                          "hours",
                          "minutes",
                          "labourType",
                          "labourInit",
                          "comment",
                          "addInit",
                          "modifyInit"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobLabour",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The labour start date and time."
                            },
                            "hours": {
                              "type": "integer",
                              "description": "The number of hours of labour."
                            },
                            "minutes": {
                              "type": "integer",
                              "description": "The number of minutes of labour."
                            },
                            "labourType": {
                              "type": "string",
                              "description": "The labour type."
                            },
                            "labourInit": {
                              "type": "string",
                              "description": "The initials of the staff member who performed the labour."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The labour comment."
                            },
                            "addInit": {
                              "type": "string",
                              "description": "The initials of the user who created the labour entry."
                            },
                            "addDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was created."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the labour entry."
                            },
                            "modifyDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the labour entry was last modified."
                            }
                          },
                          "required": [
                            "start",
                            "hours",
                            "minutes",
                            "labourType",
                            "labourInit",
                            "comment",
                            "addInit",
                            "modifyInit"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/stock": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The JobStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "SuppliedQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "BackorderQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "QtyPicked": {
                              "type": "number",
                              "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "discount": {
                              "type": "number",
                              "description": "The discount amount applied to the unit price."
                            },
                            "linePrice": {
                              "type": "number",
                              "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                            },
                            "linePriceTF": {
                              "type": "number",
                              "description": "The line price exclusive of tax."
                            },
                            "linePriceTP": {
                              "type": "number",
                              "description": "The line price inclusive of tax."
                            },
                            "taxCode": {
                              "type": "string",
                              "description": "The tax code applied to this stock line."
                            },
                            "ManualCost": {
                              "type": "number",
                              "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status of this stock line."
                            },
                            "HideOnInv": {
                              "type": "string",
                              "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                            },
                            "CommissionFloor": {
                              "type": "number",
                              "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionPercentage": {
                              "type": "number",
                              "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionAmount": {
                              "type": "number",
                              "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionSource": {
                              "type": "string",
                              "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                            },
                            "costTotal": {
                              "type": "number",
                              "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                            },
                            "linkedPONo": {
                              "type": "integer",
                              "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                            },
                            "linkedPONoLineId": {
                              "type": "integer",
                              "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "SuppliedQty",
                            "BackorderQty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "LocationCode",
                            "discount",
                            "linePrice",
                            "linePriceTF",
                            "linePriceTP",
                            "taxCode",
                            "status",
                            "HideOnInv",
                            "CommissionSource",
                            "costTotal",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "JobStock",
                      "attributes": {
                        "qty": 2.0,
                        "suppliedQty": 2.0,
                        "backorderQty": 1.0,
                        "qtyPicked": 1.0,
                        "unitPrice": 199.0,
                        "unitPriceTF": 199.0,
                        "unitPriceTP": 218.9,
                        "locationCode": "NSW",
                        "discount": 10.0,
                        "linePrice": 358.2,
                        "linePriceTF": 358.2,
                        "linePriceTP": 394.02,
                        "taxCode": "GST",
                        "manualCost": 120.0,
                        "status": "Booked",
                        "hideOnInv": "Show",
                        "commissionFloor": 50.0,
                        "commissionPercentage": 5.0,
                        "commissionAmount": 17.91,
                        "commissionSource": "StockCommission",
                        "costTotal": 240.0,
                        "configNo": 101,
                        "serials": [
                          {
                            "serialNo": "SN-100001",
                            "stockAttrs": [
                              {
                                "name": "Colour",
                                "value": "R,Red"
                              },
                              {
                                "name": "Size",
                                "value": "27,TwentySeven"
                              }
                            ]
                          }
                        ],
                        "stockAttrs": [
                          {
                            "name": "Colour",
                            "value": "R,Red"
                          },
                          {
                            "name": "Size",
                            "value": "27,TwentySeven"
                          }
                        ],
                        "addinit": "SYS",
                        "adddate": "2024-06-24T14:04:00",
                        "stockId": 7,
                        "stockCode": "MULTILEVEL.MANF",
                        "unit": "EACH",
                        "description": "Multilevel Manufacture",
                        "modifyinit": "SYS",
                        "modifydate": "2024-06-24T14:04:19",
                        "linkedPONo": 26,
                        "linkedPONoLineId": 1
                      },
                      "relationships": {
                        "stock": {
                          "data": {
                            "type": "Stock",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "JobStock",
                      "attributes": {
                        "stockCode": "SAMSUNG.MON.27",
                        "description": "27\" QLED Samsung Monitor"
                      }
                    },
                    {
                      "id": "10-3",
                      "type": "JobStock",
                      "attributes": {
                        "stockCode": "SAMSUNG.MON.27",
                        "description": "27\"Red QLED Samsung Monitor"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the JobStock"
      },
      "post": {
        "description": "Creates a JobStock",
        "requestBody": {
          "description": "The JobStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "SuppliedQty": {
                            "type": "number",
                            "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "BackorderQty": {
                            "type": "number",
                            "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "QtyPicked": {
                            "type": "number",
                            "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "LocationCode": {
                            "type": "string",
                            "description": "The stock location code."
                          },
                          "discount": {
                            "type": "number",
                            "description": "The discount amount applied to the unit price."
                          },
                          "linePrice": {
                            "type": "number",
                            "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                          },
                          "linePriceTF": {
                            "type": "number",
                            "description": "The line price exclusive of tax."
                          },
                          "linePriceTP": {
                            "type": "number",
                            "description": "The line price inclusive of tax."
                          },
                          "taxCode": {
                            "type": "string",
                            "description": "The tax code applied to this stock line."
                          },
                          "ManualCost": {
                            "type": "number",
                            "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                          },
                          "status": {
                            "type": "string",
                            "description": "The status of this stock line."
                          },
                          "HideOnInv": {
                            "type": "string",
                            "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                          },
                          "CommissionFloor": {
                            "type": "number",
                            "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionPercentage": {
                            "type": "number",
                            "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionAmount": {
                            "type": "number",
                            "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionSource": {
                            "type": "string",
                            "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                          },
                          "costTotal": {
                            "type": "number",
                            "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                          },
                          "linkedPONo": {
                            "type": "integer",
                            "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                          },
                          "linkedPONoLineId": {
                            "type": "integer",
                            "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                          },
                          "Serials": null,
                          "StockAttrs": null,
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "SuppliedQty",
                          "BackorderQty",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "LocationCode",
                          "discount",
                          "linePrice",
                          "linePriceTF",
                          "linePriceTP",
                          "taxCode",
                          "status",
                          "HideOnInv",
                          "CommissionSource",
                          "costTotal",
                          "Serials",
                          "StockAttrs",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "SuppliedQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "BackorderQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "QtyPicked": {
                              "type": "number",
                              "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "discount": {
                              "type": "number",
                              "description": "The discount amount applied to the unit price."
                            },
                            "linePrice": {
                              "type": "number",
                              "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                            },
                            "linePriceTF": {
                              "type": "number",
                              "description": "The line price exclusive of tax."
                            },
                            "linePriceTP": {
                              "type": "number",
                              "description": "The line price inclusive of tax."
                            },
                            "taxCode": {
                              "type": "string",
                              "description": "The tax code applied to this stock line."
                            },
                            "ManualCost": {
                              "type": "number",
                              "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status of this stock line."
                            },
                            "HideOnInv": {
                              "type": "string",
                              "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                            },
                            "CommissionFloor": {
                              "type": "number",
                              "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionPercentage": {
                              "type": "number",
                              "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionAmount": {
                              "type": "number",
                              "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionSource": {
                              "type": "string",
                              "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                            },
                            "costTotal": {
                              "type": "number",
                              "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                            },
                            "linkedPONo": {
                              "type": "integer",
                              "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                            },
                            "linkedPONoLineId": {
                              "type": "integer",
                              "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "SuppliedQty",
                            "BackorderQty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "LocationCode",
                            "discount",
                            "linePrice",
                            "linePriceTF",
                            "linePriceTP",
                            "taxCode",
                            "status",
                            "HideOnInv",
                            "CommissionSource",
                            "costTotal",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/stock/{jobno-lineid}": {
      "parameters": [
        {
          "name": "jobno-lineid",
          "in": "path",
          "description": "The JobStock identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The JobStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "SuppliedQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "BackorderQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "QtyPicked": {
                              "type": "number",
                              "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "discount": {
                              "type": "number",
                              "description": "The discount amount applied to the unit price."
                            },
                            "linePrice": {
                              "type": "number",
                              "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                            },
                            "linePriceTF": {
                              "type": "number",
                              "description": "The line price exclusive of tax."
                            },
                            "linePriceTP": {
                              "type": "number",
                              "description": "The line price inclusive of tax."
                            },
                            "taxCode": {
                              "type": "string",
                              "description": "The tax code applied to this stock line."
                            },
                            "ManualCost": {
                              "type": "number",
                              "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status of this stock line."
                            },
                            "HideOnInv": {
                              "type": "string",
                              "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                            },
                            "CommissionFloor": {
                              "type": "number",
                              "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionPercentage": {
                              "type": "number",
                              "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionAmount": {
                              "type": "number",
                              "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionSource": {
                              "type": "string",
                              "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                            },
                            "costTotal": {
                              "type": "number",
                              "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                            },
                            "linkedPONo": {
                              "type": "integer",
                              "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                            },
                            "linkedPONoLineId": {
                              "type": "integer",
                              "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "SuppliedQty",
                            "BackorderQty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "LocationCode",
                            "discount",
                            "linePrice",
                            "linePriceTF",
                            "linePriceTP",
                            "taxCode",
                            "status",
                            "HideOnInv",
                            "CommissionSource",
                            "costTotal",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "JobStock",
                    "attributes": {
                      "qty": 2.0,
                      "suppliedQty": 2.0,
                      "backorderQty": 1.0,
                      "qtyPicked": 1.0,
                      "unitPrice": 199.0,
                      "unitPriceTF": 199.0,
                      "unitPriceTP": 218.9,
                      "locationCode": "NSW",
                      "discount": 10.0,
                      "linePrice": 358.2,
                      "linePriceTF": 358.2,
                      "linePriceTP": 394.02,
                      "taxCode": "GST",
                      "manualCost": 120.0,
                      "status": "Booked",
                      "hideOnInv": "Show",
                      "commissionFloor": 50.0,
                      "commissionPercentage": 5.0,
                      "commissionAmount": 17.91,
                      "commissionSource": "StockCommission",
                      "costTotal": 240.0,
                      "configNo": 101,
                      "serials": [
                        {
                          "serialNo": "SN-100001",
                          "stockAttrs": [
                            {
                              "name": "Colour",
                              "value": "R,Red"
                            },
                            {
                              "name": "Size",
                              "value": "27,TwentySeven"
                            }
                          ]
                        }
                      ],
                      "stockAttrs": [
                        {
                          "name": "Colour",
                          "value": "R,Red"
                        },
                        {
                          "name": "Size",
                          "value": "27,TwentySeven"
                        }
                      ],
                      "addinit": "SYS",
                      "adddate": "2024-06-24T14:04:00",
                      "stockId": 7,
                      "stockCode": "MULTILEVEL.MANF",
                      "unit": "EACH",
                      "description": "Multilevel Manufacture",
                      "modifyinit": "SYS",
                      "modifydate": "2024-06-24T14:04:19",
                      "linkedPONo": 26,
                      "linkedPONoLineId": 1
                    },
                    "relationships": {
                      "stock": {
                        "data": {
                          "type": "Stock",
                          "id": "7"
                        }
                      }
                    },
                    "links": {
                      "self": "/api/v1/jobs/10/stock/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the JobStock for the jobno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the JobStock for the jobno-lineid parameter provided",
        "requestBody": {
          "description": "The JobStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "SuppliedQty": {
                            "type": "number",
                            "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "BackorderQty": {
                            "type": "number",
                            "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "QtyPicked": {
                            "type": "number",
                            "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "LocationCode": {
                            "type": "string",
                            "description": "The stock location code."
                          },
                          "discount": {
                            "type": "number",
                            "description": "The discount amount applied to the unit price."
                          },
                          "linePrice": {
                            "type": "number",
                            "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                          },
                          "linePriceTF": {
                            "type": "number",
                            "description": "The line price exclusive of tax."
                          },
                          "linePriceTP": {
                            "type": "number",
                            "description": "The line price inclusive of tax."
                          },
                          "taxCode": {
                            "type": "string",
                            "description": "The tax code applied to this stock line."
                          },
                          "ManualCost": {
                            "type": "number",
                            "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                          },
                          "status": {
                            "type": "string",
                            "description": "The status of this stock line."
                          },
                          "HideOnInv": {
                            "type": "string",
                            "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                          },
                          "CommissionFloor": {
                            "type": "number",
                            "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionPercentage": {
                            "type": "number",
                            "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionAmount": {
                            "type": "number",
                            "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                          },
                          "CommissionSource": {
                            "type": "string",
                            "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                          },
                          "costTotal": {
                            "type": "number",
                            "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                          },
                          "linkedPONo": {
                            "type": "integer",
                            "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                          },
                          "linkedPONoLineId": {
                            "type": "integer",
                            "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                          },
                          "Serials": null,
                          "StockAttrs": null,
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "SuppliedQty",
                          "BackorderQty",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "LocationCode",
                          "discount",
                          "linePrice",
                          "linePriceTF",
                          "linePriceTP",
                          "taxCode",
                          "status",
                          "HideOnInv",
                          "CommissionSource",
                          "costTotal",
                          "Serials",
                          "StockAttrs",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity ordered has no impact on qantity supplied or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "SuppliedQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Supplied does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity supplied has no impact on qantity ordered or backorder quantity.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "BackorderQty": {
                              "type": "number",
                              "description": "The quantity supplied.  Notes<br>Updating the Qty Backorder does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>Updating the quantity backorder has no impact on qantity ordered or quantity supplied.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "QtyPicked": {
                              "type": "number",
                              "description": "The quantity that has been picked for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Job is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Job is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "discount": {
                              "type": "number",
                              "description": "The discount amount applied to the unit price."
                            },
                            "linePrice": {
                              "type": "number",
                              "description": "The line price. If Job is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive."
                            },
                            "linePriceTF": {
                              "type": "number",
                              "description": "The line price exclusive of tax."
                            },
                            "linePriceTP": {
                              "type": "number",
                              "description": "The line price inclusive of tax."
                            },
                            "taxCode": {
                              "type": "string",
                              "description": "The tax code applied to this stock line."
                            },
                            "ManualCost": {
                              "type": "number",
                              "description": "The manual cost override for this stock line. Set to null to revert to automatic cost. Note: Will not be returned in the response if value is null."
                            },
                            "status": {
                              "type": "string",
                              "description": "The status of this stock line."
                            },
                            "HideOnInv": {
                              "type": "string",
                              "description": "Controls how this line appears on the invoice. Valid values: Show, Price, Line."
                            },
                            "CommissionFloor": {
                              "type": "number",
                              "description": "The commission floor amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionPercentage": {
                              "type": "number",
                              "description": "The commission percentage for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionAmount": {
                              "type": "number",
                              "description": "The commission amount for this stock line. Note: Will not be returned in the response if value is null."
                            },
                            "CommissionSource": {
                              "type": "string",
                              "description": "The commission source for this stock line. Valid values: NoCommission, ManualCommission, StockCommission, PromoCommission, SessionCommission."
                            },
                            "costTotal": {
                              "type": "number",
                              "description": "The total cost for this stock line (cost × qty ordered × unit qty)."
                            },
                            "linkedPONo": {
                              "type": "integer",
                              "description": "Linked PONo. Note: Will not be returned in the response if value is null."
                            },
                            "linkedPONoLineId": {
                              "type": "integer",
                              "description": "Linked PONo stock lineId. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "SuppliedQty",
                            "BackorderQty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "LocationCode",
                            "discount",
                            "linePrice",
                            "linePriceTF",
                            "linePriceTP",
                            "taxCode",
                            "status",
                            "HideOnInv",
                            "CommissionSource",
                            "costTotal",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {}
    },
    "/api/v1/jobs/{jobno}/timers": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The JobTimer",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "LabourInit": {
                              "type": "string",
                              "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "The timer comment."
                            },
                            "LabourType": {
                              "type": "string",
                              "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                            },
                            "State": {
                              "type": "string",
                              "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                            },
                            "LineNum": {
                              "type": "integer",
                              "description": "The line number of the timer on the job."
                            }
                          },
                          "required": [
                            "LabourInit",
                            "Comment",
                            "LabourType",
                            "State",
                            "LineNum"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns all the JobTimer"
      },
      "post": {
        "description": "Creates a JobTimer",
        "requestBody": {
          "description": "The JobTimer",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "LabourInit": {
                            "type": "string",
                            "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                          },
                          "Comment": {
                            "type": "string",
                            "description": "The timer comment."
                          },
                          "LabourType": {
                            "type": "string",
                            "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                          },
                          "State": {
                            "type": "string",
                            "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                          },
                          "LineNum": {
                            "type": "integer",
                            "description": "The line number of the timer on the job."
                          }
                        },
                        "required": [
                          "LabourInit",
                          "Comment",
                          "LabourType",
                          "State",
                          "LineNum"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobTimer",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "LabourInit": {
                              "type": "string",
                              "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "The timer comment."
                            },
                            "LabourType": {
                              "type": "string",
                              "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                            },
                            "State": {
                              "type": "string",
                              "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                            },
                            "LineNum": {
                              "type": "integer",
                              "description": "The line number of the timer on the job."
                            }
                          },
                          "required": [
                            "LabourInit",
                            "Comment",
                            "LabourType",
                            "State",
                            "LineNum"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs/{jobno}/timers/{jobno-refno}": {
      "parameters": [
        {
          "name": "jobno-refno",
          "in": "path",
          "description": "The JobTimer identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The JobTimer",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "LabourInit": {
                              "type": "string",
                              "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "The timer comment."
                            },
                            "LabourType": {
                              "type": "string",
                              "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                            },
                            "State": {
                              "type": "string",
                              "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                            },
                            "LineNum": {
                              "type": "integer",
                              "description": "The line number of the timer on the job."
                            }
                          },
                          "required": [
                            "LabourInit",
                            "Comment",
                            "LabourType",
                            "State",
                            "LineNum"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "JobTimer",
                    "attributes": {
                      "LabourInit": "SYS",
                      "Comment": "Onsite diagnostics",
                      "LabourType": "Admin",
                      "State": "Resumed",
                      "LineNum": 2
                    },
                    "links": {
                      "self": "/api/v1/jobs/10/timers/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the JobTimer for the jobno-refno parameter provided"
      },
      "patch": {
        "description": "Updates the JobTimer for the jobno-refno parameter provided",
        "requestBody": {
          "description": "The JobTimer",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "LabourInit": {
                            "type": "string",
                            "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                          },
                          "Comment": {
                            "type": "string",
                            "description": "The timer comment."
                          },
                          "LabourType": {
                            "type": "string",
                            "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                          },
                          "State": {
                            "type": "string",
                            "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                          },
                          "LineNum": {
                            "type": "integer",
                            "description": "The line number of the timer on the job."
                          }
                        },
                        "required": [
                          "LabourInit",
                          "Comment",
                          "LabourType",
                          "State",
                          "LineNum"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The JobTimer",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "LabourInit": {
                              "type": "string",
                              "description": "The initials of the staff member the timer is for. Defaults to the current user if not supplied."
                            },
                            "Comment": {
                              "type": "string",
                              "description": "The timer comment."
                            },
                            "LabourType": {
                              "type": "string",
                              "description": "The labour type for the timer. Defaults to the user's labour type if not supplied."
                            },
                            "State": {
                              "type": "string",
                              "description": "Must be left out or null when creating a timer.  Otherwise may be Paused, Resumed, or Stopped.  Note once stopped the timer will cease to exist (it become a simple labour entry on the job)."
                            },
                            "LineNum": {
                              "type": "integer",
                              "description": "The line number of the timer on the job."
                            }
                          },
                          "required": [
                            "LabourInit",
                            "Comment",
                            "LabourType",
                            "State",
                            "LineNum"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/operations": {
      "post": {
        "description": "An implementation of the JSONAPI Atomic Operations extension.  Refer to <href a=\"https://jsonapi.org/ext/atomic/\">https://jsonapi.org/ext/atomic/</href>"
      }
    },
    "/api/v1/meterreadheader": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The MeterReadHeader",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "MeterReadCapture": {
                              "type": "string",
                              "description": "How the meter read was captured."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the meter read was created, as an ISO date."
                            },
                            "ReadDate": {
                              "type": "string",
                              "description": "The date the meter was read, as an ISO date."
                            },
                            "BillDate": {
                              "type": "string",
                              "description": "The date the meter read was billed, as an ISO date."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the meter read."
                            },
                            "ReadType": {
                              "type": "string",
                              "description": "The meter read type."
                            },
                            "ReadStatus": {
                              "type": "string",
                              "description": "The meter read status."
                            },
                            "PageRequestName": {
                              "type": "string",
                              "description": "The page request name."
                            },
                            "IsPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary meter read."
                            },
                            "MeterReads": null
                          },
                          "required": [
                            "MeterReadCapture",
                            "DateIn",
                            "ReadDate",
                            "BillDate",
                            "CustRef",
                            "ReadType",
                            "ReadStatus",
                            "PageRequestName",
                            "IsPrimary",
                            "MeterReads"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {}
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns all the MeterReadHeader"
      }
    },
    "/api/v1/meterreadheader/{meterreadheaderno}": {
      "parameters": [
        {
          "name": "meterreadheaderno",
          "in": "path",
          "description": "The MeterReadHeader identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The MeterReadHeader",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "MeterReadCapture": {
                              "type": "string",
                              "description": "How the meter read was captured."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The date the meter read was created, as an ISO date."
                            },
                            "ReadDate": {
                              "type": "string",
                              "description": "The date the meter was read, as an ISO date."
                            },
                            "BillDate": {
                              "type": "string",
                              "description": "The date the meter read was billed, as an ISO date."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the meter read."
                            },
                            "ReadType": {
                              "type": "string",
                              "description": "The meter read type."
                            },
                            "ReadStatus": {
                              "type": "string",
                              "description": "The meter read status."
                            },
                            "PageRequestName": {
                              "type": "string",
                              "description": "The page request name."
                            },
                            "IsPrimary": {
                              "type": "boolean",
                              "description": "Whether this is the primary meter read."
                            },
                            "MeterReads": null
                          },
                          "required": [
                            "MeterReadCapture",
                            "DateIn",
                            "ReadDate",
                            "BillDate",
                            "CustRef",
                            "ReadType",
                            "ReadStatus",
                            "PageRequestName",
                            "IsPrimary",
                            "MeterReads"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {}
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "3",
                    "type": "MeterReadHeader",
                    "attributes": {
                      "meterReadCapture": "Submission",
                      "dateIn": "2025-10-28",
                      "readDate": "2025-10-22",
                      "billDate": "2025-10-31",
                      "custRef": "MR-CR-0031",
                      "readType": "NormalRead",
                      "readStatus": "Active",
                      "pageRequestName": "Monthly Meter Read",
                      "isPrimary": true,
                      "meterReads": [
                        {
                          "meterTypeName": "Black",
                          "actualMeterRead": 3000.0,
                          "effectiveMeterRead": 3000.0,
                          "qty": 500.0,
                          "lineTotalTF": 25.0,
                          "lineTotalTP": 27.5
                        },
                        {
                          "meterTypeName": "Colour",
                          "actualMeterRead": 1275.0,
                          "effectiveMeterRead": 1275.0,
                          "qty": 200.0,
                          "lineTotalTF": 40.0,
                          "lineTotalTP": 44.0
                        }
                      ]
                    },
                    "relationships": {
                      "createdby": {
                        "data": {
                          "type": "CardFile",
                          "id": "1"
                        }
                      },
                      "linkedobject": {
                        "data": {
                          "type": "Asset",
                          "id": "28"
                        }
                      }
                    },
                    "links": {
                      "self": "/jim_webapi_nonmulticompany/api/v1/meterreadheader/3"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the MeterReadHeader for the meterreadheaderno parameter provided"
      }
    },
    "/api/v1/projectcreate": {
      "post": {
        "description": "Creates a new project. ",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "projectCode": {
                    "type": "string",
                    "description": "Project Code is required."
                  },
                  "customer": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "shipTo": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "status": {
                    "type": "string",
                    "description": "The status for the Project.  This status must be valid per workflow from Booked."
                  },
                  "projectType": {
                    "type": "string",
                    "description": "Value as per Tools->Setups Projects/Project Types"
                  },
                  "priority": {
                    "type": "string",
                    "description": "The project's priority."
                  },
                  "billingFrequency": {
                    "type": "string",
                    "description": "How often the project is billed (per the project's billing setup)."
                  },
                  "billOnDay": {
                    "type": "integer",
                    "description": "The day of the billing cycle on which the project is billed."
                  },
                  "contractType": {
                    "type": "string",
                    "description": "Price Level"
                  },
                  "contractIn": {
                    "type": "string",
                    "description": "The date the Project starts.  Must be in ISO date format - eg \"2021-02-01\""
                  },
                  "contractOut": {
                    "type": "string",
                    "description": "The date the Project ends.  Must be in ISO date format - eg \"2022-01-31\""
                  },
                  "accountMgr": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "custRefNo": {
                    "type": "string",
                    "description": "The customer's reference for the project."
                  },
                  "itemCode": {
                    "type": "string",
                    "description": "The item code."
                  },
                  "itemDesc": {
                    "type": "string",
                    "description": "The item description."
                  },
                  "useNonProjectPromos": {
                    "type": "boolean",
                    "description": "Whether the project can use promotions that are not specific to the project."
                  },
                  "allowEstimates": {
                    "type": "boolean",
                    "description": "Whether estimates are allowed on the project."
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code.  Branches must be enabled."
                  },
                  "subBranch": {
                    "type": "string",
                    "description": "The sub-branch code.  Sub-branches must be enabled.  Note that in the UI sub-branches may be renamed."
                  },
                  "glDept": {
                    "type": "string",
                    "description": "The GL department code.  GL departments must be enabled."
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "projectCode",
                  "projectType"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projectNo": {
                      "type": "integer",
                      "description": "The number of the created project."
                    },
                    "projectCode": {
                      "type": "string",
                      "description": "The code of the created project."
                    }
                  },
                  "required": [
                    "projectNo",
                    "projectCode"
                  ]
                },
                "example": "{\r\n    \"projectNo\": 40,\r\n    \"projectCode\": \"TESTPROJECT\"\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/projects": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Contract",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ProjectCode": {
                              "type": "string",
                              "description": "The project (contract) code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The project's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The project's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the project."
                            },
                            "ReqDays": {
                              "type": "integer",
                              "description": "The default number of days until due (required days)."
                            },
                            "ReqHours": {
                              "type": "integer",
                              "description": "The default number of hours until due (required hours)."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The project start date, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The project end date, as an ISO date."
                            },
                            "BillingItemDesc": {
                              "type": "string",
                              "description": "The billing item description."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code. On update, must match a configured company."
                            },
                            "ProjectTypeName": {
                              "type": "string",
                              "description": "The project type name. On update, must match a configured project type."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Groups": null
                          },
                          "required": [
                            "ProjectCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "DateIn",
                            "DateOut",
                            "BillingItemDesc",
                            "CompanyCode",
                            "ProjectTypeName",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "billingItem": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "4",
                      "type": "Contract",
                      "attributes": {
                        "projectCode": "CONTRACT.SUB",
                        "priority": "Normal",
                        "status": "Booked",
                        "custRef": "CR-2026-0041",
                        "reqDays": 30,
                        "reqHours": 4,
                        "dateIn": "2025-10-22",
                        "dateOut": "2026-10-21",
                        "billingItemDesc": "MultiFunction Centre Type 2",
                        "companyCode": "HAPPEN",
                        "projectTypeName": "Machine",
                        "BranchCode": "SYD",
                        "SubBranchCode": "SYD-NORTH",
                        "GLDeptCode": "SERVICE",
                        "groups": [
                          {
                            "type": "Region",
                            "id": 1,
                            "name": "East Coast"
                          },
                          {
                            "type": "Industry",
                            "id": 4,
                            "name": "Manufacturing"
                          }
                        ]
                      },
                      "relationships": {
                        "customer": {
                          "data": {
                            "type": "CardFile",
                            "id": "6"
                          }
                        },
                        "ship": {
                          "data": {
                            "type": "CardFile",
                            "id": "6"
                          }
                        },
                        "billingItem": {
                          "data": {
                            "type": "Item",
                            "id": "6"
                          }
                        },
                        "name": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "asset": {
                          "data": {
                            "type": "Asset",
                            "id": "1"
                          }
                        }
                      },
                      "links": {
                        "self": "/jim_webapi/api/v1/projects/4"
                      }
                    },
                    {
                      "id": "5",
                      "type": "Contract",
                      "attributes": {
                        "projectCode": "CONTRACT.MAINT",
                        "status": "In Progress"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Contract",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of customer,ship,accountManager,name,billingItem",
            "required": true
          }
        ]
      },
      "post": {
        "description": "Creates a Contract",
        "requestBody": {
          "description": "The Contract",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "ProjectCode": {
                            "type": "string",
                            "description": "The project (contract) code."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The project's priority."
                          },
                          "Status": {
                            "type": "string",
                            "description": "The project's status."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the project."
                          },
                          "ReqDays": {
                            "type": "integer",
                            "description": "The default number of days until due (required days)."
                          },
                          "ReqHours": {
                            "type": "integer",
                            "description": "The default number of hours until due (required hours)."
                          },
                          "DateIn": {
                            "type": "string",
                            "description": "The project start date, as an ISO date."
                          },
                          "DateOut": {
                            "type": "string",
                            "description": "The project end date, as an ISO date."
                          },
                          "BillingItemDesc": {
                            "type": "string",
                            "description": "The billing item description."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code. On update, must match a configured company."
                          },
                          "ProjectTypeName": {
                            "type": "string",
                            "description": "The project type name. On update, must match a configured project type."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "Groups": null
                        },
                        "required": [
                          "ProjectCode",
                          "Priority",
                          "Status",
                          "CustRef",
                          "DateIn",
                          "DateOut",
                          "BillingItemDesc",
                          "CompanyCode",
                          "ProjectTypeName",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "Groups"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "customer": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "billingItem": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "asset": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Contract",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ProjectCode": {
                              "type": "string",
                              "description": "The project (contract) code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The project's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The project's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the project."
                            },
                            "ReqDays": {
                              "type": "integer",
                              "description": "The default number of days until due (required days)."
                            },
                            "ReqHours": {
                              "type": "integer",
                              "description": "The default number of hours until due (required hours)."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The project start date, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The project end date, as an ISO date."
                            },
                            "BillingItemDesc": {
                              "type": "string",
                              "description": "The billing item description."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code. On update, must match a configured company."
                            },
                            "ProjectTypeName": {
                              "type": "string",
                              "description": "The project type name. On update, must match a configured project type."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Groups": null
                          },
                          "required": [
                            "ProjectCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "DateIn",
                            "DateOut",
                            "BillingItemDesc",
                            "CompanyCode",
                            "ProjectTypeName",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "billingItem": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/projects/{projectno}": {
      "parameters": [
        {
          "name": "projectno",
          "in": "path",
          "description": "The Contract identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Contract",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ProjectCode": {
                              "type": "string",
                              "description": "The project (contract) code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The project's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The project's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the project."
                            },
                            "ReqDays": {
                              "type": "integer",
                              "description": "The default number of days until due (required days)."
                            },
                            "ReqHours": {
                              "type": "integer",
                              "description": "The default number of hours until due (required hours)."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The project start date, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The project end date, as an ISO date."
                            },
                            "BillingItemDesc": {
                              "type": "string",
                              "description": "The billing item description."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code. On update, must match a configured company."
                            },
                            "ProjectTypeName": {
                              "type": "string",
                              "description": "The project type name. On update, must match a configured project type."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Groups": null
                          },
                          "required": [
                            "ProjectCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "DateIn",
                            "DateOut",
                            "BillingItemDesc",
                            "CompanyCode",
                            "ProjectTypeName",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "billingItem": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "4",
                    "type": "Contract",
                    "attributes": {
                      "projectCode": "CONTRACT.SUB",
                      "priority": "Normal",
                      "status": "Booked",
                      "custRef": "CR-2026-0041",
                      "reqDays": 30,
                      "reqHours": 4,
                      "dateIn": "2025-10-22",
                      "dateOut": "2026-10-21",
                      "billingItemDesc": "MultiFunction Centre Type 2",
                      "companyCode": "HAPPEN",
                      "projectTypeName": "Machine",
                      "BranchCode": "SYD",
                      "SubBranchCode": "SYD-NORTH",
                      "GLDeptCode": "SERVICE",
                      "groups": [
                        {
                          "type": "Region",
                          "id": 1,
                          "name": "East Coast"
                        },
                        {
                          "type": "Industry",
                          "id": 4,
                          "name": "Manufacturing"
                        }
                      ]
                    },
                    "relationships": {
                      "customer": {
                        "data": {
                          "type": "CardFile",
                          "id": "6"
                        }
                      },
                      "ship": {
                        "data": {
                          "type": "CardFile",
                          "id": "6"
                        }
                      },
                      "billingItem": {
                        "data": {
                          "type": "Item",
                          "id": "6"
                        }
                      },
                      "name": {
                        "data": {
                          "type": "CardFile",
                          "id": "16"
                        }
                      },
                      "accountManager": {
                        "data": {
                          "type": "CardFile",
                          "id": "16"
                        }
                      },
                      "asset": {
                        "data": {
                          "type": "Asset",
                          "id": "1"
                        }
                      }
                    },
                    "links": {
                      "self": "/jim_webapi/api/v1/projects/4"
                    }
                  },
                  "included": [
                    {
                      "type": "CardFile",
                      "id": "6",
                      "attributes": {
                        "cardNo": 6,
                        "cardCode": "ACME",
                        "contact": "Jane Smith",
                        "name": "Acme Corporation Pty Ltd",
                        "aBN": "51 824 753 556",
                        "aCN": "824 753 556",
                        "shipVia": "Courier Express",
                        "shipAmount": 15.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SERVICE",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-ACME-4471",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "accFeePerc": 1.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 30,
                          "requiredHours": 4,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "12 Industrial Ave",
                          "suburb": "Chatswood",
                          "state": "NSW",
                          "postCode": "2067",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "6-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "type": "CardFile",
                      "id": "16",
                      "attributes": {
                        "cardNo": 16,
                        "cardCode": "STAFF.AM",
                        "contact": "Alex Manager",
                        "name": "Alex Manager",
                        "aBN": "",
                        "aCN": "",
                        "shipVia": "",
                        "shipAmount": 0.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SYD-NORTH",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Retail",
                          "custPONo": "PO-AM-001",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 10000.0,
                          "accFeePerc": 0.0,
                          "bPayRefNo": "9900112233",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": false,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": false,
                          "streetAddress": "Level 2, 88 Market Street",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "16-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "type": "Item",
                      "id": "6",
                      "attributes": {
                        "ItemCode": "MFC.TYPE2",
                        "Description": "MultiFunction Centre Type 2"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Contract for the projectno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of customer,ship,accountManager,name,billingItem",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the Contract for the projectno parameter provided",
        "requestBody": {
          "description": "The Contract",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "ProjectCode": {
                            "type": "string",
                            "description": "The project (contract) code."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The project's priority."
                          },
                          "Status": {
                            "type": "string",
                            "description": "The project's status."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the project."
                          },
                          "ReqDays": {
                            "type": "integer",
                            "description": "The default number of days until due (required days)."
                          },
                          "ReqHours": {
                            "type": "integer",
                            "description": "The default number of hours until due (required hours)."
                          },
                          "DateIn": {
                            "type": "string",
                            "description": "The project start date, as an ISO date."
                          },
                          "DateOut": {
                            "type": "string",
                            "description": "The project end date, as an ISO date."
                          },
                          "BillingItemDesc": {
                            "type": "string",
                            "description": "The billing item description."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code. On update, must match a configured company."
                          },
                          "ProjectTypeName": {
                            "type": "string",
                            "description": "The project type name. On update, must match a configured project type."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "Groups": null
                        },
                        "required": [
                          "ProjectCode",
                          "Priority",
                          "Status",
                          "CustRef",
                          "DateIn",
                          "DateOut",
                          "BillingItemDesc",
                          "CompanyCode",
                          "ProjectTypeName",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "Groups"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "customer": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "billingItem": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "asset": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Contract",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "ProjectCode": {
                              "type": "string",
                              "description": "The project (contract) code."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The project's priority."
                            },
                            "Status": {
                              "type": "string",
                              "description": "The project's status."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the project."
                            },
                            "ReqDays": {
                              "type": "integer",
                              "description": "The default number of days until due (required days)."
                            },
                            "ReqHours": {
                              "type": "integer",
                              "description": "The default number of hours until due (required hours)."
                            },
                            "DateIn": {
                              "type": "string",
                              "description": "The project start date, as an ISO date."
                            },
                            "DateOut": {
                              "type": "string",
                              "description": "The project end date, as an ISO date."
                            },
                            "BillingItemDesc": {
                              "type": "string",
                              "description": "The billing item description."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code. On update, must match a configured company."
                            },
                            "ProjectTypeName": {
                              "type": "string",
                              "description": "The project type name. On update, must match a configured project type."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "Groups": null
                          },
                          "required": [
                            "ProjectCode",
                            "Priority",
                            "Status",
                            "CustRef",
                            "DateIn",
                            "DateOut",
                            "BillingItemDesc",
                            "CompanyCode",
                            "ProjectTypeName",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "billingItem": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/projects/{projectno}/comments": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The ContractComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "ContractComment",
                      "attributes": {
                        "status": "Booked",
                        "comment": "Customer approved the annual service schedule.",
                        "modifyInit": "SYS",
                        "modifyDate": "2024-03-25T17:07:23+11:00"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the ContractComment"
      },
      "post": {
        "description": "Creates a ContractComment",
        "requestBody": {
          "description": "The ContractComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The ContractComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/projects/{projectno}/comments/{projectno-lineid}": {
      "parameters": [
        {
          "name": "projectno-lineid",
          "in": "path",
          "description": "The ContractComment identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The ContractComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "ContractComment",
                    "attributes": {
                      "status": "Booked",
                      "comment": "Customer approved the annual service schedule.",
                      "modifyInit": "SYS",
                      "modifyDate": "2024-03-25T17:07:23+11:00"
                    },
                    "links": {
                      "self": "/api/v1/projects/10/comments/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the ContractComment for the projectno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the ContractComment for the projectno-lineid parameter provided",
        "requestBody": {
          "description": "The ContractComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The ContractComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pocreate": {
      "post": {
        "description": "Creates a new purchase order. ",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "poType": {
                    "type": "string",
                    "description": "The PO type.  If omitted the PO type will be Purchase.  Can be set to Purchase or Debtors PO."
                  },
                  "buyerOrderNo": {
                    "type": "string",
                    "description": "OBSOLETE: Use vendorInvNo instead."
                  },
                  "vendorInvNo": {
                    "type": "string",
                    "description": "The vendor invoice # for PO Type Purchase.  The customer invoice # for PO Type Debtors PO."
                  },
                  "calcPricesFromTaxPaid": {
                    "type": "boolean",
                    "description": "Default is according Tools->Options Purchase, Calc Tax Total From."
                  },
                  "buyer": {
                    "type": "object",
                    "properties": {
                      "accountNo": {
                        "type": "string",
                        "description": "The buyer's account number.  If supplied must be consistent with the sellor cardCode or cardNo if either of those are also supplied.  In Jim2 \r\nthe buyer account number is stored on the vender cardfile.  NB for multicompany, if the vendor account number is used a seperate vendor cardfile must be used for each company."
                      },
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    },
                    "description": "The company doing the purchasing.  Only relevant for multi company databases."
                  },
                  "seller": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    },
                    "description": "The seller (vendor) card file the purchase order is raised against."
                  },
                  "shipTo": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "from": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "dateDue": {
                    "type": "string",
                    "description": "The date due for the new PO.  Must be in ISO date format - eg \"2020-01-31\""
                  },
                  "ourRef": {
                    "type": "string",
                    "description": "Our reference for the PO."
                  },
                  "status": {
                    "type": "string",
                    "description": "The status for the PO.  This status must be valid per workflow from Booked, and cannot be Received or FINISH."
                  },
                  "bidReference": {
                    "type": "string",
                    "description": "The bid reference."
                  },
                  "allowPartShip": {
                    "type": "boolean",
                    "description": "Set to true if the the order can be part shipped"
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code.  Branches must be enabled."
                  },
                  "subBranch": {
                    "type": "string",
                    "description": "The sub-branch code.  Sub-branches must be enabled.  Note that in the UI sub-branches may be renamed."
                  },
                  "glDept": {
                    "type": "string",
                    "description": "The GL department code.  GL departments must be enabled."
                  },
                  "notes": {
                    "type": "string",
                    "description": "Notes / description on the PO."
                  },
                  "comments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "comment": {
                          "type": "string",
                          "description": "The comment text."
                        }
                      },
                      "required": [
                        "comment"
                      ]
                    }
                  },
                  "stockLines": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "buyerStockCode": {
                          "type": "string",
                          "description": "The Jim2 stock code (the Jim2 user is buying the stock)"
                        },
                        "unitQty": {
                          "type": "number",
                          "description": "The number of base units contained in each unit of measure (eg 12 for a box of 12). If omitted, 1 is used."
                        },
                        "qty": {
                          "type": "number",
                          "description": "The quantity of the stock to order."
                        },
                        "unitPriceTF": {
                          "type": "number",
                          "description": "The price ex.  If no price is required then Jim2's default PO pricing will be used.  However, only one of PriceTF or PriceTP can be provided."
                        },
                        "unitPriceTP": {
                          "type": "number",
                          "description": "The price inc.  If no price is required then Jim2's default PO pricing will be used.  However, only one of PriceTF or PriceTP can be provided.  Note that if the customer is not paying tax this will be the equalent to specifying the same value in unitPriceTF"
                        },
                        "discount": {
                          "type": "number",
                          "description": "Discount percent."
                        },
                        "location": {
                          "type": "string",
                          "description": "The location to which the stock is to be delivered.  Normally this field is left out."
                        },
                        "serials": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "serial": {
                                "type": "string",
                                "description": "A stock serial number."
                              },
                              "stockAttrs": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "name": {
                                      "type": "string",
                                      "description": "The attribute name."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The attribute value.  Note, this is always send as a string, but the attribute type dictates the acceptable string formats.<br>eg integer attributes values must be a whole number<br>date attribute values must be a date is ISO format<br>real attribute values must be a decimal string (with period as the decimal separator)checkbox values must be a boolan value (\"true\", or \"false\")."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "value"
                                  ]
                                },
                                "description": "Only applicable to stock that is serial and attributed on purchase or serial on sell."
                              }
                            },
                            "required": [
                              "serial"
                            ]
                          },
                          "description": "Only applicable to stock that is serial on purchase or serial on sell. An array of serial numbers (and possible attributes if stock is also attributed) related to this stock."
                        },
                        "stockAttrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "The attribute name."
                              },
                              "value": {
                                "type": "string",
                                "description": "The attribute value.  Note, this is always send as a string, but the attribute type dictates the acceptable string formats.<br>eg integer attributes values must be a whole number<br>date attribute values must be a date is ISO format<br>real attribute values must be a decimal string (with period as the decimal separator)checkbox values must be a boolan value (\"true\", or \"false\")."
                              }
                            },
                            "required": [
                              "name",
                              "value"
                            ]
                          },
                          "description": "Only applicable to stock that is attribute on purchase or attribute on sell. An array of attributes related to this stock."
                        }
                      },
                      "required": [
                        "buyerStockCode",
                        "qty"
                      ]
                    }
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "seller"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "poNo": {
                      "type": "integer",
                      "description": "The number of the created PO."
                    }
                  },
                  "required": [
                    "poNo"
                  ]
                },
                "example": "{\r\n    \"poNo\": 12\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/pos": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Purchase",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The PO's current status. Setting it changes the PO status (see the PO's setStatus)."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference number for the PO."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The PO's priority."
                            },
                            "PODate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The purchase order date."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the PO is due."
                            },
                            "RecDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The vendor invoice date / received date."
                            },
                            "VendInvNo": {
                              "type": "string",
                              "description": "The vendor's invoice number."
                            },
                            "OrigPONo": {
                              "type": "integer",
                              "description": "The original PO number this PO derives from."
                            },
                            "PrevPONo": {
                              "type": "integer",
                              "description": "The previous PO number in the backorder chain."
                            },
                            "PODesc": {
                              "type": "string",
                              "description": "Notes / description on the PO."
                            },
                            "AllowPartShip": {
                              "type": "boolean",
                              "description": "Whether part shipment is allowed on the PO."
                            },
                            "CustRetNo": {
                              "type": "integer",
                              "description": "The customer return number associated with the PO."
                            },
                            "BidRef": {
                              "type": "string",
                              "description": "The bid reference."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the PO."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the PO's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "POType": {
                              "type": "integer",
                              "description": "The PO type as a numeric value (Purchase or Debtors PO)."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Deprecated: whether prices are calculated tax-inclusive. Use calcPricesFromTaxPaid instead."
                            },
                            "CalcPricesFromTaxPaid": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "totals": {
                              "type": "object",
                              "properties": {
                                "StockTotal": {
                                  "type": "number",
                                  "description": "The total of the PO's stock lines, excluding tax."
                                },
                                "Freight": {
                                  "type": "number",
                                  "description": "The freight charge amount."
                                },
                                "FreightTax": {
                                  "type": "number",
                                  "description": "The tax on the freight charge."
                                },
                                "FreightTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the freight charge."
                                },
                                "FreightTaxAdj": {
                                  "type": "integer",
                                  "description": "The freight tax adjustment indicator."
                                },
                                "AccFee": {
                                  "type": "number",
                                  "description": "The account fee amount."
                                },
                                "AccFeeTax": {
                                  "type": "number",
                                  "description": "The tax on the account fee."
                                },
                                "AccFeeTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the account fee."
                                },
                                "Tax": {
                                  "type": "number",
                                  "description": "The total tax on the PO."
                                },
                                "TaxAdj": {
                                  "type": "integer",
                                  "description": "The tax adjustment indicator."
                                },
                                "Total": {
                                  "type": "number",
                                  "description": "The PO total, including tax."
                                }
                              },
                              "required": [
                                "StockTotal",
                                "Freight",
                                "FreightTax",
                                "FreightTaxCode",
                                "AccFee",
                                "AccFeeTax",
                                "AccFeeTaxCode",
                                "Tax",
                                "Total"
                              ],
                              "description": "The PO totals (tax-free, tax, tax-paid)."
                            },
                            "WithholdGST": {
                              "type": "number",
                              "description": "The withheld GST amount on the PO."
                            },
                            "CostMethod": {
                              "type": "integer",
                              "description": "The cost method as a numeric value."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the PO pays tax."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the PO's currency exchange rate is locked."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The PO's source name, identifying where it originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the PO's source."
                            },
                            "ETD": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The estimated time of departure (ETD) for the PO."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            }
                          },
                          "required": [
                            "Status",
                            "OurRef",
                            "Priority",
                            "PODate",
                            "VendInvNo",
                            "PODesc",
                            "AllowPartShip",
                            "CustRetNo",
                            "BidRef",
                            "CurrencyCode",
                            "ExchangeRate",
                            "SubBranchCode",
                            "BranchCode",
                            "POType",
                            "GLDeptCode",
                            "TaxInc",
                            "CalcPricesFromTaxPaid",
                            "totals",
                            "WithholdGST",
                            "TaxPaid",
                            "RateLocked",
                            "Source",
                            "SourceValue",
                            "CompanyCode"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "vendor": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "attributes": {
                        "allowPartShip": true,
                        "bidReference": "BID-0041",
                        "branchCode": "SYD",
                        "calcPricesFromTaxPaid": true,
                        "companyCode": "P.COMPANY2",
                        "costMethod": 0,
                        "currencyCode": "AUD",
                        "custRetNo": 0,
                        "dateDue": "2023-02-24T14:35:00",
                        "estimatedDeparture": "2023-03-01T08:00:00",
                        "exchangeRate": 1.0,
                        "gLDeptCode": "1",
                        "notes": "Reorder of monitor connectors",
                        "origPONo": 4,
                        "ourRef": "OR-0041",
                        "pODate": "2023-02-24T14:34:00",
                        "pOType": 0,
                        "prevPONo": 2,
                        "priority": "Normal",
                        "rateLocked": true,
                        "recDate": "2023-02-28T09:15:00",
                        "source": "AutoTask",
                        "sourceValue": "AT-REF-0041",
                        "Status": "Booked",
                        "subBranchCode": "SALE",
                        "TaxInc": true,
                        "taxPaid": true,
                        "totals": {
                          "accFee": 5.0,
                          "accFeeTax": 0.5,
                          "accFeeTaxCode": "G",
                          "freight": 10.0,
                          "freightTax": 1.0,
                          "freightTaxAdj": 0,
                          "freightTaxCode": "G",
                          "stockTotal": 15.5,
                          "Tax": 3.05,
                          "taxAdj": 0,
                          "total": 35.05
                        },
                        "vendorInvNo": "VINV-0041",
                        "withholdGST": 12.5
                      },
                      "id": "4",
                      "relationships": {
                        "comments": {
                          "data": [
                            {
                              "id": "4-1",
                              "type": "PurchaseComment"
                            }
                          ]
                        },
                        "contract": {
                          "data": {
                            "id": "5",
                            "type": "Contract"
                          }
                        },
                        "from": {
                          "data": {
                            "id": "16",
                            "type": "CardFile"
                          }
                        },
                        "ship": {
                          "data": {
                            "id": "1",
                            "type": "CardFile"
                          }
                        },
                        "stock": {
                          "data": [
                            {
                              "id": "4-1",
                              "type": "PurchaseStock"
                            }
                          ]
                        },
                        "vendor": {
                          "data": {
                            "id": "15",
                            "type": "CardFile"
                          }
                        }
                      },
                      "type": "Purchase"
                    },
                    {
                      "id": "9",
                      "type": "Purchase",
                      "attributes": {
                        "Status": "Booked",
                        "pODate": "2023-10-12T13:19:00"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Purchase",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,stock,vendor,from,ship",
            "required": true
          }
        ]
      }
    },
    "/api/v1/pos/{pono}": {
      "parameters": [
        {
          "name": "pono",
          "in": "path",
          "description": "The Purchase identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Purchase",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The PO's current status. Setting it changes the PO status (see the PO's setStatus)."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference number for the PO."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The PO's priority."
                            },
                            "PODate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The purchase order date."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the PO is due."
                            },
                            "RecDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The vendor invoice date / received date."
                            },
                            "VendInvNo": {
                              "type": "string",
                              "description": "The vendor's invoice number."
                            },
                            "OrigPONo": {
                              "type": "integer",
                              "description": "The original PO number this PO derives from."
                            },
                            "PrevPONo": {
                              "type": "integer",
                              "description": "The previous PO number in the backorder chain."
                            },
                            "PODesc": {
                              "type": "string",
                              "description": "Notes / description on the PO."
                            },
                            "AllowPartShip": {
                              "type": "boolean",
                              "description": "Whether part shipment is allowed on the PO."
                            },
                            "CustRetNo": {
                              "type": "integer",
                              "description": "The customer return number associated with the PO."
                            },
                            "BidRef": {
                              "type": "string",
                              "description": "The bid reference."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the PO."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the PO's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "POType": {
                              "type": "integer",
                              "description": "The PO type as a numeric value (Purchase or Debtors PO)."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Deprecated: whether prices are calculated tax-inclusive. Use calcPricesFromTaxPaid instead."
                            },
                            "CalcPricesFromTaxPaid": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "totals": {
                              "type": "object",
                              "properties": {
                                "StockTotal": {
                                  "type": "number",
                                  "description": "The total of the PO's stock lines, excluding tax."
                                },
                                "Freight": {
                                  "type": "number",
                                  "description": "The freight charge amount."
                                },
                                "FreightTax": {
                                  "type": "number",
                                  "description": "The tax on the freight charge."
                                },
                                "FreightTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the freight charge."
                                },
                                "FreightTaxAdj": {
                                  "type": "integer",
                                  "description": "The freight tax adjustment indicator."
                                },
                                "AccFee": {
                                  "type": "number",
                                  "description": "The account fee amount."
                                },
                                "AccFeeTax": {
                                  "type": "number",
                                  "description": "The tax on the account fee."
                                },
                                "AccFeeTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the account fee."
                                },
                                "Tax": {
                                  "type": "number",
                                  "description": "The total tax on the PO."
                                },
                                "TaxAdj": {
                                  "type": "integer",
                                  "description": "The tax adjustment indicator."
                                },
                                "Total": {
                                  "type": "number",
                                  "description": "The PO total, including tax."
                                }
                              },
                              "required": [
                                "StockTotal",
                                "Freight",
                                "FreightTax",
                                "FreightTaxCode",
                                "AccFee",
                                "AccFeeTax",
                                "AccFeeTaxCode",
                                "Tax",
                                "Total"
                              ],
                              "description": "The PO totals (tax-free, tax, tax-paid)."
                            },
                            "WithholdGST": {
                              "type": "number",
                              "description": "The withheld GST amount on the PO."
                            },
                            "CostMethod": {
                              "type": "integer",
                              "description": "The cost method as a numeric value."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the PO pays tax."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the PO's currency exchange rate is locked."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The PO's source name, identifying where it originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the PO's source."
                            },
                            "ETD": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The estimated time of departure (ETD) for the PO."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            }
                          },
                          "required": [
                            "Status",
                            "OurRef",
                            "Priority",
                            "PODate",
                            "VendInvNo",
                            "PODesc",
                            "AllowPartShip",
                            "CustRetNo",
                            "BidRef",
                            "CurrencyCode",
                            "ExchangeRate",
                            "SubBranchCode",
                            "BranchCode",
                            "POType",
                            "GLDeptCode",
                            "TaxInc",
                            "CalcPricesFromTaxPaid",
                            "totals",
                            "WithholdGST",
                            "TaxPaid",
                            "RateLocked",
                            "Source",
                            "SourceValue",
                            "CompanyCode"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "vendor": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "attributes": {
                      "allowPartShip": true,
                      "bidReference": "21321231",
                      "branchCode": "SYD",
                      "calcPricesFromTaxPaid": true,
                      "companyCode": "P.COMPANY2",
                      "costMethod": 0,
                      "currencyCode": "AUD",
                      "custRetNo": 0,
                      "dateDue": "2024-05-13T13:12:00",
                      "estimatedDeparture": "2024-05-20T08:00:00",
                      "exchangeRate": 1.0,
                      "gLDeptCode": "1",
                      "notes": "Po desc Notes",
                      "origPONo": 30,
                      "ourRef": "Ourrrrref",
                      "pODate": "2024-05-13T13:11:00",
                      "pOType": 0,
                      "prevPONo": 28,
                      "priority": "Normal",
                      "rateLocked": true,
                      "recDate": "2025-11-30T13:50:34",
                      "source": "Guff",
                      "sourceValue": "686HGGH",
                      "Status": "Booked",
                      "subBranchCode": "SALE",
                      "TaxInc": true,
                      "taxPaid": true,
                      "totals": {
                        "accFee": 12.0,
                        "accFeeTax": 1.2,
                        "accFeeTaxCode": "G",
                        "freight": 33.0,
                        "freightTax": 0.0,
                        "freightTaxAdj": 0,
                        "freightTaxCode": "E",
                        "stockTotal": 507.08,
                        "Tax": 50.71,
                        "taxAdj": 0,
                        "total": 603.99
                      },
                      "vendorInvNo": "wdwdwd",
                      "withholdGST": 273.32
                    },
                    "id": "30",
                    "links": {
                      "self": "/jim_test/api/v1/pos/30"
                    },
                    "relationships": {
                      "comments": {
                        "data": [
                          {
                            "id": "30-4",
                            "type": "PurchaseComment"
                          },
                          {
                            "id": "30-3",
                            "type": "PurchaseComment"
                          },
                          {
                            "id": "30--1",
                            "type": "PurchaseComment"
                          },
                          {
                            "id": "30-2",
                            "type": "PurchaseComment"
                          },
                          {
                            "id": "30-1",
                            "type": "PurchaseComment"
                          }
                        ]
                      },
                      "contract": {
                        "data": {
                          "id": "5",
                          "type": "Contract"
                        }
                      },
                      "from": {
                        "data": {
                          "id": "16",
                          "type": "CardFile"
                        }
                      },
                      "ship": {
                        "data": {
                          "id": "1",
                          "type": "CardFile"
                        }
                      },
                      "stock": {
                        "data": [
                          {
                            "id": "30-3",
                            "type": "PurchaseStock"
                          },
                          {
                            "id": "30-4",
                            "type": "PurchaseStock"
                          }
                        ]
                      },
                      "vendor": {
                        "data": {
                          "id": "15",
                          "type": "CardFile"
                        }
                      }
                    },
                    "type": "Purchase"
                  },
                  "included": [
                    {
                      "attributes": {
                        "adddate": "2025-11-24T17:08:00",
                        "addinit": "HT",
                        "configNo": 4501,
                        "description": "Simple test stock",
                        "modifydate": "2025-11-24T17:08:00",
                        "modifyinit": "HT",
                        "qty": 20.0,
                        "qtyReceived": 20.0,
                        "serials": [
                          {
                            "serialNo": "SN-PHRE-0001",
                            "stockAttrs": [
                              {
                                "name": "Colour",
                                "value": "R,Red"
                              },
                              {
                                "name": "Size",
                                "value": "8,Eight"
                              }
                            ]
                          },
                          {
                            "serialNo": "SN-PHRE-0002",
                            "stockAttrs": [
                              {
                                "name": "Colour",
                                "value": "R,Red"
                              },
                              {
                                "name": "Size",
                                "value": "8,Eight"
                              }
                            ]
                          }
                        ],
                        "stockAttrs": [
                          {
                            "name": "Colour",
                            "value": "R,Red"
                          },
                          {
                            "name": "Size",
                            "value": "8,Eight"
                          }
                        ],
                        "stockCode": "PHRE2995",
                        "stockId": 1,
                        "unit": "UNIT",
                        "unitPrice": 27.5,
                        "unitPriceTF": 25.0,
                        "unitPriceTP": 27.5
                      },
                      "id": "30-3",
                      "type": "PurchaseStock"
                    },
                    {
                      "attributes": {
                        "adddate": "2025-11-24T17:08:00",
                        "addinit": "HT",
                        "configNo": 4502,
                        "description": "Simple test stock",
                        "modifydate": "2025-11-24T17:08:00",
                        "modifyinit": "HT",
                        "qty": 3.0,
                        "qtyReceived": 3.0,
                        "stockAttrs": [
                          {
                            "name": "Colour",
                            "value": "B,Blue"
                          },
                          {
                            "name": "Size",
                            "value": "9,Nine"
                          }
                        ],
                        "stockCode": "PHRE2995",
                        "stockId": 1,
                        "unit": "UNIT",
                        "unitPrice": 2.596,
                        "unitPriceTF": 2.36,
                        "unitPriceTP": 2.596
                      },
                      "id": "30-4",
                      "type": "PurchaseStock"
                    },
                    {
                      "attributes": {
                        "comment": "Received in full and reconciled against vendor invoice.",
                        "include": true,
                        "modifyDate": "2025-11-24T17:04:26+11:00",
                        "modifyInit": "HT",
                        "status": "Booked"
                      },
                      "id": "30-4",
                      "type": "PurchaseComment"
                    },
                    {
                      "attributes": {
                        "comment": "Awaiting shipment confirmation from vendor.",
                        "include": true,
                        "modifyDate": "2025-11-24T13:50:52+11:00",
                        "modifyInit": "SYS",
                        "status": "Ordered"
                      },
                      "id": "30-3",
                      "type": "PurchaseComment"
                    },
                    {
                      "attributes": {
                        "comment": "wsws\r\nqaswsws",
                        "include": true,
                        "modifyDate": "2024-09-19T16:27:27+10:00",
                        "modifyInit": "HT",
                        "status": "Booked"
                      },
                      "id": "30--1",
                      "type": "PurchaseComment"
                    },
                    {
                      "attributes": {
                        "comment": "wsws",
                        "include": true,
                        "modifyDate": "2024-09-19T16:27:27+10:00",
                        "modifyInit": "SYS",
                        "status": "Booked"
                      },
                      "id": "30-2",
                      "type": "PurchaseComment"
                    },
                    {
                      "attributes": {
                        "comment": "Purchase order raised from contract requirement.",
                        "include": true,
                        "modifyDate": "2024-05-13T13:11:58+10:00",
                        "modifyInit": "SYS",
                        "status": "Booked"
                      },
                      "id": "30-1",
                      "type": "PurchaseComment"
                    },
                    {
                      "attributes": {
                        "aBN": "53004085616",
                        "aCN": "004085616",
                        "address": {
                          "country": "Australia",
                          "isAddressResidential": false,
                          "postCode": "2000",
                          "state": "NSW",
                          "streetAddress": "12 Vendor Street",
                          "suburb": "Sydney"
                        },
                        "branchCode": "SYD",
                        "cardCode": "VENDORCO",
                        "cardNo": 15,
                        "contact": "Bill Vendor",
                        "customer": {
                          "accFeePerc": 2.5,
                          "backorder": "Allow Backorders",
                          "batchInvGroupBy": "Customer",
                          "bPayRefNo": "123456789",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 50000.0,
                          "currencyCode": "AUD",
                          "custPONo": "PO-STANDING-15",
                          "groups": [
                            {
                              "Id": 3,
                              "Name": "Preferred Vendors",
                              "Type": "CardFileGroup"
                            }
                          ],
                          "priceLevel": "Wholesale",
                          "requiredDays": 30,
                          "requiredHours": 0,
                          "sendInvVia": "Email",
                          "sendStatementVia": "Email",
                          "taxExclCode": "E",
                          "taxInclCode": "G",
                          "taxPaid": true,
                          "terms": "30D"
                        },
                        "delAddress": {
                          "country": "Australia",
                          "isAddressResidential": false,
                          "postCode": "2000",
                          "state": "NSW",
                          "streetAddress": "12 Vendor Street",
                          "suburb": "Sydney"
                        },
                        "gLDeptCode": "1",
                        "name": "Vendor Co Pty Ltd",
                        "shipAmount": 15.0,
                        "shipVia": "Courier",
                        "subBranchCode": "SALE"
                      },
                      "id": "15",
                      "relationships": {
                        "accountManager": {
                          "data": {
                            "id": "2",
                            "type": "CardFile"
                          }
                        },
                        "contacts": {
                          "data": [
                            {
                              "id": "15-1",
                              "type": "CardFileContact"
                            }
                          ]
                        },
                        "parent": {
                          "data": {
                            "id": "14",
                            "type": "CardFile"
                          }
                        }
                      },
                      "type": "CardFile"
                    },
                    {
                      "attributes": {
                        "aBN": "45123456789",
                        "aCN": "123456789",
                        "address": {
                          "country": "Australia",
                          "isAddressResidential": false,
                          "postCode": "3000",
                          "state": "VIC",
                          "streetAddress": "8 Sender Road",
                          "suburb": "Melbourne"
                        },
                        "branchCode": "SYD",
                        "cardCode": "FROMCO",
                        "cardNo": 16,
                        "contact": "Fay From",
                        "customer": {
                          "accFeePerc": 0.0,
                          "backorder": "Allow Backorders",
                          "batchInvGroupBy": "Customer",
                          "bPayRefNo": "987654321",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 25000.0,
                          "currencyCode": "AUD",
                          "custPONo": "PO-STANDING-16",
                          "groups": [
                            {
                              "Id": 4,
                              "Name": "Suppliers",
                              "Type": "CardFileGroup"
                            }
                          ],
                          "priceLevel": "Wholesale",
                          "requiredDays": 14,
                          "requiredHours": 0,
                          "sendInvVia": "Email",
                          "sendStatementVia": "Print",
                          "taxExclCode": "E",
                          "taxInclCode": "G",
                          "taxPaid": true,
                          "terms": "14D"
                        },
                        "delAddress": {
                          "country": "Australia",
                          "isAddressResidential": false,
                          "postCode": "3000",
                          "state": "VIC",
                          "streetAddress": "8 Sender Road",
                          "suburb": "Melbourne"
                        },
                        "gLDeptCode": "1",
                        "name": "From Co Pty Ltd",
                        "shipAmount": 10.0,
                        "shipVia": "Courier",
                        "subBranchCode": "SALE"
                      },
                      "id": "16",
                      "relationships": {
                        "accountManager": {
                          "data": {
                            "id": "2",
                            "type": "CardFile"
                          }
                        },
                        "contacts": {
                          "data": [
                            {
                              "id": "16-1",
                              "type": "CardFileContact"
                            }
                          ]
                        },
                        "parent": {
                          "data": {
                            "id": "14",
                            "type": "CardFile"
                          }
                        }
                      },
                      "type": "CardFile"
                    },
                    {
                      "attributes": {
                        "aBN": "51824753556",
                        "aCN": "824753556",
                        "address": {
                          "country": "Australia",
                          "isAddressResidential": true,
                          "postCode": "4000",
                          "state": "QLD",
                          "streetAddress": "1 Delivery Lane",
                          "suburb": "Brisbane"
                        },
                        "branchCode": "SYD",
                        "cardCode": "SHIPTO",
                        "cardNo": 1,
                        "contact": "Sam Ship",
                        "customer": {
                          "accFeePerc": 0.0,
                          "backorder": "No Part Ship (Supply requested Quantity)",
                          "batchInvGroupBy": "Ship",
                          "bPayRefNo": "555666777",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 10000.0,
                          "currencyCode": "AUD",
                          "custPONo": "PO-STANDING-1",
                          "groups": [
                            {
                              "Id": 1,
                              "Name": "Retail Customers",
                              "Type": "CardFileGroup"
                            }
                          ],
                          "priceLevel": "Retail",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "sendInvVia": "Email & Print",
                          "sendStatementVia": "Email",
                          "taxExclCode": "E",
                          "taxInclCode": "G",
                          "taxPaid": true,
                          "terms": "COD"
                        },
                        "delAddress": {
                          "country": "Australia",
                          "isAddressResidential": true,
                          "postCode": "4000",
                          "state": "QLD",
                          "streetAddress": "1 Delivery Lane",
                          "suburb": "Brisbane"
                        },
                        "gLDeptCode": "1",
                        "name": "Ship To Pty Ltd",
                        "shipAmount": 20.0,
                        "shipVia": "Courier",
                        "subBranchCode": "SALE"
                      },
                      "id": "1",
                      "relationships": {
                        "accountManager": {
                          "data": {
                            "id": "2",
                            "type": "CardFile"
                          }
                        },
                        "contacts": {
                          "data": [
                            {
                              "id": "1-1",
                              "type": "CardFileContact"
                            }
                          ]
                        },
                        "parent": {
                          "data": {
                            "id": "14",
                            "type": "CardFile"
                          }
                        }
                      },
                      "type": "CardFile"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Purchase for the pono parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,stock,vendor,from,ship",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the Purchase for the pono parameter provided",
        "requestBody": {
          "description": "The Purchase",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "Status": {
                            "type": "string",
                            "description": "The PO's current status. Setting it changes the PO status (see the PO's setStatus)."
                          },
                          "OurRef": {
                            "type": "string",
                            "description": "Our reference number for the PO."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The PO's priority."
                          },
                          "PODate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The purchase order date."
                          },
                          "DateDue": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date the PO is due."
                          },
                          "RecDate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The vendor invoice date / received date."
                          },
                          "VendInvNo": {
                            "type": "string",
                            "description": "The vendor's invoice number."
                          },
                          "OrigPONo": {
                            "type": "integer",
                            "description": "The original PO number this PO derives from."
                          },
                          "PrevPONo": {
                            "type": "integer",
                            "description": "The previous PO number in the backorder chain."
                          },
                          "PODesc": {
                            "type": "string",
                            "description": "Notes / description on the PO."
                          },
                          "AllowPartShip": {
                            "type": "boolean",
                            "description": "Whether part shipment is allowed on the PO."
                          },
                          "CustRetNo": {
                            "type": "integer",
                            "description": "The customer return number associated with the PO."
                          },
                          "BidRef": {
                            "type": "string",
                            "description": "The bid reference."
                          },
                          "CurrencyCode": {
                            "type": "string",
                            "description": "The currency code."
                          },
                          "ExchangeRate": {
                            "type": "number",
                            "description": "The currency exchange rate applied to the PO."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must be a configured branch belonging to the PO's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "POType": {
                            "type": "integer",
                            "description": "The PO type as a numeric value (Purchase or Debtors PO)."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "TaxInc": {
                            "type": "boolean",
                            "description": "Deprecated: whether prices are calculated tax-inclusive. Use calcPricesFromTaxPaid instead."
                          },
                          "CalcPricesFromTaxPaid": {
                            "type": "boolean",
                            "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                          },
                          "totals": {
                            "type": "object",
                            "properties": {
                              "StockTotal": {
                                "type": "number",
                                "description": "The total of the PO's stock lines, excluding tax."
                              },
                              "Freight": {
                                "type": "number",
                                "description": "The freight charge amount."
                              },
                              "FreightTax": {
                                "type": "number",
                                "description": "The tax on the freight charge."
                              },
                              "FreightTaxCode": {
                                "type": "string",
                                "description": "The tax code applied to the freight charge."
                              },
                              "FreightTaxAdj": {
                                "type": "integer",
                                "description": "The freight tax adjustment indicator."
                              },
                              "AccFee": {
                                "type": "number",
                                "description": "The account fee amount."
                              },
                              "AccFeeTax": {
                                "type": "number",
                                "description": "The tax on the account fee."
                              },
                              "AccFeeTaxCode": {
                                "type": "string",
                                "description": "The tax code applied to the account fee."
                              },
                              "Tax": {
                                "type": "number",
                                "description": "The total tax on the PO."
                              },
                              "TaxAdj": {
                                "type": "integer",
                                "description": "The tax adjustment indicator."
                              },
                              "Total": {
                                "type": "number",
                                "description": "The PO total, including tax."
                              }
                            },
                            "required": [
                              "StockTotal",
                              "Freight",
                              "FreightTax",
                              "FreightTaxCode",
                              "AccFee",
                              "AccFeeTax",
                              "AccFeeTaxCode",
                              "Tax",
                              "Total"
                            ],
                            "description": "The PO totals (tax-free, tax, tax-paid)."
                          },
                          "WithholdGST": {
                            "type": "number",
                            "description": "The withheld GST amount on the PO."
                          },
                          "CostMethod": {
                            "type": "integer",
                            "description": "The cost method as a numeric value."
                          },
                          "TaxPaid": {
                            "type": "boolean",
                            "description": "Whether the PO pays tax."
                          },
                          "RateLocked": {
                            "type": "boolean",
                            "description": "Whether the PO's currency exchange rate is locked."
                          },
                          "Source": {
                            "type": "string",
                            "description": "The PO's source name, identifying where it originated."
                          },
                          "SourceValue": {
                            "type": "string",
                            "description": "The value associated with the PO's source."
                          },
                          "ETD": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The estimated time of departure (ETD) for the PO."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          }
                        },
                        "required": [
                          "Status",
                          "OurRef",
                          "Priority",
                          "PODate",
                          "VendInvNo",
                          "PODesc",
                          "AllowPartShip",
                          "CustRetNo",
                          "BidRef",
                          "CurrencyCode",
                          "ExchangeRate",
                          "SubBranchCode",
                          "BranchCode",
                          "POType",
                          "GLDeptCode",
                          "TaxInc",
                          "CalcPricesFromTaxPaid",
                          "totals",
                          "WithholdGST",
                          "TaxPaid",
                          "RateLocked",
                          "Source",
                          "SourceValue",
                          "CompanyCode"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "vendor": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "from": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "comments": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Purchase",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The PO's current status. Setting it changes the PO status (see the PO's setStatus)."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference number for the PO."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The PO's priority."
                            },
                            "PODate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The purchase order date."
                            },
                            "DateDue": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the PO is due."
                            },
                            "RecDate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The vendor invoice date / received date."
                            },
                            "VendInvNo": {
                              "type": "string",
                              "description": "The vendor's invoice number."
                            },
                            "OrigPONo": {
                              "type": "integer",
                              "description": "The original PO number this PO derives from."
                            },
                            "PrevPONo": {
                              "type": "integer",
                              "description": "The previous PO number in the backorder chain."
                            },
                            "PODesc": {
                              "type": "string",
                              "description": "Notes / description on the PO."
                            },
                            "AllowPartShip": {
                              "type": "boolean",
                              "description": "Whether part shipment is allowed on the PO."
                            },
                            "CustRetNo": {
                              "type": "integer",
                              "description": "The customer return number associated with the PO."
                            },
                            "BidRef": {
                              "type": "string",
                              "description": "The bid reference."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the PO."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the PO's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "POType": {
                              "type": "integer",
                              "description": "The PO type as a numeric value (Purchase or Debtors PO)."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Deprecated: whether prices are calculated tax-inclusive. Use calcPricesFromTaxPaid instead."
                            },
                            "CalcPricesFromTaxPaid": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "totals": {
                              "type": "object",
                              "properties": {
                                "StockTotal": {
                                  "type": "number",
                                  "description": "The total of the PO's stock lines, excluding tax."
                                },
                                "Freight": {
                                  "type": "number",
                                  "description": "The freight charge amount."
                                },
                                "FreightTax": {
                                  "type": "number",
                                  "description": "The tax on the freight charge."
                                },
                                "FreightTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the freight charge."
                                },
                                "FreightTaxAdj": {
                                  "type": "integer",
                                  "description": "The freight tax adjustment indicator."
                                },
                                "AccFee": {
                                  "type": "number",
                                  "description": "The account fee amount."
                                },
                                "AccFeeTax": {
                                  "type": "number",
                                  "description": "The tax on the account fee."
                                },
                                "AccFeeTaxCode": {
                                  "type": "string",
                                  "description": "The tax code applied to the account fee."
                                },
                                "Tax": {
                                  "type": "number",
                                  "description": "The total tax on the PO."
                                },
                                "TaxAdj": {
                                  "type": "integer",
                                  "description": "The tax adjustment indicator."
                                },
                                "Total": {
                                  "type": "number",
                                  "description": "The PO total, including tax."
                                }
                              },
                              "required": [
                                "StockTotal",
                                "Freight",
                                "FreightTax",
                                "FreightTaxCode",
                                "AccFee",
                                "AccFeeTax",
                                "AccFeeTaxCode",
                                "Tax",
                                "Total"
                              ],
                              "description": "The PO totals (tax-free, tax, tax-paid)."
                            },
                            "WithholdGST": {
                              "type": "number",
                              "description": "The withheld GST amount on the PO."
                            },
                            "CostMethod": {
                              "type": "integer",
                              "description": "The cost method as a numeric value."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the PO pays tax."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the PO's currency exchange rate is locked."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The PO's source name, identifying where it originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the PO's source."
                            },
                            "ETD": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The estimated time of departure (ETD) for the PO."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            }
                          },
                          "required": [
                            "Status",
                            "OurRef",
                            "Priority",
                            "PODate",
                            "VendInvNo",
                            "PODesc",
                            "AllowPartShip",
                            "CustRetNo",
                            "BidRef",
                            "CurrencyCode",
                            "ExchangeRate",
                            "SubBranchCode",
                            "BranchCode",
                            "POType",
                            "GLDeptCode",
                            "TaxInc",
                            "CalcPricesFromTaxPaid",
                            "totals",
                            "WithholdGST",
                            "TaxPaid",
                            "RateLocked",
                            "Source",
                            "SourceValue",
                            "CompanyCode"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "vendor": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pos/{pono}/comments": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The PurchaseComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "PurchaseComment",
                      "attributes": {
                        "include": true,
                        "status": "Booked",
                        "comment": "Purchase order raised from contract requirement.",
                        "modifyInit": "SYS",
                        "modifyDate": "2024-03-25T17:07:23+11:00"
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "PurchaseComment",
                      "attributes": {
                        "status": "FINISH",
                        "comment": "Unprinted"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the PurchaseComment"
      },
      "post": {
        "description": "Creates a PurchaseComment",
        "requestBody": {
          "description": "The PurchaseComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The PurchaseComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pos/{pono}/comments/{pono-lineid}": {
      "parameters": [
        {
          "name": "pono-lineid",
          "in": "path",
          "description": "The PurchaseComment identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The PurchaseComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "PurchaseComment",
                    "attributes": {
                      "include": true,
                      "status": "Booked",
                      "comment": "Purchase order raised from contract requirement.",
                      "modifyInit": "SYS",
                      "modifyDate": "2024-03-20T10:59:42+11:00"
                    },
                    "links": {
                      "self": "/api/v1/pos/10/comments/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the PurchaseComment for the pono-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the PurchaseComment for the pono-lineid parameter provided",
        "requestBody": {
          "description": "The PurchaseComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The PurchaseComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pos/{pono}/stock": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The PurchaseStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                            },
                            "qtyReceived": {
                              "type": "number",
                              "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "qtyReceived",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "PurchaseStock",
                      "attributes": {
                        "qty": 2.0,
                        "qtyReceived": 2.0,
                        "unitPrice": 20.0,
                        "unitPriceTF": 20.0,
                        "unitPriceTP": 20.0,
                        "configNo": 4501,
                        "serials": [
                          {
                            "serialNo": "serial1",
                            "stockAttrs": [
                              {
                                "name": "Colour",
                                "value": "R,Red"
                              },
                              {
                                "name": "Size",
                                "value": "8,Eight"
                              }
                            ]
                          },
                          {
                            "serialNo": "serial2",
                            "stockAttrs": [
                              {
                                "name": "Colour",
                                "value": "R,Red"
                              },
                              {
                                "name": "Size",
                                "value": "8,Eight"
                              }
                            ]
                          }
                        ],
                        "stockAttrs": [
                          {
                            "name": "Colour",
                            "value": "R,Red"
                          },
                          {
                            "name": "Size",
                            "value": "8,Eight"
                          }
                        ],
                        "addinit": "API",
                        "adddate": "2025-03-27T12:39:00",
                        "stockId": 3,
                        "stockCode": "SAMSUNG.MON.CONNECT",
                        "unit": "EACH",
                        "description": "Samsung Monitor Connector.",
                        "modifyinit": "API",
                        "modifydate": "2025-03-27T12:39:00"
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "PurchaseStock",
                      "attributes": {
                        "stockCode": "MOUSE",
                        "qty": 1.0
                      }
                    },
                    {
                      "id": "10-3",
                      "type": "PurchaseStock",
                      "attributes": {
                        "stockCode": "MOUSE2",
                        "qty": 1.0
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the PurchaseStock"
      },
      "post": {
        "description": "Creates a PurchaseStock",
        "requestBody": {
          "description": "The PurchaseStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                          },
                          "qtyReceived": {
                            "type": "number",
                            "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                          },
                          "Serials": null,
                          "StockAttrs": null,
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "qtyReceived",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "Serials",
                          "StockAttrs",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The PurchaseStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                            },
                            "qtyReceived": {
                              "type": "number",
                              "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "qtyReceived",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pos/{pono}/stock/{pono-lineid}": {
      "parameters": [
        {
          "name": "pono-lineid",
          "in": "path",
          "description": "The PurchaseStock identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The PurchaseStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                            },
                            "qtyReceived": {
                              "type": "number",
                              "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "qtyReceived",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "PurchaseStock",
                    "attributes": {
                      "qty": 2.0,
                      "qtyReceived": 2.0,
                      "unitPrice": 20.0,
                      "unitPriceTF": 20.0,
                      "unitPriceTP": 20.0,
                      "configNo": 4501,
                      "serials": [
                        {
                          "serialNo": "serial1",
                          "stockAttrs": [
                            {
                              "name": "Colour",
                              "value": "R,Red"
                            },
                            {
                              "name": "Size",
                              "value": "8,Eight"
                            }
                          ]
                        },
                        {
                          "serialNo": "serial2",
                          "stockAttrs": [
                            {
                              "name": "Colour",
                              "value": "R,Red"
                            },
                            {
                              "name": "Size",
                              "value": "8,Eight"
                            }
                          ]
                        }
                      ],
                      "stockAttrs": [
                        {
                          "name": "Colour",
                          "value": "R,Red"
                        },
                        {
                          "name": "Size",
                          "value": "8,Eight"
                        }
                      ],
                      "addinit": "API",
                      "adddate": "2025-03-27T12:39:00",
                      "stockId": 3,
                      "stockCode": "SAMSUNG.MON.CONNECT",
                      "unit": "EACH",
                      "description": "Samsung Monitor Connector.",
                      "modifyinit": "API",
                      "modifydate": "2025-03-27T12:39:00"
                    },
                    "links": {
                      "self": "/api/v1/pos/10/stock/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the PurchaseStock for the pono-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the PurchaseStock for the pono-lineid parameter provided",
        "requestBody": {
          "description": "The PurchaseStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                          },
                          "qtyReceived": {
                            "type": "number",
                            "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                          },
                          "Serials": null,
                          "StockAttrs": null,
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "qtyReceived",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "Serials",
                          "StockAttrs",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The PurchaseStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered. Updating the quantity ordered has no impact on quantity received."
                            },
                            "qtyReceived": {
                              "type": "number",
                              "description": "The quantity to be received. Updating the quantity received has no impact on quantity ordered."
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If PO is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if PO is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if PO is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number. Note: Will not be returned in the response if value is null."
                            },
                            "Serials": null,
                            "StockAttrs": null,
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "qtyReceived",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "Serials",
                            "StockAttrs",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {}
    },
    "/api/v1/quotecreate": {
      "post": {
        "description": "Creates a new quote. ",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "quoteType": {
                    "type": "string",
                    "description": "The Quote type.  If omitted the Quote type will be Normal.  Can be set to Back Order or TASK."
                  },
                  "customer": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    },
                    "description": "The customer the quote is for."
                  },
                  "shipTo": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "from": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "dateRequired": {
                    "type": "string",
                    "description": "The date due for the new Quote.  Must be in ISO date format - eg \"2020-01-31\""
                  },
                  "dateValid": {
                    "type": "string",
                    "description": "The date the Quote is valid till.  Must be in ISO date format - eg \"2020-01-31\""
                  },
                  "status": {
                    "type": "string",
                    "description": "The status for the Quote.  This status must be valid per workflow from Booked."
                  },
                  "accountMgr": {
                    "type": "object",
                    "properties": {
                      "cardNo": {
                        "type": "integer",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      },
                      "cardCode": {
                        "type": "string",
                        "description": "cardCode or cardNo are required. If both are supplied that must be consitent with each other (ie match what is stored within Jim2)."
                      }
                    }
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code.  Branches must be enabled."
                  },
                  "subBranch": {
                    "type": "string",
                    "description": "The sub-branch code.  Sub-branches must be enabled.  Note that in the UI sub-branches may be renamed."
                  },
                  "glDept": {
                    "type": "string",
                    "description": "The GL department code.  GL departments must be enabled."
                  },
                  "probability": {
                    "type": "string",
                    "description": "The probability (as a percentage) of winning the quote."
                  },
                  "custRefNo": {
                    "type": "string",
                    "description": "The customer's reference for the quote."
                  },
                  "ourRef": {
                    "type": "string",
                    "description": "Our reference for the quote."
                  },
                  "serialNo": {
                    "type": "string",
                    "description": "The item's serial number."
                  },
                  "shipAttn": {
                    "type": "string",
                    "description": "The ship-to contact (attention) name."
                  },
                  "shipAddress": {
                    "type": "object",
                    "properties": {
                      "customerName": {
                        "type": "string",
                        "description": "customer name as first line."
                      },
                      "isAddressResidential": {
                        "type": "boolean",
                        "description": "is this a residential address?"
                      },
                      "addressLine1": {
                        "type": "string",
                        "description": "The ship-to street address. Multiple lines can be included, separated by new lines."
                      },
                      "addressLine2": {
                        "type": "string",
                        "description": "An optional second line of the ship-to street address (see addressLine1)."
                      },
                      "suburb": {
                        "type": "string",
                        "description": "The ship-to suburb."
                      },
                      "state": {
                        "type": "string",
                        "description": "The ship-to state."
                      },
                      "postcode": {
                        "type": "string",
                        "description": "The ship-to post code."
                      },
                      "country": {
                        "type": "string",
                        "description": "The ship-to country."
                      }
                    }
                  },
                  "shipVia": {
                    "type": "string",
                    "description": "The carrier or method the goods are shipped via."
                  },
                  "shipPhone": {
                    "type": "string",
                    "description": "The ship-to contact phone number."
                  },
                  "shipEmail": {
                    "type": "string",
                    "description": "The ship-to contact email address."
                  },
                  "projectCode": {
                    "type": "string",
                    "description": "The code of the project (contract) to associate the quote with."
                  },
                  "paysTax": {
                    "type": "boolean",
                    "description": "Flag to indicate if the customer is to pay GST.  Should normally be left to default (set by customer CardFile)"
                  },
                  "calcPricesFromTaxPaid": {
                    "type": "boolean",
                    "description": "Default is according Tools->Options Job, Calc Tax Total From."
                  },
                  "itemCode": {
                    "type": "string",
                    "description": "The item code."
                  },
                  "itemDesc": {
                    "type": "string",
                    "description": "The item description."
                  },
                  "faultDesc": {
                    "type": "string",
                    "description": "The fault description."
                  },
                  "invoiceDesc": {
                    "type": "string",
                    "description": "The description shown on the invoice."
                  },
                  "header": {
                    "type": "string",
                    "description": "Free-text header shown at the top of the quote."
                  },
                  "footer": {
                    "type": "string",
                    "description": "Free-text footer shown at the bottom of the quote."
                  },
                  "comments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "comment": {
                          "type": "string",
                          "description": "The comment text."
                        }
                      },
                      "required": [
                        "comment"
                      ]
                    }
                  },
                  "stockLines": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "stockCode": {
                          "type": "string",
                          "description": "The Jim2 stock code (the Jim2 user is buying the stock)"
                        },
                        "stockDescription": {
                          "type": "string",
                          "description": "The stock description.  Only required if the default stock description needs to be overridden.  It is recommended this be set for special stock."
                        },
                        "unitQty": {
                          "type": "number",
                          "description": "The number of base units contained in each unit of measure (eg 12 for a box of 12). If omitted, 1 is used."
                        },
                        "qty": {
                          "type": "number",
                          "description": "The quantity of the stock to add to the quote."
                        },
                        "unitPriceTF": {
                          "type": "number",
                          "description": "The price ex.  If no price is required then Jim2's default Job pricing will be used.  However, only one of unitPriceTF or unitPriceTP can be provided. It is recommended to specify unitPriceTP if calcPriceFromTaxPaid is true."
                        },
                        "unitPriceTP": {
                          "type": "number",
                          "description": "The price inc.  If no price is required then Jim2's default Job pricing will be used.  However, only one of PriceTF or PriceTP can be provided.It is recommended to specify unitPriceTF if calcPriceFromTaxPaid is false."
                        },
                        "recommend": {
                          "type": "boolean",
                          "description": "Default is true.  Indicates if this stock line is to be ticked as recommended."
                        }
                      },
                      "required": [
                        "stockCode",
                        "qty"
                      ]
                    }
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "customer"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quoteNo": {
                      "type": "integer",
                      "description": "The number of the created quote."
                    }
                  },
                  "required": [
                    "quoteNo"
                  ]
                },
                "example": "{\r\n    \"quoteNo\": 2\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/quotereport/{quoteno}": {
      "get": {
        "description": "Returns the quote report.Custom URL query params will be sent to the report",
        "parameters": [
          {
            "name": "reportname",
            "in": "query",
            "description": "The report name to use.  Default report can be defined using the global variable WEBAPI_DefaultQuoteReport.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested quote report",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/quotes": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Quote",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The quote's current status. Setting it changes the quote status (see the quote's setStatus)."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The quote's priority."
                            },
                            "ProbabilityPcnt": {
                              "type": "integer",
                              "description": "The probability percentage of winning the quote."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The quote's free-text Type field."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the quote."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the quote."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "SerialNo": {
                              "type": "string",
                              "description": "The serial number."
                            },
                            "HeaderText": {
                              "type": "string",
                              "description": "The header text printed at the top of the quote."
                            },
                            "FooterText": {
                              "type": "string",
                              "description": "The footer text printed at the bottom of the quote."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The quote's date in."
                            },
                            "DateReq": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is required by."
                            },
                            "DateValid": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is valid until."
                            },
                            "JobNo": {
                              "type": "integer",
                              "description": "The number of the job created from this quote, if any."
                            },
                            "ProjectNo": {
                              "type": "integer",
                              "description": "The contract/project number associated with the quote."
                            },
                            "RejectionReasonNo": {
                              "type": "integer",
                              "description": "The rejection reason number, if the quote was rejected."
                            },
                            "ManfQty": {
                              "type": "number",
                              "description": "The manufacturing quantity."
                            },
                            "Freight": {
                              "type": "number",
                              "description": "The freight charge amount."
                            },
                            "FreightTax": {
                              "type": "number",
                              "description": "The tax on the freight charge."
                            },
                            "QuoteDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the quote."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the quote."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the quote."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ],
                              "description": "The customer (bill-to) address, ship-to address and freight details for the quote."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the quote's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "StockLocationCode": {
                              "type": "string",
                              "description": "The stock location code. On update, must match a configured stock location."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the quote pays tax."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the quote."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the quote's currency exchange rate is locked."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The quote's source name, identifying where the quote originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the quote's source."
                            },
                            "TotalTF": {
                              "type": "number",
                              "description": "The quote total excluding tax (tax-free)."
                            },
                            "TotalTP": {
                              "type": "number",
                              "description": "The quote total including tax (tax-paid)."
                            }
                          },
                          "required": [
                            "Status",
                            "Priority",
                            "ProbabilityPcnt",
                            "Type",
                            "CustRef",
                            "OurRef",
                            "ItemDesc",
                            "InvoiceDesc",
                            "FaultDesc",
                            "SerialNo",
                            "HeaderText",
                            "FooterText",
                            "DateIn",
                            "Freight",
                            "FreightTax",
                            "QuoteDetails",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "StockLocationCode",
                            "PriceLevel",
                            "TaxPaid",
                            "TaxInc",
                            "CurrencyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "CompanyCode",
                            "Source",
                            "SourceValue",
                            "TotalTF",
                            "TotalTP"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "12",
                      "type": "Quote",
                      "attributes": {
                        "Status": "Web Quote",
                        "Priority": "Normal",
                        "ProbabilityPcnt": 75,
                        "Type": "Normal",
                        "CustRef": "WEB-123",
                        "OurRef": "OUR-012",
                        "ItemDesc": "Sale",
                        "InvoiceDesc": "Invoice for quote 12",
                        "FaultDesc": "Screen flickers on startup",
                        "SerialNo": "SN-2024-00099",
                        "HeaderText": "Thank you for your enquiry",
                        "FooterText": "Terms and conditions apply",
                        "dateIn": "2024-09-05T10:30:00",
                        "DateReq": "2024-09-19T00:00:00",
                        "DateValid": "2024-10-05T00:00:00",
                        "JobNo": 1030,
                        "ProjectNo": 4,
                        "RejectionReasonNo": 1,
                        "ManfQty": 2.0,
                        "Freight": 12.0,
                        "FreightTax": 1.2,
                        "BranchCode": "SYD",
                        "SubBranchCode": "SSYD",
                        "GLDeptCode": "SALES",
                        "StockLocationCode": "NSW",
                        "priceLevel": "Dealer",
                        "taxPaid": true,
                        "TaxInc": true,
                        "currencyCode": "AUD",
                        "exchangeRate": 1.0,
                        "rateLocked": true,
                        "companyCode": "COMPANY.1",
                        "source": "WebAPI",
                        "sourceValue": "192.168.1.100",
                        "totalTF": 245.45,
                        "totalTP": 270.0,
                        "quoteDetails": {
                          "customer": {
                            "attn": "John Smith",
                            "name": "Simple Customer #1",
                            "isAddressResidential": false,
                            "streetAddress": "123 Main St",
                            "suburb": "Sydney",
                            "state": "NSW",
                            "postCode": "2000",
                            "country": "Australia",
                            "orderNo": "PO-12345"
                          },
                          "ship": {
                            "attn": "Jane Doe",
                            "name": "Simple Customer #1",
                            "isAddressResidential": true,
                            "streetAddress": "456 Delivery Rd",
                            "suburb": "Melbourne",
                            "state": "VIC",
                            "postCode": "3000",
                            "country": "Australia"
                          },
                          "freight": {
                            "amount": 12.0,
                            "tax": 1.2,
                            "taxCode": "GST",
                            "dispatch": [
                              {
                                "shipVia": "Australia Post",
                                "shipRef": "AP-77665",
                                "noOfCartons": null
                              }
                            ]
                          }
                        }
                      },
                      "relationships": {
                        "contract": {
                          "data": {
                            "id": "4",
                            "type": "Contract"
                          }
                        },
                        "customer": {
                          "data": {
                            "id": "3",
                            "type": "CardFile"
                          }
                        },
                        "from": {
                          "data": {
                            "id": "3",
                            "type": "CardFile"
                          }
                        },
                        "ship": {
                          "data": {
                            "id": "28",
                            "type": "CardFile"
                          }
                        },
                        "asset": {
                          "data": {
                            "id": "1",
                            "type": "Asset"
                          }
                        },
                        "comments": {
                          "data": [
                            {
                              "id": "12-7",
                              "type": "QuoteComment"
                            },
                            {
                              "id": "12-1",
                              "type": "QuoteComment"
                            }
                          ]
                        },
                        "stock": {
                          "data": [
                            {
                              "id": "12-3",
                              "type": "QuoteStock"
                            },
                            {
                              "id": "12-4",
                              "type": "QuoteStock"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "id": "15",
                      "type": "Quote",
                      "attributes": {
                        "Status": "Web Quote",
                        "CustRef": "WEB-456"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Quote",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,customer,from,ship,stock",
            "required": true
          }
        ]
      }
    },
    "/api/v1/quotes/{quoteno}": {
      "parameters": [
        {
          "name": "quoteno",
          "in": "path",
          "description": "The Quote identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Quote",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The quote's current status. Setting it changes the quote status (see the quote's setStatus)."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The quote's priority."
                            },
                            "ProbabilityPcnt": {
                              "type": "integer",
                              "description": "The probability percentage of winning the quote."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The quote's free-text Type field."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the quote."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the quote."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "SerialNo": {
                              "type": "string",
                              "description": "The serial number."
                            },
                            "HeaderText": {
                              "type": "string",
                              "description": "The header text printed at the top of the quote."
                            },
                            "FooterText": {
                              "type": "string",
                              "description": "The footer text printed at the bottom of the quote."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The quote's date in."
                            },
                            "DateReq": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is required by."
                            },
                            "DateValid": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is valid until."
                            },
                            "JobNo": {
                              "type": "integer",
                              "description": "The number of the job created from this quote, if any."
                            },
                            "ProjectNo": {
                              "type": "integer",
                              "description": "The contract/project number associated with the quote."
                            },
                            "RejectionReasonNo": {
                              "type": "integer",
                              "description": "The rejection reason number, if the quote was rejected."
                            },
                            "ManfQty": {
                              "type": "number",
                              "description": "The manufacturing quantity."
                            },
                            "Freight": {
                              "type": "number",
                              "description": "The freight charge amount."
                            },
                            "FreightTax": {
                              "type": "number",
                              "description": "The tax on the freight charge."
                            },
                            "QuoteDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the quote."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the quote."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the quote."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ],
                              "description": "The customer (bill-to) address, ship-to address and freight details for the quote."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the quote's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "StockLocationCode": {
                              "type": "string",
                              "description": "The stock location code. On update, must match a configured stock location."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the quote pays tax."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the quote."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the quote's currency exchange rate is locked."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The quote's source name, identifying where the quote originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the quote's source."
                            },
                            "TotalTF": {
                              "type": "number",
                              "description": "The quote total excluding tax (tax-free)."
                            },
                            "TotalTP": {
                              "type": "number",
                              "description": "The quote total including tax (tax-paid)."
                            }
                          },
                          "required": [
                            "Status",
                            "Priority",
                            "ProbabilityPcnt",
                            "Type",
                            "CustRef",
                            "OurRef",
                            "ItemDesc",
                            "InvoiceDesc",
                            "FaultDesc",
                            "SerialNo",
                            "HeaderText",
                            "FooterText",
                            "DateIn",
                            "Freight",
                            "FreightTax",
                            "QuoteDetails",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "StockLocationCode",
                            "PriceLevel",
                            "TaxPaid",
                            "TaxInc",
                            "CurrencyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "CompanyCode",
                            "Source",
                            "SourceValue",
                            "TotalTF",
                            "TotalTP"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10",
                    "type": "Quote",
                    "attributes": {
                      "Status": "Booked",
                      "Priority": "Normal",
                      "ProbabilityPcnt": 50,
                      "Type": "Normal",
                      "CustRef": "CUST-REF-001",
                      "OurRef": "OUR-REF-001",
                      "ItemDesc": "Sale",
                      "InvoiceDesc": "Invoice for quote 10",
                      "FaultDesc": "Unit intermittently powers off under load",
                      "SerialNo": "SN-2024-00187",
                      "HeaderText": "Thank you for your enquiry",
                      "FooterText": "Terms and conditions apply",
                      "dateIn": "2024-09-02T16:16:00",
                      "DateReq": "2024-09-15T00:00:00",
                      "DateValid": "2024-10-02T00:00:00",
                      "JobNo": 1045,
                      "ProjectNo": 4,
                      "RejectionReasonNo": 2,
                      "ManfQty": 5.0,
                      "Freight": 15.0,
                      "FreightTax": 1.5,
                      "BranchCode": "SYD",
                      "SubBranchCode": "SSYD",
                      "GLDeptCode": "SALES",
                      "StockLocationCode": "NSW",
                      "priceLevel": "Dealer",
                      "taxPaid": true,
                      "TaxInc": true,
                      "currencyCode": "AUD",
                      "exchangeRate": 1.0,
                      "rateLocked": true,
                      "companyCode": "COMPANY.1",
                      "source": "WebAPI",
                      "sourceValue": "192.168.1.100",
                      "totalTF": 27.27,
                      "totalTP": 30.0,
                      "quoteDetails": {
                        "customer": {
                          "attn": "John Smith",
                          "name": "Simple Customer #1",
                          "isAddressResidential": false,
                          "streetAddress": "123 Main St",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia",
                          "orderNo": "PO-12345"
                        },
                        "ship": {
                          "attn": "Jane Doe",
                          "name": "Simple Customer #1",
                          "isAddressResidential": true,
                          "streetAddress": "456 Delivery Rd",
                          "suburb": "Melbourne",
                          "state": "VIC",
                          "postCode": "3000",
                          "country": "Australia"
                        },
                        "freight": {
                          "amount": 15.0,
                          "tax": 1.5,
                          "taxCode": "GST",
                          "dispatch": [
                            {
                              "shipVia": "Australia Post",
                              "shipRef": "AP-99887",
                              "noOfCartons": null
                            }
                          ]
                        }
                      }
                    },
                    "relationships": {
                      "contract": {
                        "data": {
                          "type": "Contract",
                          "id": "4"
                        }
                      },
                      "customer": {
                        "data": {
                          "type": "CardFile",
                          "id": "3"
                        }
                      },
                      "from": {
                        "data": {
                          "type": "CardFile",
                          "id": "3"
                        }
                      },
                      "ship": {
                        "data": {
                          "type": "CardFile",
                          "id": "3"
                        }
                      },
                      "asset": {
                        "data": {
                          "type": "Asset",
                          "id": "1"
                        }
                      },
                      "comments": {
                        "data": [
                          {
                            "type": "QuoteComment",
                            "id": "10-2"
                          },
                          {
                            "type": "QuoteComment",
                            "id": "10-1"
                          }
                        ]
                      },
                      "stock": {
                        "data": [
                          {
                            "type": "QuoteStock",
                            "id": "10-3"
                          }
                        ]
                      }
                    },
                    "links": {
                      "self": "/api/v1/quotes/10"
                    }
                  },
                  "included": [
                    {
                      "id": "10-3",
                      "type": "QuoteStock",
                      "attributes": {
                        "qty": 1.0,
                        "unitPrice": 30.0,
                        "unitPriceTF": 27.27,
                        "unitPriceTP": 30.0,
                        "configNo": 812,
                        "addinit": "SYS",
                        "adddate": "2024-09-02T16:16:00",
                        "stockId": 6,
                        "stockCode": "KEYBOARD",
                        "unit": "EACH",
                        "description": "Keyboard",
                        "modifyinit": "SYS",
                        "modifydate": "2024-09-02T16:17:13"
                      },
                      "relationships": {
                        "stock": {
                          "data": {
                            "type": "QuoteStock",
                            "id": "6"
                          }
                        }
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "QuoteComment",
                      "attributes": {
                        "include": true,
                        "status": "CANCEL",
                        "comment": "Customer requested cancellation of the previous revision",
                        "modifyInit": "API",
                        "modifyDate": "2025-03-27T13:56:32+11:00"
                      }
                    },
                    {
                      "id": "10-1",
                      "type": "QuoteComment",
                      "attributes": {
                        "include": true,
                        "status": "Booked",
                        "comment": "Initial enquiry logged from web form",
                        "modifyInit": "SYS",
                        "modifyDate": "2024-09-02T16:16:21+10:00"
                      }
                    },
                    {
                      "id": "3",
                      "type": "CardFile",
                      "attributes": {
                        "cardNo": 3,
                        "cardCode": "SIMPLE.CUST.1",
                        "contact": "John Smith",
                        "name": "Simple Customer #1",
                        "aBN": "53 004 085 616",
                        "aCN": "004 085 616",
                        "shipVia": "Australia Post",
                        "shipAmount": 15.0,
                        "branchCode": "SYD",
                        "subBranchCode": "SSYD",
                        "gLDeptCode": "SALES",
                        "customer": {
                          "terms": "30 Days",
                          "priceLevel": "Dealer",
                          "custPONo": "PO-12345",
                          "currencyCode": "AUD",
                          "creditHold": "OFF( Auto )",
                          "creditLimit": 25000.0,
                          "accFeePerc": 2.5,
                          "bPayRefNo": "1234567890",
                          "backorder": "Allow Backorders",
                          "requiredDays": 7,
                          "requiredHours": 0,
                          "taxPaid": true,
                          "taxExclCode": "GST",
                          "taxInclCode": "GSTINC",
                          "batchInvGroupBy": "Customer",
                          "sendStatementVia": "Email",
                          "sendInvVia": "Email",
                          "groups": [
                            {
                              "type": "Region",
                              "id": 1,
                              "name": "East Coast"
                            }
                          ]
                        },
                        "address": {
                          "isAddressResidential": false,
                          "streetAddress": "123 Main St",
                          "suburb": "Sydney",
                          "state": "NSW",
                          "postCode": "2000",
                          "country": "Australia"
                        },
                        "delAddress": {
                          "isAddressResidential": true,
                          "streetAddress": "456 Delivery Rd",
                          "suburb": "Melbourne",
                          "state": "VIC",
                          "postCode": "3000",
                          "country": "Australia"
                        }
                      },
                      "relationships": {
                        "contacts": {
                          "data": [
                            {
                              "type": "CardFileContact",
                              "id": "3-1"
                            }
                          ]
                        },
                        "accountManager": {
                          "data": {
                            "type": "CardFile",
                            "id": "16"
                          }
                        },
                        "parent": {
                          "data": {
                            "type": "CardFile",
                            "id": "2"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns the Quote for the quoteno parameter provided",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "description": "The related resources to include in the response (per JSON:API).  This can be one ore more of comments,customer,from,ship,stock",
            "required": true
          }
        ]
      },
      "patch": {
        "description": "Updates the Quote for the quoteno parameter provided",
        "requestBody": {
          "description": "The Quote",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "Status": {
                            "type": "string",
                            "description": "The quote's current status. Setting it changes the quote status (see the quote's setStatus)."
                          },
                          "Priority": {
                            "type": "string",
                            "description": "The quote's priority."
                          },
                          "ProbabilityPcnt": {
                            "type": "integer",
                            "description": "The probability percentage of winning the quote."
                          },
                          "Type": {
                            "type": "string",
                            "description": "The quote's free-text Type field."
                          },
                          "CustRef": {
                            "type": "string",
                            "description": "The customer's reference for the quote."
                          },
                          "OurRef": {
                            "type": "string",
                            "description": "Our reference for the quote."
                          },
                          "ItemDesc": {
                            "type": "string",
                            "description": "The item description."
                          },
                          "InvoiceDesc": {
                            "type": "string",
                            "description": "The description shown on the invoice."
                          },
                          "FaultDesc": {
                            "type": "string",
                            "description": "The fault description."
                          },
                          "SerialNo": {
                            "type": "string",
                            "description": "The serial number."
                          },
                          "HeaderText": {
                            "type": "string",
                            "description": "The header text printed at the top of the quote."
                          },
                          "FooterText": {
                            "type": "string",
                            "description": "The footer text printed at the bottom of the quote."
                          },
                          "DateIn": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The quote's date in."
                          },
                          "DateReq": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date the quote is required by."
                          },
                          "DateValid": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date the quote is valid until."
                          },
                          "JobNo": {
                            "type": "integer",
                            "description": "The number of the job created from this quote, if any."
                          },
                          "ProjectNo": {
                            "type": "integer",
                            "description": "The contract/project number associated with the quote."
                          },
                          "RejectionReasonNo": {
                            "type": "integer",
                            "description": "The rejection reason number, if the quote was rejected."
                          },
                          "ManfQty": {
                            "type": "number",
                            "description": "The manufacturing quantity."
                          },
                          "Freight": {
                            "type": "number",
                            "description": "The freight charge amount."
                          },
                          "FreightTax": {
                            "type": "number",
                            "description": "The tax on the freight charge."
                          },
                          "QuoteDetails": {
                            "type": "object",
                            "properties": {
                              "Customer": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The customer contact (attention) name."
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "The customer name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the customer address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The customer street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The customer suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The customer state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The customer post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The customer country."
                                  },
                                  "OrderNo": {
                                    "type": "string",
                                    "description": "The customer's order number."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country",
                                  "OrderNo"
                                ],
                                "description": "The customer (bill-to) name and address details stored on the quote."
                              },
                              "Ship": {
                                "type": "object",
                                "properties": {
                                  "Attn": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) contact (attention) name."
                                  },
                                  "Name": {
                                    "type": "string",
                                    "description": "The delivery (ship-to) name."
                                  },
                                  "IAddressResidential": {
                                    "type": "boolean",
                                    "description": "Whether the delivery address is residential."
                                  },
                                  "StreetAddress": {
                                    "type": "string",
                                    "description": "The delivery street address."
                                  },
                                  "Suburb": {
                                    "type": "string",
                                    "description": "The delivery suburb."
                                  },
                                  "State": {
                                    "type": "string",
                                    "description": "The delivery state."
                                  },
                                  "PostCode": {
                                    "type": "string",
                                    "description": "The delivery post code."
                                  },
                                  "Country": {
                                    "type": "string",
                                    "description": "The delivery country."
                                  }
                                },
                                "required": [
                                  "Attn",
                                  "Name",
                                  "StreetAddress",
                                  "Suburb",
                                  "State",
                                  "PostCode",
                                  "Country"
                                ],
                                "description": "The ship-to name and address details stored on the quote."
                              },
                              "Freight": {
                                "type": "object",
                                "properties": {
                                  "Amount": {
                                    "type": "number",
                                    "description": "The freight charge amount."
                                  },
                                  "Tax": {
                                    "type": "number",
                                    "description": "The tax on the freight charge."
                                  },
                                  "TaxCode": {
                                    "type": "string",
                                    "description": "The tax code applied to the freight charge."
                                  },
                                  "Dispatch": {
                                    "type": "object",
                                    "properties": {},
                                    "description": "The dispatch / consignment details for the shipment."
                                  }
                                },
                                "required": [
                                  "Amount",
                                  "Tax",
                                  "TaxCode",
                                  "Dispatch"
                                ],
                                "description": "The freight charge, tax and dispatch details for the quote."
                              }
                            },
                            "required": [
                              "Customer",
                              "Ship",
                              "Freight"
                            ],
                            "description": "The customer (bill-to) address, ship-to address and freight details for the quote."
                          },
                          "BranchCode": {
                            "type": "string",
                            "description": "The branch code. On update, must be a configured branch belonging to the quote's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                          },
                          "SubBranchCode": {
                            "type": "string",
                            "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                          },
                          "GLDeptCode": {
                            "type": "string",
                            "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                          },
                          "StockLocationCode": {
                            "type": "string",
                            "description": "The stock location code. On update, must match a configured stock location."
                          },
                          "PriceLevel": {
                            "type": "string",
                            "description": "The price level description."
                          },
                          "TaxPaid": {
                            "type": "boolean",
                            "description": "Whether the quote pays tax."
                          },
                          "TaxInc": {
                            "type": "boolean",
                            "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                          },
                          "CurrencyCode": {
                            "type": "string",
                            "description": "The currency code."
                          },
                          "ExchangeRate": {
                            "type": "number",
                            "description": "The currency exchange rate applied to the quote."
                          },
                          "RateLocked": {
                            "type": "boolean",
                            "description": "Whether the quote's currency exchange rate is locked."
                          },
                          "CompanyCode": {
                            "type": "string",
                            "description": "The company code."
                          },
                          "Source": {
                            "type": "string",
                            "description": "The quote's source name, identifying where the quote originated."
                          },
                          "SourceValue": {
                            "type": "string",
                            "description": "The value associated with the quote's source."
                          },
                          "TotalTF": {
                            "type": "number",
                            "description": "The quote total excluding tax (tax-free)."
                          },
                          "TotalTP": {
                            "type": "number",
                            "description": "The quote total including tax (tax-paid)."
                          }
                        },
                        "required": [
                          "Status",
                          "Priority",
                          "ProbabilityPcnt",
                          "Type",
                          "CustRef",
                          "OurRef",
                          "ItemDesc",
                          "InvoiceDesc",
                          "FaultDesc",
                          "SerialNo",
                          "HeaderText",
                          "FooterText",
                          "DateIn",
                          "Freight",
                          "FreightTax",
                          "QuoteDetails",
                          "BranchCode",
                          "SubBranchCode",
                          "GLDeptCode",
                          "StockLocationCode",
                          "PriceLevel",
                          "TaxPaid",
                          "TaxInc",
                          "CurrencyCode",
                          "ExchangeRate",
                          "RateLocked",
                          "CompanyCode",
                          "Source",
                          "SourceValue",
                          "TotalTF",
                          "TotalTP"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "contract": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "customer": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "from": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "ship": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "comments": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "item": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "quote": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "accountManager": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "asset": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "name": {
                            "type": "object",
                            "properties": {
                              "data": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Quote",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Status": {
                              "type": "string",
                              "description": "The quote's current status. Setting it changes the quote status (see the quote's setStatus)."
                            },
                            "Priority": {
                              "type": "string",
                              "description": "The quote's priority."
                            },
                            "ProbabilityPcnt": {
                              "type": "integer",
                              "description": "The probability percentage of winning the quote."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The quote's free-text Type field."
                            },
                            "CustRef": {
                              "type": "string",
                              "description": "The customer's reference for the quote."
                            },
                            "OurRef": {
                              "type": "string",
                              "description": "Our reference for the quote."
                            },
                            "ItemDesc": {
                              "type": "string",
                              "description": "The item description."
                            },
                            "InvoiceDesc": {
                              "type": "string",
                              "description": "The description shown on the invoice."
                            },
                            "FaultDesc": {
                              "type": "string",
                              "description": "The fault description."
                            },
                            "SerialNo": {
                              "type": "string",
                              "description": "The serial number."
                            },
                            "HeaderText": {
                              "type": "string",
                              "description": "The header text printed at the top of the quote."
                            },
                            "FooterText": {
                              "type": "string",
                              "description": "The footer text printed at the bottom of the quote."
                            },
                            "DateIn": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The quote's date in."
                            },
                            "DateReq": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is required by."
                            },
                            "DateValid": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date the quote is valid until."
                            },
                            "JobNo": {
                              "type": "integer",
                              "description": "The number of the job created from this quote, if any."
                            },
                            "ProjectNo": {
                              "type": "integer",
                              "description": "The contract/project number associated with the quote."
                            },
                            "RejectionReasonNo": {
                              "type": "integer",
                              "description": "The rejection reason number, if the quote was rejected."
                            },
                            "ManfQty": {
                              "type": "number",
                              "description": "The manufacturing quantity."
                            },
                            "Freight": {
                              "type": "number",
                              "description": "The freight charge amount."
                            },
                            "FreightTax": {
                              "type": "number",
                              "description": "The tax on the freight charge."
                            },
                            "QuoteDetails": {
                              "type": "object",
                              "properties": {
                                "Customer": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The customer contact (attention) name."
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "The customer name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the customer address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The customer street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The customer suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The customer state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The customer post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The customer country."
                                    },
                                    "OrderNo": {
                                      "type": "string",
                                      "description": "The customer's order number."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country",
                                    "OrderNo"
                                  ],
                                  "description": "The customer (bill-to) name and address details stored on the quote."
                                },
                                "Ship": {
                                  "type": "object",
                                  "properties": {
                                    "Attn": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) contact (attention) name."
                                    },
                                    "Name": {
                                      "type": "string",
                                      "description": "The delivery (ship-to) name."
                                    },
                                    "IAddressResidential": {
                                      "type": "boolean",
                                      "description": "Whether the delivery address is residential."
                                    },
                                    "StreetAddress": {
                                      "type": "string",
                                      "description": "The delivery street address."
                                    },
                                    "Suburb": {
                                      "type": "string",
                                      "description": "The delivery suburb."
                                    },
                                    "State": {
                                      "type": "string",
                                      "description": "The delivery state."
                                    },
                                    "PostCode": {
                                      "type": "string",
                                      "description": "The delivery post code."
                                    },
                                    "Country": {
                                      "type": "string",
                                      "description": "The delivery country."
                                    }
                                  },
                                  "required": [
                                    "Attn",
                                    "Name",
                                    "StreetAddress",
                                    "Suburb",
                                    "State",
                                    "PostCode",
                                    "Country"
                                  ],
                                  "description": "The ship-to name and address details stored on the quote."
                                },
                                "Freight": {
                                  "type": "object",
                                  "properties": {
                                    "Amount": {
                                      "type": "number",
                                      "description": "The freight charge amount."
                                    },
                                    "Tax": {
                                      "type": "number",
                                      "description": "The tax on the freight charge."
                                    },
                                    "TaxCode": {
                                      "type": "string",
                                      "description": "The tax code applied to the freight charge."
                                    },
                                    "Dispatch": {
                                      "type": "object",
                                      "properties": {},
                                      "description": "The dispatch / consignment details for the shipment."
                                    }
                                  },
                                  "required": [
                                    "Amount",
                                    "Tax",
                                    "TaxCode",
                                    "Dispatch"
                                  ],
                                  "description": "The freight charge, tax and dispatch details for the quote."
                                }
                              },
                              "required": [
                                "Customer",
                                "Ship",
                                "Freight"
                              ],
                              "description": "The customer (bill-to) address, ship-to address and freight details for the quote."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. On update, must be a configured branch belonging to the quote's company. Branches are optional in Jim2 - this is only set when your site is configured to use branches."
                            },
                            "SubBranchCode": {
                              "type": "string",
                              "description": "The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches."
                            },
                            "GLDeptCode": {
                              "type": "string",
                              "description": "The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments."
                            },
                            "StockLocationCode": {
                              "type": "string",
                              "description": "The stock location code. On update, must match a configured stock location."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level description."
                            },
                            "TaxPaid": {
                              "type": "boolean",
                              "description": "Whether the quote pays tax."
                            },
                            "TaxInc": {
                              "type": "boolean",
                              "description": "Whether prices are calculated from the tax-paid (tax-inclusive) amount."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code."
                            },
                            "ExchangeRate": {
                              "type": "number",
                              "description": "The currency exchange rate applied to the quote."
                            },
                            "RateLocked": {
                              "type": "boolean",
                              "description": "Whether the quote's currency exchange rate is locked."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The company code."
                            },
                            "Source": {
                              "type": "string",
                              "description": "The quote's source name, identifying where the quote originated."
                            },
                            "SourceValue": {
                              "type": "string",
                              "description": "The value associated with the quote's source."
                            },
                            "TotalTF": {
                              "type": "number",
                              "description": "The quote total excluding tax (tax-free)."
                            },
                            "TotalTP": {
                              "type": "number",
                              "description": "The quote total including tax (tax-paid)."
                            }
                          },
                          "required": [
                            "Status",
                            "Priority",
                            "ProbabilityPcnt",
                            "Type",
                            "CustRef",
                            "OurRef",
                            "ItemDesc",
                            "InvoiceDesc",
                            "FaultDesc",
                            "SerialNo",
                            "HeaderText",
                            "FooterText",
                            "DateIn",
                            "Freight",
                            "FreightTax",
                            "QuoteDetails",
                            "BranchCode",
                            "SubBranchCode",
                            "GLDeptCode",
                            "StockLocationCode",
                            "PriceLevel",
                            "TaxPaid",
                            "TaxInc",
                            "CurrencyCode",
                            "ExchangeRate",
                            "RateLocked",
                            "CompanyCode",
                            "Source",
                            "SourceValue",
                            "TotalTF",
                            "TotalTP"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "contract": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "from": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "ship": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "comments": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "item": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "quote": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "accountManager": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "asset": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "name": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/quotes/{quoteno}/comments": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The QuoteComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "QuoteComment",
                      "attributes": {
                        "include": true,
                        "status": "Booked",
                        "comment": "Initial enquiry logged from web form",
                        "modifyInit": "SYS",
                        "modifyDate": "2024-03-25T17:07:23+11:00"
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "QuoteComment",
                      "attributes": {
                        "status": "Booked",
                        "comment": "Follow-up call scheduled"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the QuoteComment"
      },
      "post": {
        "description": "Creates a QuoteComment",
        "requestBody": {
          "description": "The QuoteComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The QuoteComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/quotes/{quoteno}/comments/{quoteno-lineid}": {
      "parameters": [
        {
          "name": "quoteno-lineid",
          "in": "path",
          "description": "The QuoteComment identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The QuoteComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "QuoteComment",
                    "attributes": {
                      "include": true,
                      "status": "Booked",
                      "comment": "Initial enquiry logged from web form",
                      "modifyInit": "SYS",
                      "modifyDate": "2024-03-25T17:07:23+11:00"
                    },
                    "links": {
                      "self": "/api/v1/quotes/10/comments/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the QuoteComment for the quoteno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the QuoteComment for the quoteno-lineid parameter provided",
        "requestBody": {
          "description": "The QuoteComment",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "include": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string",
                            "description": "The status the parent object was in when the comment was added."
                          },
                          "comment": {
                            "type": "string",
                            "description": "The comment text."
                          },
                          "modifyInit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the comment."
                          },
                          "modifyDate": {
                            "type": "string",
                            "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                          }
                        },
                        "required": [
                          "include",
                          "status",
                          "comment",
                          "modifyInit",
                          "modifyDate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The QuoteComment",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "include": {
                              "type": "boolean"
                            },
                            "status": {
                              "type": "string",
                              "description": "The status the parent object was in when the comment was added."
                            },
                            "comment": {
                              "type": "string",
                              "description": "The comment text."
                            },
                            "modifyInit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the comment."
                            },
                            "modifyDate": {
                              "type": "string",
                              "description": "The modification date and time of the comment in ISO date time format.  Timezone is the timezone of the Jim2 server."
                            }
                          },
                          "required": [
                            "include",
                            "status",
                            "comment",
                            "modifyInit",
                            "modifyDate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/quotes/{quoteno}/stock": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The QuoteStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number."
                            },
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-1",
                      "type": "QuoteStock",
                      "attributes": {
                        "qty": 1.0,
                        "unitPrice": 1650.0,
                        "unitPriceTF": 1500.0,
                        "unitPriceTP": 1650.0,
                        "configNo": 812,
                        "addinit": "SYS",
                        "adddate": "2024-06-24T14:04:00",
                        "stockId": 7,
                        "stockCode": "MULTILEVEL.MANF",
                        "unit": "EACH",
                        "description": "Multilevel Manufacture",
                        "modifyinit": "SYS",
                        "modifydate": "2024-06-24T14:04:19"
                      },
                      "relationships": {
                        "stock": {
                          "data": {
                            "type": "QuoteStock",
                            "id": "7"
                          }
                        }
                      }
                    },
                    {
                      "id": "10-2",
                      "type": "QuoteStock",
                      "attributes": {
                        "stockCode": "SAMSUNG.MON.27",
                        "description": "27\" QLED Samsung Monitor"
                      }
                    },
                    {
                      "id": "10-3",
                      "type": "QuoteStock",
                      "attributes": {
                        "stockCode": "SAMSUNG.MON.27",
                        "description": "27\" QLED Samsung Monitor"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the QuoteStock"
      },
      "post": {
        "description": "Creates a QuoteStock",
        "requestBody": {
          "description": "The QuoteStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number."
                          },
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The QuoteStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number."
                            },
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/quotes/{quoteno}/stock/{quoteno-lineid}": {
      "parameters": [
        {
          "name": "quoteno-lineid",
          "in": "path",
          "description": "The QuoteStock identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The QuoteStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number."
                            },
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-1",
                    "type": "QuoteStock",
                    "attributes": {
                      "qty": 1.0,
                      "unitPrice": 1650.0,
                      "unitPriceTF": 1500.0,
                      "unitPriceTP": 1650.0,
                      "configNo": 812,
                      "addinit": "SYS",
                      "adddate": "2024-06-24T14:04:00",
                      "stockId": 7,
                      "stockCode": "MULTILEVEL.MANF",
                      "unit": "EACH",
                      "description": "Multilevel Manufacture",
                      "modifyinit": "SYS",
                      "modifydate": "2024-06-24T14:04:19"
                    },
                    "relationships": {
                      "stock": {
                        "data": {
                          "type": "QuoteStock",
                          "id": "7"
                        }
                      }
                    },
                    "links": {
                      "self": "/api/v1/quotes/10/stock/10-1"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the QuoteStock for the quoteno-lineid parameter provided"
      },
      "patch": {
        "description": "Updates the QuoteStock for the quoteno-lineid parameter provided",
        "requestBody": {
          "description": "The QuoteStock",
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta": {},
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "qty": {
                            "type": "number",
                            "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                          },
                          "unitPrice": {
                            "type": "number",
                            "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTF": {
                            "type": "number",
                            "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "unitPriceTP": {
                            "type": "number",
                            "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                          },
                          "ConfigNo": {
                            "type": "integer",
                            "description": "Stock attribute configuration number."
                          },
                          "addinit": {
                            "type": "string",
                            "description": "The initials of the user who added the stock line."
                          },
                          "adddate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was added."
                          },
                          "stockId": {
                            "type": "integer",
                            "description": "The Jim2 stock number of the line's stock item."
                          },
                          "stockCode": {
                            "type": "string",
                            "description": "The Jim2 stock code"
                          },
                          "unit": {
                            "type": "string",
                            "description": "The unit of measure for the stock line."
                          },
                          "description": {
                            "type": "string",
                            "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                          },
                          "modifyinit": {
                            "type": "string",
                            "description": "The initials of the user who last modified the stock line."
                          },
                          "modifydate": {
                            "type": "string (DateTime in ISO format)",
                            "description": "The date and time the stock line was last modified."
                          }
                        },
                        "required": [
                          "qty",
                          "unitPrice",
                          "unitPriceTF",
                          "unitPriceTP",
                          "addinit",
                          "stockId",
                          "stockCode",
                          "unit",
                          "description",
                          "modifyinit",
                          "modifydate"
                        ]
                      },
                      "links": {
                        "type": "object",
                        "properties": {
                          "self": {
                            "type": "string"
                          }
                        }
                      },
                      "id": {
                        "type": "string"
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "stock": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The QuoteStock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "qty": {
                              "type": "number",
                              "description": "The quantity ordered.  Notes<br>Updating the Qty does NOT trigger a price recalculation using Jim2's pricing. If the caller needs to have Jim2 recalculate the price the stock line will have to be deleted and re-added.<br>When adding a stock post (POST), Jim2 will calculate pricing if no pricing is provided as part of the request"
                            },
                            "unitPrice": {
                              "type": "number",
                              "description": "The unit price.  If Quote is calculating prices from tax paid amounts this will be tax inclusive, otherwise this will be tax exclusive.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTF": {
                              "type": "number",
                              "description": "The unit price exlusive of tax. Note that if Quote is calculating prices from tax paid amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "unitPriceTP": {
                              "type": "number",
                              "description": "The unit price inclusive of tax. Note that if Quote is calculating prices from tax exclusive amounts the actual price set may differ due to rounding.<br>It is highly recommended to set only one of unitPrice, unitPriceTF, or unitPriceTP - if multiple are set the last one processed wins."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "Stock attribute configuration number."
                            },
                            "addinit": {
                              "type": "string",
                              "description": "The initials of the user who added the stock line."
                            },
                            "adddate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was added."
                            },
                            "stockId": {
                              "type": "integer",
                              "description": "The Jim2 stock number of the line's stock item."
                            },
                            "stockCode": {
                              "type": "string",
                              "description": "The Jim2 stock code"
                            },
                            "unit": {
                              "type": "string",
                              "description": "The unit of measure for the stock line."
                            },
                            "description": {
                              "type": "string",
                              "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                            },
                            "modifyinit": {
                              "type": "string",
                              "description": "The initials of the user who last modified the stock line."
                            },
                            "modifydate": {
                              "type": "string (DateTime in ISO format)",
                              "description": "The date and time the stock line was last modified."
                            }
                          },
                          "required": [
                            "qty",
                            "unitPrice",
                            "unitPriceTF",
                            "unitPriceTP",
                            "addinit",
                            "stockId",
                            "stockCode",
                            "unit",
                            "description",
                            "modifyinit",
                            "modifydate"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "stock": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "data": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {}
    },
    "/api/v1/stock": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The Stock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "StockCode": {
                              "type": "string",
                              "description": "The stock code."
                            },
                            "Description": {
                              "type": "string",
                              "description": "The stock description."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The stock type: Depleting / Non Depleting / Labour / Applies / Journal / Special / Virtual, or a kit type (Dynamic Kitting / Static Kitting / Packaging)."
                            },
                            "SerialNo": {
                              "type": "string",
                              "description": "When serial numbers are captured for the item: On Purchase / On Sell, or null if not serialised."
                            },
                            "Active": {
                              "type": "boolean",
                              "description": "Whether the stock item is active."
                            },
                            "GLGroupCode": {
                              "type": "string",
                              "description": "The stock GL group name."
                            },
                            "LabourContent": {
                              "type": "number",
                              "description": "The labour content of the stock item."
                            },
                            "MnufacturingCost": {
                              "type": "number",
                              "description": "The manufacturing cost."
                            },
                            "Buy": {
                              "type": "object",
                              "properties": {
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code."
                                },
                                "DecimalPlaces": {
                                  "type": "integer",
                                  "description": "The number of decimal places."
                                }
                              },
                              "required": [
                                "TaxCode",
                                "DecimalPlaces"
                              ],
                              "description": "The buy tax code and decimal places for the stock item."
                            },
                            "Sll": {
                              "type": "object",
                              "properties": {
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code."
                                },
                                "DecimalPlaces": {
                                  "type": "integer",
                                  "description": "The number of decimal places."
                                }
                              },
                              "required": [
                                "TaxCode",
                                "DecimalPlaces"
                              ],
                              "description": "The sell tax code and decimal places for the stock item."
                            },
                            "ListPriceExcl": {
                              "type": "number",
                              "description": "The recommended retail price, excluding tax."
                            },
                            "ListPriceIncl": {
                              "type": "number",
                              "description": "The recommended retail price, including tax."
                            },
                            "Dimmesions": {
                              "type": "object",
                              "properties": {
                                "Weight": {
                                  "type": "number",
                                  "description": "The weight of the item."
                                },
                                "Width": {
                                  "type": "number",
                                  "description": "The width of the item."
                                },
                                "Height": {
                                  "type": "number",
                                  "description": "The height of the item."
                                },
                                "Depth": {
                                  "type": "number",
                                  "description": "The depth of the item."
                                }
                              },
                              "required": [
                                "Weight",
                                "Width",
                                "Height",
                                "Depth"
                              ],
                              "description": "The stock item's weight and dimensions (weight, width, height, depth)."
                            },
                            "Procurement": {
                              "type": "object",
                              "properties": {
                                "MinQtyPerLocationMethod": {
                                  "type": "string",
                                  "description": "How the minimum quantity per location is determined: None / Calculated."
                                },
                                "DailyAvgSoldPerDayBasedOn": {
                                  "type": "string",
                                  "description": "How the daily average sold per day is calculated: Last / Current month last year."
                                },
                                "DailyAvgSoldPerDayBasedOnDays": null,
                                "AddExtraPercent": null,
                                "ReorderQty": {
                                  "type": "number",
                                  "description": "The reorder quantity."
                                }
                              },
                              "required": [
                                "MinQtyPerLocationMethod",
                                "DailyAvgSoldPerDayBasedOn",
                                "DailyAvgSoldPerDayBasedOnDays",
                                "AddExtraPercent",
                                "ReorderQty"
                              ],
                              "description": "The procurement / reorder settings for the stock item."
                            },
                            "Measure": null,
                            "QtyDecimalPlaces": {
                              "type": "integer",
                              "description": "The number of decimal places used for quantities of this item."
                            },
                            "WarrantyMonths": null,
                            "ManufacturingType": {
                              "type": "string",
                              "description": "The manufacturing type: SingleLevel / MultiLevel, or null if the item is not manufactured."
                            },
                            "ServiceStock": {
                              "type": "boolean",
                              "description": "Whether the item is a service item."
                            },
                            "MacroDesc": {
                              "type": "string",
                              "description": "The macro description."
                            },
                            "HideOnInvoice": {
                              "type": "boolean",
                              "description": "Whether the item is hidden on the invoice."
                            },
                            "ExcludeAttributesInProcurement": {
                              "type": "boolean",
                              "description": "Whether stock attributes are excluded when procuring the item."
                            },
                            "PublishPrice": {
                              "type": "string",
                              "description": "Where the price is published: Price List & Web / Price List / Web / Don't Publish."
                            },
                            "RoundPriceUpToNearestCents": {
                              "type": "integer",
                              "description": "Round the calculated price up to the nearest number of cents."
                            },
                            "RateMultiplier": {
                              "type": "number",
                              "description": "The rate multiplier applied to the stock item."
                            },
                            "SummaryKit": {
                              "type": "boolean",
                              "description": "Whether the kit is summarised (a summary kit)."
                            },
                            "FloorCostMarkup": {
                              "type": "number",
                              "description": "The floor cost markup."
                            },
                            "ManufacturePartNumber": {
                              "type": "string",
                              "description": "The manufacturer part number."
                            },
                            "GTINumber": {
                              "type": "string",
                              "description": "The GTIN (Global Trade Item Number)."
                            },
                            "ShortDesc": {
                              "type": "string",
                              "description": "The short description."
                            },
                            "DetailedDesc": {
                              "type": "string",
                              "description": "The detailed (long) description."
                            },
                            "WarrantyDesc": {
                              "type": "string",
                              "description": "The warranty description."
                            },
                            "AllowPriceOverride": {
                              "type": "boolean",
                              "description": "Whether the price may be overridden on a transaction."
                            },
                            "DiscountIsPercentageOfPrice": {
                              "type": "boolean",
                              "description": "Whether the discount is treated as a percentage of price."
                            },
                            "DangerousGoods": {
                              "type": "boolean",
                              "description": "Whether the item is classified as dangerous goods."
                            },
                            "Commissions": {
                              "type": "object",
                              "properties": {
                                "Exclude": {
                                  "type": "boolean",
                                  "description": "Whether the item is excluded from commission."
                                },
                                "Floor": {
                                  "type": "number",
                                  "description": "The commission floor amount."
                                },
                                "Percent": {
                                  "type": "number",
                                  "description": "The commission percentage."
                                },
                                "Extra": {
                                  "type": "number",
                                  "description": "The extra commission amount."
                                }
                              },
                              "description": "The commission settings for the stock item (exclude, floor, percent, extra)."
                            },
                            "LastCost": {
                              "type": "number",
                              "description": "The last cost recorded for the stock item."
                            },
                            "LastCOGS": {
                              "type": "number",
                              "description": "The last cost of goods sold (COGS)."
                            },
                            "MaxCOGS": {
                              "type": "number",
                              "description": "The maximum cost of goods sold (COGS)."
                            },
                            "AvgCost": {
                              "type": "number",
                              "description": "The average cost."
                            },
                            "AvgCOGS": {
                              "type": "number",
                              "description": "The average cost of goods sold (COGS)."
                            },
                            "LastPOCOGS": {
                              "type": "number",
                              "description": "The last purchase-order cost of goods sold (COGS)."
                            },
                            "AvgPOCOGS": {
                              "type": "number",
                              "description": "The average purchase-order cost of goods sold (COGS)."
                            },
                            "Groups": null
                          },
                          "required": [
                            "StockCode",
                            "Description",
                            "Type",
                            "SerialNo",
                            "Active",
                            "GLGroupCode",
                            "LabourContent",
                            "Buy",
                            "Sll",
                            "ListPriceExcl",
                            "ListPriceIncl",
                            "Dimmesions",
                            "Procurement",
                            "Measure",
                            "QtyDecimalPlaces",
                            "WarrantyMonths",
                            "ManufacturingType",
                            "ServiceStock",
                            "MacroDesc",
                            "HideOnInvoice",
                            "ExcludeAttributesInProcurement",
                            "PublishPrice",
                            "RoundPriceUpToNearestCents",
                            "SummaryKit",
                            "FloorCostMarkup",
                            "ManufacturePartNumber",
                            "GTINumber",
                            "ShortDesc",
                            "DetailedDesc",
                            "WarrantyDesc",
                            "AllowPriceOverride",
                            "DiscountIsPercentageOfPrice",
                            "DangerousGoods",
                            "Commissions",
                            "LastCost",
                            "LastCOGS",
                            "MaxCOGS",
                            "AvgCost",
                            "AvgCOGS",
                            "LastPOCOGS",
                            "AvgPOCOGS",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "supersededBy": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "alternateStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "parentStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "locations": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "serviceItem": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingItem": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "priceLevels": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "53",
                      "type": "Stock",
                      "attributes": {
                        "code": "PSU.X200",
                        "description": "Replacement power supply for X200 controller",
                        "type": "Depleting",
                        "serialNo": "On Sell",
                        "active": true,
                        "gLGroupCode": "STOCK",
                        "labourContent": 0.0,
                        "manufacturingCost": 42.5,
                        "buy": {
                          "taxCode": "GST",
                          "decimalPlaces": 4
                        },
                        "sell": {
                          "taxCode": "GST",
                          "decimalPlaces": 2
                        },
                        "listPriceExcl": 99.0,
                        "listPriceIncl": 108.9,
                        "dimensions": {
                          "weight": 1.25,
                          "width": 15.0,
                          "height": 5.0,
                          "depth": 20.0
                        },
                        "procurement": {
                          "minQtyPerLocationMethod": "Calculated",
                          "dailyAvgSoldPerDayBasedOn": "Last",
                          "dailyAvgSoldPerDayBasedOnDays": 90,
                          "addExtraPercent": 10,
                          "reorderQty": 25.0
                        },
                        "measure": [
                          {
                            "unit": "EACH",
                            "qty": 1.0,
                            "unitDesc": "Each",
                            "barcode": "9312345678900"
                          },
                          {
                            "unit": "BOX",
                            "qty": 10.0,
                            "unitDesc": "Box of 10",
                            "barcode": "9312345678917"
                          }
                        ],
                        "qtyDecimalPlaces": 4,
                        "warrantyMonths": 12,
                        "manufacturingType": "SingleLevel",
                        "serviceStock": false,
                        "macroDesc": "X200 PSU",
                        "hideOnInvoice": false,
                        "excludeAttributesInProcurement": false,
                        "publishPriceTo": "Price List & Web",
                        "roundPriceUpToNearestCents": 5,
                        "rateMultiplier": 1.0,
                        "summaryKit": false,
                        "floorCostMarkup": 15.0,
                        "manufacturePartNumber": "X200-PSU-A",
                        "gTINumber": "09312345678900",
                        "shortDesc": "X200 Power Supply",
                        "detailedDesc": "Regulated 24V power supply unit for the X200 controller range.",
                        "warrantyDesc": "12 month return-to-base warranty.",
                        "allowPriceOverride": true,
                        "discountIsPercentageOfPrice": true,
                        "dangerousGoods": false,
                        "comissions": {
                          "exclude": false,
                          "floor": 5.0,
                          "percent": 7.5,
                          "extra": 2.0
                        },
                        "lastCost": 42.5,
                        "lastCOGS": 43.1,
                        "maxCOGS": 45.0,
                        "avgCost": 42.8,
                        "avgCOGS": 43.05,
                        "lastPOCOGS": 42.5,
                        "avgPOCOGS": 42.75,
                        "groups": [
                          {
                            "type": "Category",
                            "id": 3,
                            "name": "Power Supplies"
                          }
                        ]
                      },
                      "relationships": {
                        "supersededBy": {
                          "data": {
                            "type": "Stock",
                            "id": "54"
                          }
                        },
                        "alternateStock": {
                          "data": {
                            "type": "Stock",
                            "id": "55"
                          }
                        },
                        "parentStock": {
                          "data": {
                            "type": "Stock",
                            "id": "50"
                          }
                        },
                        "serviceItem": {
                          "data": {
                            "type": "Stock",
                            "id": "61"
                          }
                        },
                        "manufacturingItem": {
                          "data": {
                            "type": "Stock",
                            "id": "62"
                          }
                        },
                        "locations": {
                          "data": [
                            {
                              "type": "StockLocations",
                              "id": "53-1"
                            },
                            {
                              "type": "StockLocations",
                              "id": "53-2"
                            }
                          ]
                        },
                        "priceLevels": {
                          "data": [
                            {
                              "type": "PriceLevels",
                              "id": "53-129"
                            },
                            {
                              "type": "PriceLevels",
                              "id": "53-130"
                            }
                          ]
                        }
                      },
                      "links": {
                        "self": "/api/v1/stock/53"
                      }
                    },
                    {
                      "id": "70",
                      "type": "Stock",
                      "attributes": {
                        "code": "CALKIT.C50",
                        "description": "Calibration kit for C50 bench"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the Stock"
      }
    },
    "/api/v1/stock/{stockno}": {
      "parameters": [
        {
          "name": "stockno",
          "in": "path",
          "description": "The Stock identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The Stock",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "StockCode": {
                              "type": "string",
                              "description": "The stock code."
                            },
                            "Description": {
                              "type": "string",
                              "description": "The stock description."
                            },
                            "Type": {
                              "type": "string",
                              "description": "The stock type: Depleting / Non Depleting / Labour / Applies / Journal / Special / Virtual, or a kit type (Dynamic Kitting / Static Kitting / Packaging)."
                            },
                            "SerialNo": {
                              "type": "string",
                              "description": "When serial numbers are captured for the item: On Purchase / On Sell, or null if not serialised."
                            },
                            "Active": {
                              "type": "boolean",
                              "description": "Whether the stock item is active."
                            },
                            "GLGroupCode": {
                              "type": "string",
                              "description": "The stock GL group name."
                            },
                            "LabourContent": {
                              "type": "number",
                              "description": "The labour content of the stock item."
                            },
                            "MnufacturingCost": {
                              "type": "number",
                              "description": "The manufacturing cost."
                            },
                            "Buy": {
                              "type": "object",
                              "properties": {
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code."
                                },
                                "DecimalPlaces": {
                                  "type": "integer",
                                  "description": "The number of decimal places."
                                }
                              },
                              "required": [
                                "TaxCode",
                                "DecimalPlaces"
                              ],
                              "description": "The buy tax code and decimal places for the stock item."
                            },
                            "Sll": {
                              "type": "object",
                              "properties": {
                                "TaxCode": {
                                  "type": "string",
                                  "description": "The tax code."
                                },
                                "DecimalPlaces": {
                                  "type": "integer",
                                  "description": "The number of decimal places."
                                }
                              },
                              "required": [
                                "TaxCode",
                                "DecimalPlaces"
                              ],
                              "description": "The sell tax code and decimal places for the stock item."
                            },
                            "ListPriceExcl": {
                              "type": "number",
                              "description": "The recommended retail price, excluding tax."
                            },
                            "ListPriceIncl": {
                              "type": "number",
                              "description": "The recommended retail price, including tax."
                            },
                            "Dimmesions": {
                              "type": "object",
                              "properties": {
                                "Weight": {
                                  "type": "number",
                                  "description": "The weight of the item."
                                },
                                "Width": {
                                  "type": "number",
                                  "description": "The width of the item."
                                },
                                "Height": {
                                  "type": "number",
                                  "description": "The height of the item."
                                },
                                "Depth": {
                                  "type": "number",
                                  "description": "The depth of the item."
                                }
                              },
                              "required": [
                                "Weight",
                                "Width",
                                "Height",
                                "Depth"
                              ],
                              "description": "The stock item's weight and dimensions (weight, width, height, depth)."
                            },
                            "Procurement": {
                              "type": "object",
                              "properties": {
                                "MinQtyPerLocationMethod": {
                                  "type": "string",
                                  "description": "How the minimum quantity per location is determined: None / Calculated."
                                },
                                "DailyAvgSoldPerDayBasedOn": {
                                  "type": "string",
                                  "description": "How the daily average sold per day is calculated: Last / Current month last year."
                                },
                                "DailyAvgSoldPerDayBasedOnDays": null,
                                "AddExtraPercent": null,
                                "ReorderQty": {
                                  "type": "number",
                                  "description": "The reorder quantity."
                                }
                              },
                              "required": [
                                "MinQtyPerLocationMethod",
                                "DailyAvgSoldPerDayBasedOn",
                                "DailyAvgSoldPerDayBasedOnDays",
                                "AddExtraPercent",
                                "ReorderQty"
                              ],
                              "description": "The procurement / reorder settings for the stock item."
                            },
                            "Measure": null,
                            "QtyDecimalPlaces": {
                              "type": "integer",
                              "description": "The number of decimal places used for quantities of this item."
                            },
                            "WarrantyMonths": null,
                            "ManufacturingType": {
                              "type": "string",
                              "description": "The manufacturing type: SingleLevel / MultiLevel, or null if the item is not manufactured."
                            },
                            "ServiceStock": {
                              "type": "boolean",
                              "description": "Whether the item is a service item."
                            },
                            "MacroDesc": {
                              "type": "string",
                              "description": "The macro description."
                            },
                            "HideOnInvoice": {
                              "type": "boolean",
                              "description": "Whether the item is hidden on the invoice."
                            },
                            "ExcludeAttributesInProcurement": {
                              "type": "boolean",
                              "description": "Whether stock attributes are excluded when procuring the item."
                            },
                            "PublishPrice": {
                              "type": "string",
                              "description": "Where the price is published: Price List & Web / Price List / Web / Don't Publish."
                            },
                            "RoundPriceUpToNearestCents": {
                              "type": "integer",
                              "description": "Round the calculated price up to the nearest number of cents."
                            },
                            "RateMultiplier": {
                              "type": "number",
                              "description": "The rate multiplier applied to the stock item."
                            },
                            "SummaryKit": {
                              "type": "boolean",
                              "description": "Whether the kit is summarised (a summary kit)."
                            },
                            "FloorCostMarkup": {
                              "type": "number",
                              "description": "The floor cost markup."
                            },
                            "ManufacturePartNumber": {
                              "type": "string",
                              "description": "The manufacturer part number."
                            },
                            "GTINumber": {
                              "type": "string",
                              "description": "The GTIN (Global Trade Item Number)."
                            },
                            "ShortDesc": {
                              "type": "string",
                              "description": "The short description."
                            },
                            "DetailedDesc": {
                              "type": "string",
                              "description": "The detailed (long) description."
                            },
                            "WarrantyDesc": {
                              "type": "string",
                              "description": "The warranty description."
                            },
                            "AllowPriceOverride": {
                              "type": "boolean",
                              "description": "Whether the price may be overridden on a transaction."
                            },
                            "DiscountIsPercentageOfPrice": {
                              "type": "boolean",
                              "description": "Whether the discount is treated as a percentage of price."
                            },
                            "DangerousGoods": {
                              "type": "boolean",
                              "description": "Whether the item is classified as dangerous goods."
                            },
                            "Commissions": {
                              "type": "object",
                              "properties": {
                                "Exclude": {
                                  "type": "boolean",
                                  "description": "Whether the item is excluded from commission."
                                },
                                "Floor": {
                                  "type": "number",
                                  "description": "The commission floor amount."
                                },
                                "Percent": {
                                  "type": "number",
                                  "description": "The commission percentage."
                                },
                                "Extra": {
                                  "type": "number",
                                  "description": "The extra commission amount."
                                }
                              },
                              "description": "The commission settings for the stock item (exclude, floor, percent, extra)."
                            },
                            "LastCost": {
                              "type": "number",
                              "description": "The last cost recorded for the stock item."
                            },
                            "LastCOGS": {
                              "type": "number",
                              "description": "The last cost of goods sold (COGS)."
                            },
                            "MaxCOGS": {
                              "type": "number",
                              "description": "The maximum cost of goods sold (COGS)."
                            },
                            "AvgCost": {
                              "type": "number",
                              "description": "The average cost."
                            },
                            "AvgCOGS": {
                              "type": "number",
                              "description": "The average cost of goods sold (COGS)."
                            },
                            "LastPOCOGS": {
                              "type": "number",
                              "description": "The last purchase-order cost of goods sold (COGS)."
                            },
                            "AvgPOCOGS": {
                              "type": "number",
                              "description": "The average purchase-order cost of goods sold (COGS)."
                            },
                            "Groups": null
                          },
                          "required": [
                            "StockCode",
                            "Description",
                            "Type",
                            "SerialNo",
                            "Active",
                            "GLGroupCode",
                            "LabourContent",
                            "Buy",
                            "Sll",
                            "ListPriceExcl",
                            "ListPriceIncl",
                            "Dimmesions",
                            "Procurement",
                            "Measure",
                            "QtyDecimalPlaces",
                            "WarrantyMonths",
                            "ManufacturingType",
                            "ServiceStock",
                            "MacroDesc",
                            "HideOnInvoice",
                            "ExcludeAttributesInProcurement",
                            "PublishPrice",
                            "RoundPriceUpToNearestCents",
                            "SummaryKit",
                            "FloorCostMarkup",
                            "ManufacturePartNumber",
                            "GTINumber",
                            "ShortDesc",
                            "DetailedDesc",
                            "WarrantyDesc",
                            "AllowPriceOverride",
                            "DiscountIsPercentageOfPrice",
                            "DangerousGoods",
                            "Commissions",
                            "LastCost",
                            "LastCOGS",
                            "MaxCOGS",
                            "AvgCost",
                            "AvgCOGS",
                            "LastPOCOGS",
                            "AvgPOCOGS",
                            "Groups"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        },
                        "relationships": {
                          "type": "object",
                          "properties": {
                            "supersededBy": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "alternateStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "parentStock": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "locations": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "serviceItem": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "manufacturingItem": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "priceLevels": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "id": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the Stock for the stockno parameter provided"
      }
    },
    "/api/v1/stock/{stockno}/locations": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The StockLocations",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Line": {
                              "type": "integer",
                              "description": "The line number of the stock location entry."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "LocNo": {
                              "type": "integer",
                              "description": "The internal location number used to identify the location."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "MinQtyLow": {
                              "type": "number",
                              "description": "The Min Qty Low and Min Qty High procurement parameters provide a window for purchasing, and provide a way of batching orders, rather than ordering the same stock every day. Note: Will not be returned in the response if value is null."
                            },
                            "MinQtyHigh": {
                              "type": "number",
                              "description": "The Min Qty High procurement parameter — the upper bound of the purchasing window (see minQtyLow). Note: Will not be returned in the response if value is null."
                            },
                            "LimitQty": {
                              "type": "number",
                              "description": "Limit Qty provides a way of putting an absolute limit on how much stock to order. Note: Will not be returned in the response if value is null."
                            },
                            "ReorderQty": {
                              "type": "number",
                              "description": "Reorder Qty can be at a stock or stock location level. If a location level reorder quantity is specified it will be used, otherwise the stock’s default reorder quantity will be used. Note: Will not be returned in the response if value is null."
                            },
                            "DaysSupply": {
                              "type": "integer",
                              "description": "Days Supply allows users to specify how many days’ worth of this stock they wish to purchase or transfer, based on average usage. Note: Will not be returned in the response if value is null."
                            },
                            "Zone": {
                              "type": "string",
                              "description": "Zones are a further extension of the warehouse management process that enhance the usability of warehousing. This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "PrimaryBin1": {
                              "type": "string",
                              "description": "Bin – the space within a bay/level combination. Note: Will not be returned in the response if value is null."
                            },
                            "MaxQtyBin1": {
                              "type": "number",
                              "description": "Max Qty allows entering the maximum quantity that will fit in the bin. This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "PrimaryBin2": {
                              "type": "string",
                              "description": "This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "MaxQtyBin2": {
                              "type": "number",
                              "description": "This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "The stock attribute configuration number for this location entry. Note: Will not be returned in the response if value is null."
                            }
                          },
                          "required": [
                            "Line",
                            "LocNo",
                            "LocationCode"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "2-1",
                      "type": "StockLocations",
                      "attributes": {
                        "line": 1,
                        "branchNo": 1,
                        "branchCode": "ACT",
                        "locationNo": 1,
                        "locationCode": "ACT",
                        "minQtyLow": 1.0,
                        "minQtyHigh": 10.0,
                        "limitQty": 20.0,
                        "reorderQty": 5.0,
                        "daysSupply": 5,
                        "zone": "A",
                        "primaryBin1": "1.2.3.BIN1",
                        "maxQtyBin1": 1.0,
                        "primaryBin2": "A.A.1.1.2",
                        "maxQtyBin2": 20.0,
                        "configNo": 3
                      }
                    },
                    {
                      "id": "2-2",
                      "type": "StockLocations",
                      "attributes": {
                        "locationCode": "NSW",
                        "line": 2
                      }
                    },
                    {
                      "id": "2-3",
                      "type": "StockLocations",
                      "attributes": {
                        "locationCode": "NT",
                        "line": 3
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the StockLocations"
      }
    },
    "/api/v1/stock/{stockno}/locations/{stockNo-locationNo}": {
      "parameters": [
        {
          "name": "stockNo-locationNo",
          "in": "path",
          "description": "The StockLocations identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The StockLocations",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "Line": {
                              "type": "integer",
                              "description": "The line number of the stock location entry."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "LocNo": {
                              "type": "integer",
                              "description": "The internal location number used to identify the location."
                            },
                            "LocationCode": {
                              "type": "string",
                              "description": "The stock location code."
                            },
                            "MinQtyLow": {
                              "type": "number",
                              "description": "The Min Qty Low and Min Qty High procurement parameters provide a window for purchasing, and provide a way of batching orders, rather than ordering the same stock every day. Note: Will not be returned in the response if value is null."
                            },
                            "MinQtyHigh": {
                              "type": "number",
                              "description": "The Min Qty High procurement parameter — the upper bound of the purchasing window (see minQtyLow). Note: Will not be returned in the response if value is null."
                            },
                            "LimitQty": {
                              "type": "number",
                              "description": "Limit Qty provides a way of putting an absolute limit on how much stock to order. Note: Will not be returned in the response if value is null."
                            },
                            "ReorderQty": {
                              "type": "number",
                              "description": "Reorder Qty can be at a stock or stock location level. If a location level reorder quantity is specified it will be used, otherwise the stock’s default reorder quantity will be used. Note: Will not be returned in the response if value is null."
                            },
                            "DaysSupply": {
                              "type": "integer",
                              "description": "Days Supply allows users to specify how many days’ worth of this stock they wish to purchase or transfer, based on average usage. Note: Will not be returned in the response if value is null."
                            },
                            "Zone": {
                              "type": "string",
                              "description": "Zones are a further extension of the warehouse management process that enhance the usability of warehousing. This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "PrimaryBin1": {
                              "type": "string",
                              "description": "Bin – the space within a bay/level combination. Note: Will not be returned in the response if value is null."
                            },
                            "MaxQtyBin1": {
                              "type": "number",
                              "description": "Max Qty allows entering the maximum quantity that will fit in the bin. This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "PrimaryBin2": {
                              "type": "string",
                              "description": "This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "MaxQtyBin2": {
                              "type": "number",
                              "description": "This is used only if the Jim2 licence key includes Warehouse Management. Note: Will not be returned in the response if value is null."
                            },
                            "ConfigNo": {
                              "type": "integer",
                              "description": "The stock attribute configuration number for this location entry. Note: Will not be returned in the response if value is null."
                            }
                          },
                          "required": [
                            "Line",
                            "LocNo",
                            "LocationCode"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "2-2",
                    "type": "StockLocations",
                    "attributes": {
                      "line": 2,
                      "branchNo": 2,
                      "branchCode": "NSW",
                      "locationNo": 2,
                      "locationCode": "NSW",
                      "minQtyLow": 2.0,
                      "minQtyHigh": 11.0,
                      "limitQty": 21.0,
                      "reorderQty": 6.0,
                      "daysSupply": 6,
                      "zone": "A",
                      "primaryBin1": "A.A.1.2.2",
                      "maxQtyBin1": 2.0,
                      "primaryBin2": "A.A.2.3.1",
                      "maxQtyBin2": 3.0,
                      "configNo": 4
                    },
                    "links": {
                      "self": "/api/v1/stock/2/locations/2-2"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the StockLocations for the stockNo-locationNo parameter provided"
      }
    },
    "/api/v1/stock/{stockno}/prices": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The StockPrices",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "StockPriceId": {
                              "type": "integer",
                              "description": "The internal price id used to identify the price."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level (label, prefixed with the level number for custom levels)."
                            },
                            "PriceCalcMethod": {
                              "type": "string",
                              "description": "How the price is calculated (e.g. Fixed Price, Last COGS + Markup, List - Discount)."
                            },
                            "BasePriceLevel": {
                              "type": "string",
                              "description": "The base price level this price is derived from."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code for the price."
                            },
                            "TaxCode": {
                              "type": "string",
                              "description": "The tax code for the price."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "discountPerc": {
                              "type": "number",
                              "description": "The discount percentage applied to the base price."
                            },
                            "PriceExcl": {
                              "type": "number",
                              "description": "The price excluding tax."
                            },
                            "PriceIncl": {
                              "type": "number",
                              "description": "The price including tax."
                            },
                            "PriceBreaks": null
                          },
                          "required": [
                            "StockPriceId",
                            "PriceLevel",
                            "PriceCalcMethod",
                            "BasePriceLevel",
                            "CurrencyCode",
                            "TaxCode",
                            "discountPerc",
                            "PriceExcl",
                            "PriceIncl",
                            "PriceBreaks"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "10-123",
                      "type": "StockPrices",
                      "attributes": {
                        "stockPriceId": 123,
                        "priceLevel": "1-Retail",
                        "priceCalcMethod": "List - Percent",
                        "basePriceLevel": "",
                        "currencyCode": "AUD",
                        "taxCode": "G",
                        "branchNo": 1,
                        "branchCode": "ACT",
                        "discountPerc": 0.0,
                        "priceExcl": 44.37,
                        "priceIncl": 48.807,
                        "priceBreaks": [
                          {
                            "qtyGreaterOrEqual": 10.0,
                            "discountPerc": 5.0,
                            "priceExcl": 42.15,
                            "priceIncl": 46.365
                          },
                          {
                            "qtyGreaterOrEqual": 50.0,
                            "discountPerc": 10.0,
                            "priceExcl": 39.93,
                            "priceIncl": 43.923
                          },
                          {
                            "qtyGreaterOrEqual": 100.0,
                            "discountPerc": 15.0,
                            "priceExcl": 37.71,
                            "priceIncl": 41.481
                          }
                        ]
                      }
                    },
                    {
                      "id": "10-129",
                      "type": "StockPrices",
                      "attributes": {
                        "priceLevel": "3-Do & Charge",
                        "priceExcl": 44.37
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the StockPrices"
      }
    },
    "/api/v1/stock/{stockno}/prices/{stockNo-stockPriceId}": {
      "parameters": [
        {
          "name": "stockNo-stockPriceId",
          "in": "path",
          "description": "The StockPrices identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The StockPrices",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "StockPriceId": {
                              "type": "integer",
                              "description": "The internal price id used to identify the price."
                            },
                            "PriceLevel": {
                              "type": "string",
                              "description": "The price level (label, prefixed with the level number for custom levels)."
                            },
                            "PriceCalcMethod": {
                              "type": "string",
                              "description": "How the price is calculated (e.g. Fixed Price, Last COGS + Markup, List - Discount)."
                            },
                            "BasePriceLevel": {
                              "type": "string",
                              "description": "The base price level this price is derived from."
                            },
                            "CurrencyCode": {
                              "type": "string",
                              "description": "The currency code for the price."
                            },
                            "TaxCode": {
                              "type": "string",
                              "description": "The tax code for the price."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "discountPerc": {
                              "type": "number",
                              "description": "The discount percentage applied to the base price."
                            },
                            "PriceExcl": {
                              "type": "number",
                              "description": "The price excluding tax."
                            },
                            "PriceIncl": {
                              "type": "number",
                              "description": "The price including tax."
                            },
                            "PriceBreaks": null
                          },
                          "required": [
                            "StockPriceId",
                            "PriceLevel",
                            "PriceCalcMethod",
                            "BasePriceLevel",
                            "CurrencyCode",
                            "TaxCode",
                            "discountPerc",
                            "PriceExcl",
                            "PriceIncl",
                            "PriceBreaks"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "10-129",
                    "type": "StockPrices",
                    "attributes": {
                      "stockPriceId": 129,
                      "priceLevel": "3-Do & Charge",
                      "priceCalcMethod": "List - Percent",
                      "basePriceLevel": "",
                      "currencyCode": "AUD",
                      "taxCode": "G",
                      "branchNo": 1,
                      "branchCode": "ACT",
                      "discountPerc": 0.0,
                      "priceExcl": 44.37,
                      "priceIncl": 48.807,
                      "priceBreaks": [
                        {
                          "qtyGreaterOrEqual": 10.0,
                          "discountPerc": 5.0,
                          "priceExcl": 42.15,
                          "priceIncl": 46.365
                        },
                        {
                          "qtyGreaterOrEqual": 50.0,
                          "discountPerc": 10.0,
                          "priceExcl": 39.93,
                          "priceIncl": 43.923
                        },
                        {
                          "qtyGreaterOrEqual": 100.0,
                          "discountPerc": 15.0,
                          "priceExcl": 37.71,
                          "priceIncl": 41.481
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the StockPrices for the stockNo-stockPriceId parameter provided"
      }
    },
    "/api/v1/stock/{stockno}/qtybylocations": {
      "parameters": [],
      "get": {
        "responses": {
          "200": {
            "description": "The StockQtyByLocations",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "CompanyNo": {
                              "type": "integer",
                              "description": "The internal company number used to identify the location. Multi-company is optional in Jim2 - this is only set when your site is configured to use multiple companies. Note: Will not be returned in the response if value is null."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The code of the card file linked to the company. Multi-company is optional in Jim2 - this is only set when your site is configured to use multiple companies. Note: Will not be returned in the response if value is null."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "LocNo": {
                              "type": "integer",
                              "description": "The internal location number used to identify the location."
                            },
                            "LocCode": {
                              "type": "string",
                              "description": "The location code where the stock is located."
                            },
                            "QtyH": {
                              "type": "number",
                              "description": "How many are currently in stock."
                            },
                            "QtyC": {
                              "type": "number",
                              "description": "How many are required for jobs."
                            },
                            "QtyT": {
                              "type": "number",
                              "description": "How many are currently on transfer to this location."
                            },
                            "QtyR": {
                              "type": "number",
                              "description": "How many are currently in jobs which are reserved/ready."
                            },
                            "QtyO": {
                              "type": "number",
                              "description": "How many are listed in purchase orders which are not received or finished."
                            },
                            "QtyA": {
                              "type": "number",
                              "description": "How many are available for sale."
                            },
                            "QtyB": {
                              "type": "number",
                              "description": "Quantity on Back Order."
                            },
                            "QtyM": {
                              "type": "number",
                              "description": "Quantity being manufactured. This will only be returned if the stock is set as manufactured. Note: Will not be returned in the response if value is null."
                            }
                          },
                          "required": [
                            "LocNo",
                            "LocCode",
                            "QtyH",
                            "QtyC",
                            "QtyT",
                            "QtyR",
                            "QtyO",
                            "QtyA",
                            "QtyB"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "id": "2-1",
                      "type": "StockQtyByLocations",
                      "attributes": {
                        "companyNo": 1,
                        "companyCode": "HEADOFFICE",
                        "branchNo": 1,
                        "branchCode": "ACT",
                        "locationNo": 1,
                        "locationCode": "ACT",
                        "onHand": 152.0,
                        "comitted": 109.0,
                        "onTransfer": 0.0,
                        "reserved": 5.0,
                        "onPO": 46.0,
                        "available": 43.0,
                        "backOrder": 0.0,
                        "manufacturing": 8.0
                      }
                    },
                    {
                      "id": "2-2",
                      "type": "StockQtyByLocations",
                      "attributes": {
                        "locationCode": "nsw",
                        "onHand": 12.0
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Returns all the StockQtyByLocations"
      }
    },
    "/api/v1/stock/{stockno}/qtybylocations/{stockNo-locationNo}": {
      "parameters": [
        {
          "name": "stockNo-locationNo",
          "in": "path",
          "description": "The StockQtyByLocations identifer/number",
          "required": true
        }
      ],
      "get": {
        "responses": {
          "200": {
            "description": "The StockQtyByLocations",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {},
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "CompanyNo": {
                              "type": "integer",
                              "description": "The internal company number used to identify the location. Multi-company is optional in Jim2 - this is only set when your site is configured to use multiple companies. Note: Will not be returned in the response if value is null."
                            },
                            "CompanyCode": {
                              "type": "string",
                              "description": "The code of the card file linked to the company. Multi-company is optional in Jim2 - this is only set when your site is configured to use multiple companies. Note: Will not be returned in the response if value is null."
                            },
                            "BranchNo": {
                              "type": "integer",
                              "description": "The internal branch number used to identify the branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "BranchCode": {
                              "type": "string",
                              "description": "The branch code. Branches are optional in Jim2 - this is only set when your site is configured to use branches. Note: Will not be returned in the response if value is null."
                            },
                            "LocNo": {
                              "type": "integer",
                              "description": "The internal location number used to identify the location."
                            },
                            "LocCode": {
                              "type": "string",
                              "description": "The location code where the stock is located."
                            },
                            "QtyH": {
                              "type": "number",
                              "description": "How many are currently in stock."
                            },
                            "QtyC": {
                              "type": "number",
                              "description": "How many are required for jobs."
                            },
                            "QtyT": {
                              "type": "number",
                              "description": "How many are currently on transfer to this location."
                            },
                            "QtyR": {
                              "type": "number",
                              "description": "How many are currently in jobs which are reserved/ready."
                            },
                            "QtyO": {
                              "type": "number",
                              "description": "How many are listed in purchase orders which are not received or finished."
                            },
                            "QtyA": {
                              "type": "number",
                              "description": "How many are available for sale."
                            },
                            "QtyB": {
                              "type": "number",
                              "description": "Quantity on Back Order."
                            },
                            "QtyM": {
                              "type": "number",
                              "description": "Quantity being manufactured. This will only be returned if the stock is set as manufactured. Note: Will not be returned in the response if value is null."
                            }
                          },
                          "required": [
                            "LocNo",
                            "LocCode",
                            "QtyH",
                            "QtyC",
                            "QtyT",
                            "QtyR",
                            "QtyO",
                            "QtyA",
                            "QtyB"
                          ]
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "self": {
                              "type": "string"
                            }
                          }
                        },
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": {
                    "id": "2-2",
                    "type": "StockQtyByLocations",
                    "attributes": {
                      "companyNo": 1,
                      "companyCode": "HEADOFFICE",
                      "branchNo": 2,
                      "branchCode": "NSW",
                      "locationNo": 2,
                      "locationCode": "nsw",
                      "onHand": 12.0,
                      "comitted": 10.0,
                      "onTransfer": 0.0,
                      "reserved": 0.0,
                      "onPO": 0.0,
                      "available": 2.0,
                      "backOrder": 0.0,
                      "manufacturing": 4.0
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns the StockQtyByLocations for the stockNo-locationNo parameter provided"
      }
    },
    "/api/v1/stocktransfercreate/locationtransfer": {
      "post": {
        "description": "Creates a new Stock Location Transfer. ",
        "parameters": [
          {
            "name": "Queue",
            "in": "query",
            "description": "Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue.  If specified the response will be 202 Accepted and the B2B request number will be returned.<br>\r\nLeave out, or set to false, 0, or f to process the request immediately.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubmitRefId",
            "in": "query",
            "description": "A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this\r\nquery parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing \r\non the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the \r\nB2B queue to be reprocessed and potentially creating a duplicate object).<br>\r\nThe Queue parameter must also be specified if SubmitRefId is specified.<br>\r\nNote that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fromLocation": {
                    "type": "string",
                    "description": "The location code where the stock is transferred from."
                  },
                  "toLocation": {
                    "type": "string",
                    "description": "The location code where the stock is transferred to."
                  },
                  "dateDue": {
                    "type": "string",
                    "description": "The date due for the new Stock Transfer. Must be in ISO date format - eg \"2020-01-31\"."
                  },
                  "status": {
                    "type": "string",
                    "description": "The status for the Stock Transfer. This status must be valid per workflow from Booked, and cannot be Transfer or FINISH. If omitted the Status will be 'Booked'."
                  },
                  "notes": {
                    "type": "string",
                    "description": "Any notes relating to the Stock Transfer"
                  },
                  "branch": {
                    "type": "string",
                    "description": "The branch code. Branches must be enabled."
                  },
                  "comments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "comment": {
                          "type": "string",
                          "description": "The comment text."
                        }
                      },
                      "required": [
                        "comment"
                      ]
                    }
                  },
                  "stockLines": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "stockCode": {
                          "type": "string",
                          "description": "The Jim2 stock code (the Jim2 stock the user is transferring)."
                        },
                        "stockDescription": {
                          "type": "string",
                          "description": "The stock description.  Only required if the default stock description needs to be overrridden.  It is recommended this be set for special stock."
                        },
                        "unitQty": {
                          "type": "number",
                          "description": "The number of items inside the Unit. If omitted the qty will be set to 1. Eg, 12 (BOX containing 12 items)'."
                        },
                        "qty": {
                          "type": "number",
                          "description": "How many units of the stock should be transferred."
                        }
                      },
                      "required": [
                        "stockCode",
                        "qty"
                      ]
                    },
                    "description": "The stock lines to transfer. At least one is required."
                  },
                  "submitRefID": {
                    "type": "string",
                    "description": "A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints."
                  },
                  "custom": {
                    "description": "A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing."
                  }
                },
                "required": [
                  "fromLocation",
                  "toLocation",
                  "stockLines"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "transferNo": {
                      "type": "integer",
                      "description": "The number of the created stock transfer."
                    }
                  },
                  "required": [
                    "transferNo"
                  ]
                },
                "example": "{\r\n    \"transferNo\": 1\r\n}"
              }
            }
          }
        }
      }
    },
    "/api/v1/test": {
      "get": {
        "description": "Simple test api endpoint. Can be used to check if authentication is working, the api endpoints are reachable, and that a suitable version of Jim2 is behind the API.",
        "responses": {
          "201": {
            "description": "Expected response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "loggedOn": {
                      "type": "boolean",
                      "description": "Returns true if the caller has logged on (ie Authentication header is valid)."
                    },
                    "loggedOnAs": {
                      "type": "string",
                      "description": "Returns the cardcode of the logged on user if the authentication header is valid"
                    },
                    "version": {
                      "type": "object",
                      "properties": {
                        "major": {
                          "type": "integer"
                        },
                        "minor": {
                          "type": "integer"
                        },
                        "release": {
                          "type": "integer"
                        },
                        "build": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "major",
                        "minor",
                        "release",
                        "build"
                      ],
                      "description": "Returns the system version information - this is only included if the authentication header is valid"
                    }
                  },
                  "required": [
                    "loggedOn",
                    "loggedOnAs",
                    "version"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/test": {
      "get": {
        "description": "Returns a simple html page.  Allows a browser to be used to test that Jes is answering HTTP requests. ",
        "responses": {
          "200": {
            "description": "A simple HTML page",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                },
                "example": "<html><body><p>A HTML page</p></body></html>"
              }
            }
          }
        }
      }
    }
  },
  "components": {}
}