ROOTPLOIT
Server: LiteSpeed
System: Linux in-mum-web1878.main-hosting.eu 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User: u435929562 (435929562)
PHP: 7.4.33
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/go/pkg/mod/github.com/go-openapi/[email protected]/fixtures/bugs/69/dapperbox.json
{
  "swagger": "2.0",
  "info": {
    "version": "V2",
    "title": "Payroll"
  },
  "host": "localhost:9333",
  "schemes": [
    "http"
  ],
  "paths": {
    "/api/v2/business/{businessId}/aba": {
      "get": {
        "tags": [
          "AbaSettings"
        ],
        "summary": "List ABA Settings",
        "description": "Retrieves all the ABA settings associated with the business.\n\nThis operation supports OData queries.",
        "operationId": "ABA_GetAbaDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BusinessAbaModel"
              },
              "xml": {
                "name": "BusinessAbaModel",
                "wrapped": true
              },
              "title": "IEnumerable<BusinessAbaModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "AbaSettings"
        ],
        "summary": "Create ABA Settings Record",
        "description": "Creates a new ABA settings record for the business.",
        "operationId": "ABA_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "abaDetails",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BusinessAbaModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/aba/{id}": {
      "get": {
        "tags": [
          "AbaSettings"
        ],
        "summary": "Get ABA Settings Record by ID",
        "description": "Gets the details for the ABA settings record with the specified ID.",
        "operationId": "ABA_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BusinessAbaModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "AbaSettings"
        ],
        "summary": "Update ABA Settings Record",
        "description": "Updates the ABA settings record with the specified ID.",
        "operationId": "ABA_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "abaDetails",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BusinessAbaModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "AbaSettings"
        ],
        "summary": "Delete ABA Settings Record",
        "description": "Deletes the ABA settings record with the specified ID.",
        "operationId": "ABA_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/oauth/token": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "OAuth Token",
        "description": "See the guide on OAuth2 authentication for more details.",
        "operationId": "Token_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "query",
            "required": true,
            "type": "object",
            "title": "HttpRequestMessage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/singlesignon": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Single Sign On",
        "description": "can either be called via /api/v2/singlesignon or /api/v2/business/singlesignon (which goes to the business controller)",
        "operationId": "SingleSignOn_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleSignOnRequestModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SingleSignOnResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/singlesignon": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Single Sign On",
        "description": "can either be called via /api/v2/singlesignon or /api/v2/business/singlesignon (which goes to the business controller)",
        "operationId": "SingleSignOn_PostApiV2BusinessByBusinessIdSinglesignon",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleSignOnRequestModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SingleSignOnResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/singlesignon": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Single Sign On",
        "description": "can either be called via /api/v2/singlesignon or /api/v2/business/singlesignon (which goes to the business controller)",
        "operationId": "SingleSignOn_PostApiV2BusinessByBusinessIdEmployeeByEmployeeIdSinglesignon",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleSignOnRequestModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SingleSignOnResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/roundingrules": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get Rounding Rules",
        "description": "Gets the rounding rules for the business.",
        "operationId": "RoundingRules_GetRoundingRules",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TimesheetRoundingRulesModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Set Rounding Rules",
        "description": "Sets the rounding rules for the business.",
        "operationId": "RoundingRules_SetRoundingRules",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "roundingRules",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TimesheetRoundingRulesModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/ato": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get ATO Details",
        "description": "Gets the ATO details for the business.",
        "operationId": "ATO_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BusinessAtoSupplierModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Set ATO Details",
        "description": "Sets the ATO details for the business.",
        "operationId": "ATO_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BusinessAtoSupplierModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/entitlements": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "List Entitlements",
        "description": "Lists all of the entitlements for the business.",
        "operationId": "Entitlements_GetEntitlements",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EntitlementsModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/document": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "List Business Document Details",
        "description": "Lists the details for all of the documents in the business.",
        "operationId": "Document_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DocumentModel"
              },
              "xml": {
                "name": "DocumentModel",
                "wrapped": true
              },
              "title": "List<DocumentModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Create Business Document",
        "description": "Uploads new document(s) for business. The request should be a MIME multipart file upload request.",
        "operationId": "Document_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "visibleToAll",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DocumentModel"
              },
              "xml": {
                "name": "DocumentModel",
                "wrapped": true
              },
              "title": "List<DocumentModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/document/{id}": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get Business Document Details",
        "description": "Gets the details for the specified business document.",
        "operationId": "Document_GetApiV2BusinessByBusinessIdDocumentById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DocumentModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Business"
        ],
        "summary": "Update Business Document Permissions",
        "description": "Updates permissions for the business document with the specified ID.",
        "operationId": "Document_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateDocumentPermissionsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DocumentModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Business"
        ],
        "summary": "Delete Business Document",
        "description": "Deletes the business document with the specified ID.",
        "operationId": "Document_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/document/{id}/content": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get Business Document Content",
        "description": "Gets the file content for the business document with the specified ID.",
        "operationId": "Document_Content",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DocumentFile"
            }
          }
        }
      }
    },
    "/api/v2/business": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "List Businesses",
        "description": "Lists all the businesses associated with the current user.\n\nThis operation supports OData queries.",
        "operationId": "Business_GetBusinesses",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BusinessModel"
              },
              "xml": {
                "name": "BusinessModel",
                "wrapped": true
              },
              "title": "IEnumerable<BusinessModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Create New Business",
        "description": "Creates a new business.",
        "operationId": "Business_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BusinessModel"
            }
          },
          {
            "name": "setupDefaultData",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": true,
            "title": "Boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get Business Details",
        "description": "Retrieves the details of the business with the specified ID.",
        "operationId": "Business_GetBusiness",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BusinessModel"
            }
          }
        }
      }
    },
    "/api/v2/business/externalid": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get Business Details by External ID",
        "description": "Retrieves the details of the business with the specified external ID.",
        "operationId": "Business_GetBusinessByExternalId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalId",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BusinessModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/access": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "List All Business Access Users",
        "description": "Lists all of the users with access to this business, as well as the types of access they each have.\n\nThis operation supports OData queries.",
        "operationId": "BusinessAccess_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BusinessAccessModel"
              },
              "xml": {
                "name": "BusinessAccessModel",
                "wrapped": true
              },
              "title": "IQueryable<BusinessAccessModel>"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Business"
        ],
        "summary": "Update Business Access",
        "description": "Updates a user's access to this business.",
        "operationId": "BusinessAccess_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "viewModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccessModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Business"
        ],
        "summary": "Assign Business Access",
        "description": "Assigns business access to a name/email.",
        "operationId": "BusinessAccess_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "viewModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateBusinessAccessModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Business"
        ],
        "summary": "Revoke Business Access",
        "description": "Revokes a user's access to the business.",
        "operationId": "BusinessAccess_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/access/user": {
      "get": {
        "tags": [
          "Business"
        ],
        "summary": "Get User Business Access",
        "description": "Returns the business access assigned to the user with the specified email address.",
        "operationId": "BusinessAccess_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BusinessAccessModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/deductioncategory": {
      "get": {
        "tags": [
          "DeductionCategories"
        ],
        "summary": "List Deduction Categories",
        "description": "Lists all the deduction categories for the business.\n\nThis operation supports OData queries.",
        "operationId": "DeductionCategory_GetDeductionCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DeductionCategoryModel"
              },
              "xml": {
                "name": "DeductionCategoryModel",
                "wrapped": true
              },
              "title": "IEnumerable<DeductionCategoryModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "DeductionCategories"
        ],
        "summary": "Create Deduction Category",
        "description": "Creates a deduction category for the business.",
        "operationId": "DeductionCategory_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deductionCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeductionCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/deductioncategory/{id}": {
      "get": {
        "tags": [
          "DeductionCategories"
        ],
        "summary": "Get Deduction Category By ID",
        "description": "Gets the deduction category with the specified ID.",
        "operationId": "DeductionCategory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DeductionCategoryModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "DeductionCategories"
        ],
        "summary": "Update Deduction Category",
        "description": "Updates the deduction category with the specified ID.",
        "operationId": "DeductionCategory_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "deductionCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeductionCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "DeductionCategories"
        ],
        "summary": "Delete Deduction Category",
        "description": "Deletes the deduction category with the specified ID.",
        "operationId": "DeductionCategory_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/worktype": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee Work Types",
        "description": "Lists all the work types for the employee.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeWorkType_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeModel"
              },
              "xml": {
                "name": "WorkTypeModel",
                "wrapped": true
              },
              "title": "IQueryable<WorkTypeModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/image": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee Profile Image",
        "description": "Returns the file content for the employee's current profile image.",
        "operationId": "EmployeeProfileImage_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Set Employee Profile Image",
        "description": "Uploads a new employee profile image. The request should be a MIME multipart file upload request.",
        "operationId": "EmployeeProfileImage_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProfileImageMetadata"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Employee"
        ],
        "summary": "Delete Employee Profile Image",
        "description": "Delete's the employee's profile image.",
        "operationId": "EmployeeProfileImage_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/details": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "List basic details for employees",
        "description": "This endpoint returns a list of employees. The details are a subset of the 'unstructured' employee endpoint.\r\nThis data can be filtered much more efficiently though so if you only need the basic employee details, this endpoint is preferred.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeDetails_GetEmployees",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeDetailsModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/details": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee basic details by ID",
        "description": "returns the basic employee details for the specified employee",
        "operationId": "EmployeeDetails_GetEmployee",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeDetailsModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/shiftcondition": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee Shift Conditions",
        "description": "Lists all the shift conditions for this employee.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeShiftCondition_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeModel"
              },
              "xml": {
                "name": "WorkTypeModel",
                "wrapped": true
              },
              "title": "IQueryable<WorkTypeModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/unstructured": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "List Employees",
        "description": "This endpoint returns the unstructured employee details for all matching employees.\r\n<p>\r\nSee also: List basic details for employees (which is much more efficient if that is all the information that is required)\r\n</p>\n\nThis operation supports OData queries.",
        "operationId": "Employee_GetEmployees",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Create or Update Employee",
        "description": "If the employee with the specified ID already exists, update it. Otherwise, create a new employee.",
        "operationId": "Employee_PostEmployee",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/unstructured/{employeeId}": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee By ID",
        "description": "Gets the employee with the specified ID.",
        "operationId": "Employee_GetEmployeeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Employee"
        ],
        "summary": "Update Employee",
        "description": "Updates the employee with the specified ID.",
        "operationId": "Employee_PutEmployee",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/unstructured/externalid": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee By External ID",
        "description": "Gets the employee with the specified external ID.",
        "operationId": "Employee_GetEmployeeByExternalId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalId",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/unstructured/externalreferenceid": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee By External Reference ID",
        "description": "Gets the employee with the specified external reference ID.",
        "operationId": "Employee_GetByExternalReferenceId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalReferenceId",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "source",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "None",
              "Saasu",
              "Xero",
              "MYOB",
              "Deputy",
              "EmployeeTimePunch",
              "ClickSuper",
              "IntegratedTimesheets",
              "FileImport",
              "FileExport",
              "QuickBooks",
              "Harmony",
              "AwardStore",
              "Attache",
              "IntegratedRostering",
              "ReckonAccounts",
              "API",
              "MicroPower",
              "RosterLive",
              "NetSuite",
              "Kounta",
              "TimeAndAttendanceKiosk",
              "DetailedFileExport",
              "JonasPremier",
              "WageEasy",
              "Maestrano",
              "WorkZone",
              "EmployeePortal",
              "RosterTemplate",
              "Onboarding",
              "Admin",
              "WorkZoneClockOnOff"
            ],
            "title": "ExternalService"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnstructuredEmployeeModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}": {
      "delete": {
        "tags": [
          "Employee"
        ],
        "summary": "Delete Employee",
        "description": "Deletes the employee with the specified ID.",
        "operationId": "Employee_DeleteEmployee",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/synctoqbo": {
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Sync Employee to QBO",
        "description": "Syncs an employee record to QBO.",
        "operationId": "Employee_SyncEmployeeToQBO",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/activate/{employeeId}": {
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Activate Employee",
        "description": "Activates the employee with the specified ID.",
        "operationId": "EmployeeActivate_PostActivate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leavebalances": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Leave Balances",
        "description": "Gets leave balances for this employee.",
        "operationId": "LeaveBalances_GetLeaveBalances",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "asAtDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveBalanceModel"
              },
              "xml": {
                "name": "LeaveBalanceModel",
                "wrapped": true
              },
              "title": "IList<LeaveBalanceModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/notes": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Employee Notes",
        "description": "Gets the notes for the specified employee.",
        "operationId": "Notes_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeNoteModel"
              },
              "xml": {
                "name": "EmployeeNoteModel",
                "wrapped": true
              },
              "title": "IList<EmployeeNoteModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Set Employee Notes",
        "description": "Sets the notes for the specified employee.",
        "operationId": "Notes_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateEmployeeNoteModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/payrate": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Pay Rates",
        "description": "Gets the pay rates for this employee.",
        "operationId": "EmployeePayRates_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeePayRateModel"
              },
              "xml": {
                "name": "EmployeePayRateModel",
                "wrapped": true
              },
              "title": "IList<EmployeePayRateModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/grantkioskaccess/{employeeId}": {
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Grant Kiosk Access",
        "description": "Grants kiosk access to the specified employee.",
        "operationId": "EmployeeKioskAccess_PostGrantKioskAccess",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/revokekioskaccess/{employeeId}": {
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Revoke Kiosk Access",
        "description": "Revokes kiosk access from the specified employee.",
        "operationId": "EmployeeKioskAccess_PostRevokeKioskAccess",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/OpeningBalances": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Get Opening Balances",
        "description": "Gets the opening balances for this employee.",
        "operationId": "OpeningBalances_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OpeningBalancesEditModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Employee"
        ],
        "summary": "Set Opening Balances",
        "description": "Sets the opening balances for this employee.",
        "operationId": "OpeningBalances_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OpeningBalancesEditModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/access": {
      "get": {
        "tags": [
          "EmployeeAccess"
        ],
        "summary": "Get Users With Access to Employee",
        "description": "Gets a list of all users with access to this employee.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeAccess_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeAccessModel"
              },
              "xml": {
                "name": "EmployeeAccessModel",
                "wrapped": true
              },
              "title": "IQueryable<EmployeeAccessModel>"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeAccess"
        ],
        "summary": "Update Employee Access Record",
        "description": "Updates the employee access record for the specified user.",
        "operationId": "EmployeeAccess_UpdateUserAccess",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "viewModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccessModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeAccess"
        ],
        "summary": "Grant Employee Access",
        "description": "Grants a user access to the employee.",
        "operationId": "EmployeeAccess_AddEmployeeAccess",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "viewModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateEmployeeAccessModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeAccess"
        ],
        "summary": "Revoke Employee Access",
        "description": "Revoke a user's access to the employee.",
        "operationId": "EmployeeAccess_DeleteEmployeeAccess",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/access/email": {
      "get": {
        "tags": [
          "EmployeeAccess"
        ],
        "summary": "Get Employee Access for User",
        "description": "Gets a list of all employees to which the user (specified by email) has access.",
        "operationId": "EmployeeAccess_ListEmployeeAccess",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeAccessModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/bankaccount": {
      "get": {
        "tags": [
          "EmployeeBankAccount"
        ],
        "summary": "List Bank Accounts",
        "description": "Lists all of the bank accounts for this employee.",
        "operationId": "EmployeeBankAccount_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BankAccountModel"
              },
              "xml": {
                "name": "BankAccountModel",
                "wrapped": true
              },
              "title": "IEnumerable<BankAccountModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeBankAccount"
        ],
        "summary": "Create Bank Account",
        "description": "Creates a new bank account for the employee.",
        "operationId": "EmployeeBankAccount_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/bankaccount/{bankAccountId}": {
      "get": {
        "tags": [
          "EmployeeBankAccount"
        ],
        "summary": "Get Bank Account by ID",
        "description": "Gets the bank account for this employee with the specified ID.",
        "operationId": "EmployeeBankAccount_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeBankAccount"
        ],
        "summary": "Delete Bank Account",
        "description": "Deletes the employee's bank account with the specified ID.",
        "operationId": "EmployeeBankAccount_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/bankaccount/{id}": {
      "put": {
        "tags": [
          "EmployeeBankAccount"
        ],
        "summary": "Update Bank Account",
        "description": "Updates the employee's bank account with the specified ID.",
        "operationId": "EmployeeBankAccount_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/document/{documentId}/timesheet/{id}": {
      "post": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Link Employee Document to Timesheet",
        "description": "Takes the specified employee document and adds it as an attachment to the timesheet with the specified ID.",
        "operationId": "EmployeeDocumentTimesheetLink_CreateLink",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Unlink Employee Document from Timesheet",
        "description": "If the specified employee document is attached to the specified timesheet, unattach it.",
        "operationId": "EmployeeDocumentTimesheetLink_RemoveLink",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/document": {
      "get": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "List Employee Documents",
        "description": "Lists all the documents for this employee.",
        "operationId": "EmployeeDocument_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeDocumentModel"
              },
              "xml": {
                "name": "EmployeeDocumentModel",
                "wrapped": true
              },
              "title": "List<EmployeeDocumentModel>"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Update Employee Document Permissions",
        "description": "Updates permissions for the employee document with the specified ID.",
        "operationId": "EmployeeDocument_UpdatePermissions",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateEmployeeDocumentPermissionsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeDocumentModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Create Employee Document",
        "description": "Uploads new document(s) for this employee. The request should be a MIME multipart file upload request.",
        "operationId": "EmployeeDocument_Upload",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "visible",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeDocumentModel"
              },
              "xml": {
                "name": "EmployeeDocumentModel",
                "wrapped": true
              },
              "title": "List<EmployeeDocumentModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/document/{id}": {
      "get": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Get Employee Document Details",
        "description": "Gets the details for the employee document with the specified ID.",
        "operationId": "EmployeeDocument_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeDocumentModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Delete Employee Document",
        "description": "Deletes the employee document with the specified ID.",
        "operationId": "EmployeeDocument_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/document/{id}/content": {
      "get": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Get Employee Document Content",
        "description": "Get the file content for the employee document with the specified ID.",
        "operationId": "EmployeeDocument_Content",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DocumentFile"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/document/{documentId}/leave/{id}": {
      "post": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Link Employee Document to Leave Request",
        "description": "Takes the specified employee document and adds it as an attachment to the leave request with the specified ID.",
        "operationId": "EmployeeDocumentLeaveLink_CreateLink",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeDocument"
        ],
        "summary": "Unlink Employee Document from Leave Request",
        "description": "If the specified employee document is attached to the specified leave request, unattach it.",
        "operationId": "EmployeeDocumentLeaveLink_RemoveLink",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employeeexpensecategory": {
      "get": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "List Employee Expense Categories",
        "description": "Lists all the employee expense categories for the business.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeExpenseCategory_GetEmployeeExpenseCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeExpenseCategoryModel"
              },
              "xml": {
                "name": "EmployeeExpenseCategoryModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployeeExpenseCategoryModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "Create Employee Expense Category",
        "description": "Creates an employee expense category for the business.",
        "operationId": "EmployeeExpenseCategory_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeExpenseCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeExpenseCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employeeexpensecategory/{id}": {
      "get": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "Get Employee Expense Category by ID",
        "description": "Gets the employee expense category with the specified ID.",
        "operationId": "EmployeeExpenseCategory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeExpenseCategoryModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "Update Employee Expense Category",
        "description": "Updates the employee expense category with the specified ID.",
        "operationId": "EmployeeExpenseCategory_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeExpenseCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeExpenseCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "Delete Employee Expense Category",
        "description": "Deletes the employee expense category with the specified ID.",
        "operationId": "EmployeeExpenseCategory_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employeeexpensecategory/taxcodes": {
      "get": {
        "tags": [
          "EmployeeExpenseCategories"
        ],
        "summary": "Get Tax Codes",
        "description": "Gets a list of the business' tax codes.",
        "operationId": "EmployeeExpenseCategory_TaxCodes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/JournalServiceTaxCode"
              },
              "xml": {
                "name": "JournalServiceTaxCode",
                "wrapped": true
              },
              "title": "IList<JournalServiceTaxCode>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expenserequest": {
      "get": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "List Expense Requests",
        "description": "Lists all of the expense requests for this employee.\n\nThis operation supports OData queries.",
        "operationId": "ExpenseRequest_GetExpenseRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExpenseRequestResponseModel"
              },
              "xml": {
                "name": "ExpenseRequestResponseModel",
                "wrapped": true
              },
              "title": "IEnumerable<ExpenseRequestResponseModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Create Expense Request",
        "description": "Creates a new expense request for this employee.",
        "operationId": "ExpenseRequest_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseRequestEditModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expenserequest/{expenseRequestId}": {
      "get": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Get Expense Request by ID",
        "description": "Gets the expense request with the specified ID.",
        "operationId": "ExpenseRequest_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ExpenseRequestResponseModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Update Expense Request",
        "description": "Updates the expense request with the specified ID.",
        "operationId": "ExpenseRequest_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseRequestEditModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Delete Expense Request",
        "description": "Deletes the expense request with the specified ID.",
        "operationId": "ExpenseRequest_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expenserequest/{expenseRequestId}/approve": {
      "post": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Approve Expense Request",
        "description": "Approves the expense request with the specified ID.",
        "operationId": "ExpenseRequest_Approve",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expenserequest/{expenseRequestId}/decline": {
      "post": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Decline Expense Request",
        "description": "Declines the expense request with the specified ID.",
        "operationId": "ExpenseRequest_Decline",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "reason",
            "in": "body",
            "required": true,
            "schema": {
              "type": "string",
              "title": "String"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expenserequest/{expenseRequestId}/attachment": {
      "put": {
        "tags": [
          "EmployeeExpenseRequest"
        ],
        "summary": "Upload Attachment to Expense Request",
        "description": "Uploads an attachment to the expense request with the specified ID. \r\nThe request should be a MIME multipart file upload request.",
        "operationId": "ExpenseRequest_UploadAttachment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employeegroup": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "List Employee Groups",
        "description": "Lists all the employee groups for the business.\n\nThis operation supports OData queries.",
        "operationId": "EmployeeGroup_GetGroups",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeGroupModel"
              },
              "xml": {
                "name": "EmployeeGroupModel",
                "wrapped": true
              },
              "title": "IQueryable<EmployeeGroupModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Create Employee Group",
        "description": "Creates a new employee group for the business.",
        "operationId": "EmployeeGroup_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeGroup",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeGroupModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employeegroup/{id}": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Get Employee Group by ID",
        "description": "Gets the employee group with the specified ID.",
        "operationId": "EmployeeGroup_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DetailedEmployeeGroupModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Update Employee Group",
        "description": "Updates the specified employee group.",
        "operationId": "EmployeeGroup_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeGroup",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeGroupModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Delete Employee Group",
        "description": "Deletes the employee group with the specified ID.",
        "operationId": "EmployeeGroup_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/qualification/{qualificationId}/document": {
      "get": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "List Documents for Employee Qualification",
        "description": "Lists all the documents associated with a specific employee qualification.",
        "operationId": "EmployeeQualificationDocument_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualificationId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeQualificationDocumentModel"
              },
              "xml": {
                "name": "EmployeeQualificationDocumentModel",
                "wrapped": true
              },
              "title": "List<EmployeeQualificationDocumentModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Create Employee Qualification Document",
        "description": "Uploads an employee qualification document. Note: the request should be a MIME multipart file upload request.",
        "operationId": "EmployeeQualificationDocument_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualificationId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "visible",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeQualificationDocumentModel"
              },
              "xml": {
                "name": "EmployeeQualificationDocumentModel",
                "wrapped": true
              },
              "title": "List<EmployeeQualificationDocumentModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/qualification/{qualificationId}/document/{id}": {
      "get": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Get Qualification Document by ID",
        "description": "Gets the details for a qualification document by ID.",
        "operationId": "EmployeeQualificationDocument_GetApiV2BusinessByBusinessIdEmployeeByEmployeeIdQualificationByQualificationIdDocumentById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualificationId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeQualificationDocumentModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Delete Employee Qualification Document",
        "description": "Deletes a specific employee qualification document.",
        "operationId": "EmployeeQualificationDocument_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualificationId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/qualification/{qualificationId}/document/{id}/content": {
      "get": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Get Qualification Document File",
        "description": "Gets the file for an employee qualification document by ID.",
        "operationId": "EmployeeQualificationDocument_Content",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualificationId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DocumentFile"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/qualification": {
      "get": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Get Qualifications for Employee",
        "description": "Retrieves the qualification details for a single employee.",
        "operationId": "EmployeeQualification_GetQualifications",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeQualificationModel"
              },
              "xml": {
                "name": "EmployeeQualificationModel",
                "wrapped": true
              },
              "title": "IQueryable<EmployeeQualificationModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Add/Update Employee Qualification",
        "description": "Adds or updates a qualification for an employee.",
        "operationId": "EmployeeQualification_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualification",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeQualificationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Delete Employee Qualification",
        "description": "Deletes an employee qualification. Denotes that the employee is no longer qualified for the specified qualification.",
        "operationId": "EmployeeQualification_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/qualification/{id}": {
      "get": {
        "tags": [
          "EmployeeQualifications"
        ],
        "summary": "Get Qualification Details",
        "description": "Gets the details for the qualification with a specific ID.",
        "operationId": "EmployeeQualification_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeQualificationModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/taxadjustment": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "List Employee Tax Adjustments",
        "description": "Lists all the recurring employee tax adjustments for the employee",
        "operationId": "EmployeeRecurringTaxAdjustment_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
              },
              "xml": {
                "name": "EmployeeRecurringTaxAdjustmentModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployeeRecurringTaxAdjustmentModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Create Employee Tax Adjustment",
        "description": "Creates a new recurring tax adjustment for the employee.",
        "operationId": "EmployeeRecurringTaxAdjustment_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/taxadjustment/{id}": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Get Employee Tax Adjustment by ID",
        "description": "Gets the employee's recurring tax adjustment with the specified ID.",
        "operationId": "EmployeeRecurringTaxAdjustment_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Update Employee Tax Adjustment",
        "description": "Updates the employee's recurring tax adjustment with the specified ID.",
        "operationId": "EmployeeRecurringTaxAdjustment_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringTaxAdjustmentModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Delete Employee Tax Adjustment",
        "description": "Deletes the employee recurring tax adjustment with the specified ID.",
        "operationId": "EmployeeRecurringTaxAdjustment_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superadjustment": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "List Employee Super Adjustments",
        "description": "Lists all the recurring employee super adjustments for the employee",
        "operationId": "EmployeeRecurringSuperAdjustment_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
              },
              "xml": {
                "name": "EmployeeRecurringSuperAdjustmentModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployeeRecurringSuperAdjustmentModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Create Employee Super Adjustment",
        "description": "Creates a new recurring super adjustment for the employee.",
        "operationId": "EmployeeRecurringSuperAdjustment_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superadjustment/{id}": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Get Employee Super Adjustment by ID",
        "description": "Gets the employee's recurring super adjustment with the specified ID.",
        "operationId": "EmployeeRecurringSuperAdjustment_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Update Employee Super Adjustment",
        "description": "Updates the employee's recurring super adjustment with the specified ID.",
        "operationId": "EmployeeRecurringSuperAdjustment_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringSuperAdjustmentModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Delete Employee Super Adjustment",
        "description": "Deletes the employee recurring super adjustment with the specified ID.",
        "operationId": "EmployeeRecurringSuperAdjustment_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/employerliability": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "List Employer liabilities",
        "description": "Lists all the recurring employer liabilities for the employee",
        "operationId": "Employerrecurringliability_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployerRecurringLiabilityModel"
              },
              "xml": {
                "name": "EmployerRecurringLiabilityModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployerRecurringLiabilityModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Create Employer liability",
        "description": "Creates a new recurring employer liability for the employee.",
        "operationId": "Employerrecurringliability_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployerRecurringLiabilityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployerRecurringLiabilityModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/employerliability/{id}": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Get Employer liability by ID",
        "description": "Gets the employee's recurring employer liabilities with the specified ID.",
        "operationId": "Employerrecurringliability_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployerRecurringLiabilityModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Update Employer liability",
        "description": "Updates the employee's recurring employer liability with the specified ID.",
        "operationId": "Employerrecurringliability_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployerRecurringLiabilityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployerRecurringLiabilityModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Delete Employer liability",
        "description": "Deletes the recurring employer liability with the specified ID.",
        "operationId": "Employerrecurringliability_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/deduction": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "List Employee Deductions",
        "description": "Lists all the recurring employee deductions for the employee",
        "operationId": "EmployeeRecurringDeduction_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeRecurringDeductionModel"
              },
              "xml": {
                "name": "EmployeeRecurringDeductionModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployeeRecurringDeductionModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Create Employee Deduction",
        "description": "Creates a new recurring deduction for the employee.",
        "operationId": "EmployeeRecurringDeduction_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringDeductionModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringDeductionModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/deduction/{id}": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Get Employee Deduction by ID",
        "description": "Gets the employee's recurring deduction with the specified ID.",
        "operationId": "EmployeeRecurringDeduction_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringDeductionModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Update Employee Deduction",
        "description": "Updates the employee's recurring deduction with the specified ID.",
        "operationId": "EmployeeRecurringDeduction_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringDeductionModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringDeductionModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Delete Employee Deduction",
        "description": "Deletes the employee recurring deduction with the specified ID.",
        "operationId": "EmployeeRecurringDeduction_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expense": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "List Employee Expenses",
        "description": "Lists all the recurring employee expenses for the employee",
        "operationId": "EmployeeRecurringExpense_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeRecurringExpenseModel"
              },
              "xml": {
                "name": "EmployeeRecurringExpenseModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployeeRecurringExpenseModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Create Employee Expense",
        "description": "Creates a new recurring expense for the employee.",
        "operationId": "EmployeeRecurringExpense_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringExpenseModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringExpenseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/expense/{id}": {
      "get": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Get Employee Expense by ID",
        "description": "Gets the employee's recurring expense with the specified ID.",
        "operationId": "EmployeeRecurringExpense_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringExpenseModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Update Employee Expense",
        "description": "Updates the employee's recurring expense with the specified ID.",
        "operationId": "EmployeeRecurringExpense_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringExpenseModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeRecurringExpenseModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeRecurringTransactions"
        ],
        "summary": "Delete Employee Expense",
        "description": "Deletes the employee recurring expense with the specified ID.",
        "operationId": "EmployeeRecurringExpense_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superfund": {
      "get": {
        "tags": [
          "EmployeeSuperFund"
        ],
        "summary": "List Super Funds",
        "description": "Lists all of the super funds for this employee.",
        "operationId": "EmployeeSuperFund_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SuperFundModel"
              },
              "xml": {
                "name": "SuperFundModel",
                "wrapped": true
              },
              "title": "IEnumerable<SuperFundModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeSuperFund"
        ],
        "summary": "Create Super Fund",
        "description": "Creates a new super fund for the employee.",
        "operationId": "EmployeeSuperFund_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SaveSuperFundModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superfund/{superFundId}": {
      "get": {
        "tags": [
          "EmployeeSuperFund"
        ],
        "summary": "Get Super Fund by ID",
        "description": "Gets the super fund for this employee with the specified ID.",
        "operationId": "EmployeeSuperFund_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "superFundId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SuperFundModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superfund/{id}": {
      "put": {
        "tags": [
          "EmployeeSuperFund"
        ],
        "summary": "Update Super Fund",
        "description": "Updates the employee's super fund with the specified ID.",
        "operationId": "EmployeeSuperFund_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SaveSuperFundModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/superfund/{superfundId}": {
      "delete": {
        "tags": [
          "EmployeeSuperFund"
        ],
        "summary": "Delete Super Fund",
        "description": "Deletes the employee's super fund with the specified ID.",
        "operationId": "EmployeeSuperFund_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "superfundId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employerliabilitycategory": {
      "get": {
        "tags": [
          "EmployerLiabilityCategories"
        ],
        "summary": "List Employer Liability Categories",
        "description": "Lists all the employer liability categories for this business.\n\nThis operation supports OData queries.",
        "operationId": "EmployerLiabilityCategory_GetEmployerLiabilityCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployerLiabilityCategoryModel"
              },
              "xml": {
                "name": "EmployerLiabilityCategoryModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployerLiabilityCategoryModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployerLiabilityCategories"
        ],
        "summary": "Create Employer Liability Category",
        "description": "Creates an employer liability category for the business.",
        "operationId": "EmployerLiabilityCategory_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employerLiabilityCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployerLiabilityCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employerliabilitycategory/{id}": {
      "get": {
        "tags": [
          "EmployerLiabilityCategories"
        ],
        "summary": "Get Employer Liability Category",
        "description": "Gets the employer liability category with the specified ID.",
        "operationId": "EmployerLiabilityCategory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployerLiabilityCategoryModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployerLiabilityCategories"
        ],
        "summary": "Update Employer Liability Category",
        "description": "Updates the employer liability category with the specified ID.",
        "operationId": "EmployerLiabilityCategory_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employerLiabilityCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployerLiabilityCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployerLiabilityCategories"
        ],
        "summary": "Delete Employer Liability Category",
        "description": "Deletes the employer liability category with the specified ID.",
        "operationId": "EmployerLiabilityCategory_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employingentity": {
      "get": {
        "tags": [
          "EmployingEntities"
        ],
        "summary": "List Employing Entities",
        "description": "Lists all the employing entities for the business.\n\nThis operation supports OData queries.",
        "operationId": "EmployingEntity_GetEmployingEntities",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployingEntityModel"
              },
              "xml": {
                "name": "EmployingEntityModel",
                "wrapped": true
              },
              "title": "IEnumerable<EmployingEntityModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployingEntities"
        ],
        "summary": "Create Employing Entity",
        "description": "Creates a new employing entity for the business.",
        "operationId": "EmployingEntity_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employingEntity",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployingEntityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employingentity/{id}": {
      "get": {
        "tags": [
          "EmployingEntities"
        ],
        "summary": "Get Employing Entity By ID",
        "description": "Gets the employing entity with the specified ID.",
        "operationId": "EmployingEntity_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployingEntityModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployingEntities"
        ],
        "summary": "Update Employing Entity",
        "description": "Updates the employing entity with the specified ID.",
        "operationId": "EmployingEntity_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employingEntity",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployingEntityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EmployingEntities"
        ],
        "summary": "Delete Employing Entity",
        "description": "Deletes the employing entity with the specified ID.",
        "operationId": "EmployingEntity_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employmentagreement": {
      "get": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "List Employment Agreements",
        "description": "Lists all of the employment agreements for the business.\n\nThis operation supports OData queries.",
        "operationId": "EmploymentAgreement_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BasicEmploymentAgreementModel"
              },
              "xml": {
                "name": "BasicEmploymentAgreementModel",
                "wrapped": true
              },
              "title": "IQueryable<BasicEmploymentAgreementModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employmentagreement/{id}": {
      "get": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "Get Employment Agreement by ID",
        "description": "Gets the employment agreement with the specified ID.",
        "operationId": "EmploymentAgreement_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmploymentAgreementModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employmentagreement/{id}/shiftperiods": {
      "post": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "Get Shift Periods",
        "description": "Gets all the shift periods for the employment agreement with the specified ID.",
        "operationId": "EmploymentAgreement_ShiftPeriods",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetShiftPeriodsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ShiftPeriodModel"
              },
              "xml": {
                "name": "ShiftPeriodModel",
                "wrapped": true
              },
              "title": "IList<ShiftPeriodModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employmentagreement/{id}/shiftcosting": {
      "post": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "Evaluate Shift Costings",
        "description": "Evaluates shift costings for the employment agreement with the specified ID.",
        "operationId": "EmploymentAgreement_Evaluate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ShiftCostingsRequestModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ShiftCostingsResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/timesheet/shiftperiods": {
      "post": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "Get Shift Periods for Employee",
        "description": "Gets the shift periods for the specified employee.",
        "operationId": "EmploymentAgreement_EmployeeShiftPeriods",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetShiftPeriodsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ShiftPeriodModel"
              },
              "xml": {
                "name": "ShiftPeriodModel",
                "wrapped": true
              },
              "title": "IList<ShiftPeriodModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/timesheet/shiftcosting": {
      "post": {
        "tags": [
          "EmploymentAgreement"
        ],
        "summary": "Get Shift Costings for Employee",
        "description": "Gets the shift costings for the specified employee.",
        "operationId": "EmploymentAgreement_EvaluateEmployee",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ShiftCostingsRequestModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ShiftCostingsResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Leave Requests",
        "description": "Lists all leave requests for this employee, with optional filters",
        "operationId": "EssLeave_LeaveRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.showOtherEmployees",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssLeaveRequestModel"
              },
              "xml": {
                "name": "EssLeaveRequestModel",
                "wrapped": true
              },
              "title": "List<EssLeaveRequestModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Create Leave Request",
        "description": "Creates a new leave request for the employee.",
        "operationId": "EssLeave_ApplyForLeave",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveApplication",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssLeaveApplicationModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave/{leaveRequestId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Leave Request by ID",
        "description": "Gets the details for a leave request with the specified ID.",
        "operationId": "EssLeave_LeaveRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssLeaveRequestModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Update Leave Request",
        "description": "Updates the leave request with the specified ID.",
        "operationId": "EssLeave_EditLeave",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveApplication",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssLeaveApplicationModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Leave Request",
        "description": "Deletes the leave request with the specified ID.",
        "operationId": "EssLeave_Cancel",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave/{leaveRequestId}/attachment": {
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Upload Attachment to Leave Request",
        "description": "Uploads a file as a new employee document, and attaches it to the leave request with the specified ID. \r\nThe request should be a MIME multipart file upload request.",
        "operationId": "EssLeave_Upload",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Attachment from Leave Request",
        "description": "Deletes the attachment on the leave request with the specified ID.",
        "operationId": "EssLeave_DeleteAttachment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave/balances": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Leave Balances",
        "description": "Gets the leave balances for the employee.",
        "operationId": "EssLeave_Balances",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "asAtDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveBalanceModel"
              },
              "xml": {
                "name": "LeaveBalanceModel",
                "wrapped": true
              },
              "title": "IList<LeaveBalanceModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave/leavecategories": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Leave Categories",
        "description": "Gets the available leave categories for the employee.",
        "operationId": "EssLeave_LeaveCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssLeaveCategoryModel"
              },
              "xml": {
                "name": "EssLeaveCategoryModel",
                "wrapped": true
              },
              "title": "IList<EssLeaveCategoryModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/leave/estimate": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Estimate Leave Hours",
        "description": "Estimates the number of hours of leave required based on date and leave category.",
        "operationId": "EssLeave_Estimate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.leaveCategoryId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssLeaveEstimate"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/profileimage": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Employee Profile Image",
        "description": "Returns the file content for the employee's current profile image.",
        "operationId": "EssProfileImage_GetImage",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Set Employee Profile Image",
        "description": "Uploads a new employee profile image. The request should be a MIME multipart file upload request.",
        "operationId": "EssProfileImage_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProfileImageMetadata"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Employee Profile Image",
        "description": "Delete's the employee's profile image.",
        "operationId": "EssProfileImage_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/details": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Details",
        "description": "Gets ESS details for the specified employee.",
        "operationId": "EssEmployee_GetDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssEmployeeDetailsModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Save Details",
        "description": "Saves any employee details that the employee is allowed to set.",
        "operationId": "EssEmployee_SaveDetails",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeePartialEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/emergencycontacts": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Emergency Contacts",
        "description": "Gets emergency contacts for the specified employee.",
        "operationId": "EssEmployee_GetEmergencyContacts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EmployeeEmergencyContactsEditModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Save Emergency Contacts",
        "description": "Saves the employee's emergency contact details.",
        "operationId": "EssEmployee_SaveEmergencyContacts",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EmployeeEmergencyContactsEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/security/features": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Enabled Features",
        "description": "Gets details as to which ESS features are enabled for the business.",
        "operationId": "EssEmployee_Features",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FeaturesModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/dashboard": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Dashboard",
        "description": "Gets a set of useful information that the employee may need for self service tasks.",
        "operationId": "EssEmployee_GetDashboard",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DashboardModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/location": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Locations",
        "description": "Gets all the locations for the employee.",
        "operationId": "EssEmployee_Locations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LocationModel"
              },
              "xml": {
                "name": "LocationModel",
                "wrapped": true
              },
              "title": "List<LocationModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/satisfaction": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Satisfaction Survey Results",
        "description": "Gets satisfaction survey results for the employee",
        "operationId": "EssEmployee_GetSatisfactionSurveys",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssSatisfactionSurvey"
              },
              "xml": {
                "name": "EssSatisfactionSurvey",
                "wrapped": true
              },
              "title": "IList<EssSatisfactionSurvey>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Submit Satisfaction Survey",
        "description": "Submit a satisfaction survey for this employee.",
        "operationId": "EssEmployee_SaveSatisfaction",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "survey",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssSatisfactionSurvey"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timesheet": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Timesheets",
        "description": "Lists timesheets for the employee.",
        "operationId": "EssTimesheet_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssTimesheetModel"
              },
              "xml": {
                "name": "EssTimesheetModel",
                "wrapped": true
              },
              "title": "IList<EssTimesheetModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Submit or Update Timesheet",
        "description": "If no ID is specified, create a new timesheet for the employee. \r\nOtherwise, update the timesheet with the specified ID.",
        "operationId": "EssTimesheet_Save",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "timesheet",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TimesheetLineViewModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timesheet/{timesheetId}": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Edit Timesheet",
        "description": "Edits the timesheet with the specified ID.",
        "operationId": "EssTimesheet_Edit",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "timesheetId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "timesheet",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TimesheetLineViewModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Timesheet",
        "description": "Deletes the timesheet with the specified ID.",
        "operationId": "EssTimesheet_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "timesheetId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/lookup/title": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Business Titles",
        "description": "Gets all the titles for the business.",
        "operationId": "EssLookup_Title",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TitleViewModel"
              },
              "xml": {
                "name": "TitleViewModel",
                "wrapped": true
              },
              "title": "List<TitleViewModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/lookup/worktype": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Work Types",
        "description": "Gets all the work types for the employee.",
        "operationId": "EssLookup_WorkType",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeModel"
              },
              "xml": {
                "name": "WorkTypeModel",
                "wrapped": true
              },
              "title": "List<WorkTypeModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/lookup/shiftcondition": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Shift Conditions",
        "description": "Gets all the shift conditions for the employee.",
        "operationId": "EssLookup_ShiftCondition",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeModel"
              },
              "xml": {
                "name": "WorkTypeModel",
                "wrapped": true
              },
              "title": "List<WorkTypeModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/lookup/location": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Locations",
        "description": "Gets all the locations for the employee.",
        "operationId": "EssLookup_Location",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LocationModel"
              },
              "xml": {
                "name": "LocationModel",
                "wrapped": true
              },
              "title": "List<LocationModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/devicetoken/register": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Register Device Token",
        "description": "Registers a device token.",
        "operationId": "EssDeviceToken_Register",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeviceTokenModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/devicetoken/unregister": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Unregister Device Token",
        "description": "Unregisters a device token.",
        "operationId": "EssDeviceToken_Unregister",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeviceTokenModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/lookupdata": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Lookup Data",
        "description": "Gets relevant lookup data for the employee in relation to a kiosk.",
        "operationId": "EssTimeAndAttendance_GetLookupData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TimeAndAttendanceLookupDataModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/clockon": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Clock In Employee",
        "description": "Clocks in an employee for a new shift.",
        "operationId": "EssTimeAndAttendance_ClockOn",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOnModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/clockoff": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Clock Out Employee",
        "description": "Clocks out the employee from their existing shift. \r\nIf they are on a break, it will be ended automatically.",
        "operationId": "EssTimeAndAttendance_ClockOff",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOffModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/startbreak": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Start Break",
        "description": "Starts a break for the employee who is clocked on for a shift.",
        "operationId": "EssTimeAndAttendance_StartBreak",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StartBreakModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/endbreak": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "End Break",
        "description": "Ends the employee's current break.",
        "operationId": "EssTimeAndAttendance_EndBreak",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EndBreakModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/discard": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Discard current shift",
        "description": "Discards the current shift for an employee. \r\nIf they are on a break, it will be ended automatically.",
        "operationId": "EssTimeAndAttendance_DiscardShift",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOffModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/shifts": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Shifts",
        "description": "Gets shifts based on certain optional criteria.",
        "operationId": "EssTimeAndAttendance_Shifts",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetShiftsModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TimeAndAttendanceShiftModel"
              },
              "xml": {
                "name": "TimeAndAttendanceShiftModel",
                "wrapped": true
              },
              "title": "IList<TimeAndAttendanceShiftModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/shift/{shiftId}/notes": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Shift Notes",
        "description": "Gets shifts based on certain optional criteria.",
        "operationId": "EssTimeAndAttendance_GetShiftNotes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.isAdminInitiated",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "model.type",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Shift",
              "ClockOn",
              "ClockOff"
            ],
            "title": "Nullable<TimeAttendanceShiftNoteType>"
          },
          {
            "name": "model.visibility",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Hidden",
              "Visible"
            ],
            "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Add Note to Shift",
        "description": "Adds a note to an existing shift.",
        "operationId": "EssTimeAndAttendance_AddNote",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AddNoteModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/timeandattendance/shift/{shiftId}/notes/read-state": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Mark Shift Notes Read",
        "description": "Marks some shift notes as either read or unread.",
        "operationId": "EssTimeAndAttendance_MarkNotesRead",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MarkNotesReadViewModel"
            }
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/superfunds": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Super Funds",
        "description": "Lists all of the super funds for this employee.",
        "operationId": "EssSuperFund_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SuperFundModel"
              },
              "xml": {
                "name": "SuperFundModel",
                "wrapped": true
              },
              "title": "IEnumerable<SuperFundModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Create Super Fund",
        "description": "Creates a new super fund for the employee.",
        "operationId": "EssSuperFund_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SaveSuperFundModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/superfunds/{superFundId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Super Fund by ID",
        "description": "Gets the super fund for this employee with the specified ID.",
        "operationId": "EssSuperFund_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "superFundId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SuperFundModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/superfunds/{id}": {
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Update Super Fund",
        "description": "Updates the employee's super fund with the specified ID.",
        "operationId": "EssSuperFund_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SaveSuperFundModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/superfunds/{superfundId}": {
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Super Fund",
        "description": "Deletes the employee's super fund with the specified ID.",
        "operationId": "EssSuperFund_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "superfundId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveSuperFundResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/payslip": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Pay Slips",
        "description": "Lists all pay slips for the employee.",
        "operationId": "EssDocument_Payslips",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssPayslipModel"
              },
              "xml": {
                "name": "EssPayslipModel",
                "wrapped": true
              },
              "title": "List<EssPayslipModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/payslip/{payrunId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Pay Slip by Pay Run ID",
        "description": "Gets the pay slip for the pay run with the specified ID.",
        "operationId": "EssDocument_Payslip",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payrunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/paymentsummaries": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Payment Summaries",
        "description": "List all the employee's payment summaries.",
        "operationId": "EssDocument_PaymentSummaries",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssPaymentSummaryModel"
              },
              "xml": {
                "name": "EssPaymentSummaryModel",
                "wrapped": true
              },
              "title": "List<EssPaymentSummaryModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/paymentsummary/{documentId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Payment Summary PDF",
        "description": "Gets the PDF for the payment summary with the specified ID.",
        "operationId": "EssDocument_PaymentSummary",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List all Documents",
        "description": "Lists all documents visible to this employee, including both business and employee documents.",
        "operationId": "EssDocument_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssDocumentModel"
              },
              "xml": {
                "name": "EssDocumentModel",
                "wrapped": true
              },
              "title": "List<EssDocumentModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/{documentId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Document Details by ID",
        "description": "Gets details for the specified document which is visible to the employee.",
        "operationId": "EssDocument_GetDocument",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/document/download/{documentId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Download Document",
        "description": "Downloads the document with the specified ID so long as it is visible to the employee.",
        "operationId": "EssDocument_Download",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/unavailability": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Unavailabilities",
        "description": "Lists all of the unavailabilities for this employee, with optional filters.",
        "operationId": "EssUnavailability_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssUnavailabilityModel"
              },
              "xml": {
                "name": "EssUnavailabilityModel",
                "wrapped": true
              },
              "title": "IList<EssUnavailabilityModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Create Unavailability",
        "description": "Creates a new unavailability for the employee.",
        "operationId": "EssUnavailability_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "unavailability",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnavailabilityEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssUnavailabilityModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/unavailability/{unavailabilityId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get unavailability by ID",
        "description": "Gets the unavailability with the specified ID (so long as the unavailability is from the specified employee).",
        "operationId": "EssUnavailability_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "unavailabilityId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssUnavailabilityModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Update Unavailability",
        "description": "Updates the unavailability with the specified ID.",
        "operationId": "EssUnavailability_Save",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "unavailabilityId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "unavailability",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnavailabilityEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Unavailability",
        "description": "Deletes the unavailability with the specified ID.",
        "operationId": "EssUnavailability_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "unavailabilityId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/bankaccounts": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "List Bank Accounts",
        "description": "Lists all of the bank accounts for this employee.",
        "operationId": "EssBankAccount_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BankAccountModel"
              },
              "xml": {
                "name": "BankAccountModel",
                "wrapped": true
              },
              "title": "IEnumerable<BankAccountModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Create Bank Account",
        "description": "Creates a new bank account for the employee.",
        "operationId": "EssBankAccount_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/bankaccounts/{bankAccountId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Bank Account by ID",
        "description": "Gets the bank account for this employee with the specified ID.",
        "operationId": "EssBankAccount_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Bank Account",
        "description": "Deletes the employee's bank account with the specified ID.",
        "operationId": "EssBankAccount_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/bankaccounts/{id}": {
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Update Bank Account",
        "description": "Updates the employee's bank account with the specified ID.",
        "operationId": "EssBankAccount_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BankAccountModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SaveBankAccountResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/security/employees": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Employees",
        "description": "Returns all the employees the user can access.",
        "operationId": "EssSecurity_Employees",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/AvailableEmployeeModel"
              },
              "xml": {
                "name": "AvailableEmployeeModel",
                "wrapped": true
              },
              "title": "List<AvailableEmployeeModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/security/forgottenpassword": {
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Recover Forgotten Password",
        "description": "Sends an email so that the user can reset their password",
        "operationId": "EssSecurity_ForgottenPassword",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecoverPasswordModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense/summary": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Expense Payment Summary",
        "description": "Gets a summary of the employee's expense payments.",
        "operationId": "EssExpense_Summary",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeExpensePaymentSummaryModel"
              },
              "xml": {
                "name": "EmployeeExpensePaymentSummaryModel",
                "wrapped": true
              },
              "title": "IList<EmployeeExpensePaymentSummaryModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense/categories": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Expense Categories",
        "description": "Gets all the expense categories for the employee.",
        "operationId": "EssExpense_ExpenseCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExpenseCategoryResponseModel"
              },
              "xml": {
                "name": "ExpenseCategoryResponseModel",
                "wrapped": true
              },
              "title": "IList<ExpenseCategoryResponseModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense/taxcodes": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Tax Codes",
        "description": "Gets all the tax codes for the employee.",
        "operationId": "EssExpense_TaxCodes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/JournalServiceTaxCode"
              },
              "xml": {
                "name": "JournalServiceTaxCode",
                "wrapped": true
              },
              "title": "IList<JournalServiceTaxCode>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Expense Requests",
        "description": "Gets a paged view of expense requests for this employee.",
        "operationId": "EssExpense_GetExpenseRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 1,
            "title": "Int32"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 100,
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssExpenseRequestResponseModel"
              },
              "xml": {
                "name": "EssExpenseRequestResponseModel",
                "wrapped": true
              },
              "title": "IList<EssExpenseRequestResponseModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Ess"
        ],
        "summary": "Create Expense Request",
        "description": "Creates a new expense request for the employee.",
        "operationId": "EssExpense_CreateExpenseRequest",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseRequestEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense/{expenseRequestId}": {
      "get": {
        "tags": [
          "Ess"
        ],
        "summary": "Get Expense Request by ID",
        "description": "Gets the expense request with the specified ID.",
        "operationId": "EssExpense_GetExpenseRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssExpenseRequestResponseModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Update Expense Request",
        "description": "Updates the expense request with the specified ID.",
        "operationId": "EssExpense_UpdateExpenseRequest",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseRequestEditModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Ess"
        ],
        "summary": "Delete Expense Request",
        "description": "Deletes the expense request with the specified ID.",
        "operationId": "EssExpense_CancelExpenseRequest",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssExpenseRequestResponseModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/expense/{expenseRequestId}/attachment": {
      "put": {
        "tags": [
          "Ess"
        ],
        "summary": "Upload Attachment to Expense Request",
        "description": "Uploads an attachment to the expense request with the specified ID. \r\nThe request should be a MIME multipart file upload request.",
        "operationId": "EssExpense_UploadAttachment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "expenseRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leaveallowances": {
      "get": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Get Leave Allowances",
        "description": "Creates a deduction category for the business.",
        "operationId": "LeaveAllowances_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/LeaveAllowanceModel"
                },
                "xml": {
                  "name": "LeaveAllowanceModel",
                  "wrapped": true
                },
                "title": "List<LeaveAllowanceModel>"
              },
              "title": "Dictionary<String,List`1>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Create Leave Allowances",
        "description": "Create leave allowances for specific employees (dictionary keyed by employee ID).",
        "operationId": "LeaveAllowances_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitEmployeeLeaveAllowancesRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leaveallowancetemplate": {
      "get": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "List Leave Allowance Templates",
        "description": "Lists all the leave allowance templates for this business.\n\nThis operation supports OData queries.",
        "operationId": "LeaveAllowanceTemplate_GetLeaveAllowanceTemplates",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveAllowanceTemplateModel"
              },
              "xml": {
                "name": "LeaveAllowanceTemplateModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveAllowanceTemplateModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Create Leave Allowance Template",
        "description": "Creates a new leave allowance template for the business.",
        "operationId": "LeaveAllowanceTemplate_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveAllowanceTemplate",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LeaveAllowanceTemplateModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leaveallowancetemplate/{id}": {
      "get": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Get Leave Allowance Template by ID",
        "description": "Gets the details for the leave allowance template with the specified ID.",
        "operationId": "LeaveAllowanceTemplate_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveAllowanceTemplateModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Update Leave Allowance Template",
        "description": "Updates the leave allowance template with the specified ID.",
        "operationId": "LeaveAllowanceTemplate_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveAllowanceTemplate",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LeaveAllowanceTemplateModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "LeaveAllowance"
        ],
        "summary": "Delete Leave Allowance Template",
        "description": "Deletes the leave allowance template with the specified ID.",
        "operationId": "LeaveAllowanceTemplate_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leavecategory": {
      "get": {
        "tags": [
          "LeaveCategories"
        ],
        "summary": "List Leave Categories",
        "description": "Lists all of the leave categories for the business.\n\nThis operation supports OData queries.",
        "operationId": "LeaveCategory_GetLeaveCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveCategoryModel"
              },
              "xml": {
                "name": "LeaveCategoryModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveCategoryModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "LeaveCategories"
        ],
        "summary": "Create Leave Category",
        "description": "Creates a new leave category for the business.",
        "operationId": "LeaveCategory_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LeaveCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leavecategory/{id}": {
      "get": {
        "tags": [
          "LeaveCategories"
        ],
        "summary": "Get Leave Category by ID",
        "description": "Gets the leave category with the specified ID.",
        "operationId": "LeaveCategory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveCategoryModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "LeaveCategories"
        ],
        "summary": "Update Leave Category",
        "description": "Updates the leave category with the specified ID.",
        "operationId": "LeaveCategory_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LeaveCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "LeaveCategories"
        ],
        "summary": "Delete Leave Category",
        "description": "Deletes the leave category with the specified ID.",
        "operationId": "LeaveCategory_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/leaverequest": {
      "get": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "List Leave Requests",
        "description": "Lists all the leave requests for the business.",
        "operationId": "BusinessLeaveRequest_ListLeaveRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "filter.status",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Pending",
              "Approved",
              "Cancelled",
              "Rejected"
            ],
            "title": "Nullable<LeaveRequestStatus>"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.leaveCategoryId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.groupBy",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Employee",
              "LeaveType"
            ],
            "title": "LeaveRequestGroupBy"
          },
          {
            "name": "filter.restrictOverlappingLeave",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveRequestResponseModel"
              },
              "xml": {
                "name": "LeaveRequestResponseModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveRequestResponseModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leaverequest": {
      "get": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Get Leave Requests for Employee",
        "description": "Returns all leave requests for this employee, optionally filtered by OData parameters.\n\nThis operation supports OData queries.",
        "operationId": "LeaveRequest_GetLeaveRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveRequestResponseModel"
              },
              "xml": {
                "name": "LeaveRequestResponseModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveRequestResponseModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Create Leave Request",
        "description": "Creates a new leave request for an employee.",
        "operationId": "LeaveRequest_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiLeaveApplicationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}": {
      "get": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Get Leave Request by ID",
        "description": "Gets the details for a leave request with the specified ID.",
        "operationId": "LeaveRequest_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveRequestResponseModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Update Leave Request",
        "description": "Updates the leave request with the specified ID.",
        "operationId": "LeaveRequest_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiLeaveApplicationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Delete Leave Request",
        "description": "Deletes the leave request with the specified ID.",
        "operationId": "LeaveRequest_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}/approve": {
      "post": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Approve Leave Request",
        "description": "Approves the leave request with the specified ID.",
        "operationId": "LeaveRequest_Approve",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}/decline": {
      "post": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Decline Leave Request",
        "description": "Declines the leave request with the specified ID.",
        "operationId": "LeaveRequest_Decline",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "leaveRequestId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "decline",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DeclineLeaveRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/leaverequest/estimate": {
      "get": {
        "tags": [
          "LeaveRequests"
        ],
        "summary": "Estimate Leave Hours",
        "description": "Estimates the leave hours required for a leave request between fromDate and toDate.",
        "operationId": "LeaveRequest_Estimate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveEstimate"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/location": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "List Business Locations",
        "description": "Lists all the locations for a business.\n\nThis operation supports OData queries.",
        "operationId": "Location_GetLocations",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LocationModel"
              },
              "xml": {
                "name": "LocationModel",
                "wrapped": true
              },
              "title": "IEnumerable<LocationModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Location"
        ],
        "summary": "Create Location",
        "description": "Creates a business location.",
        "operationId": "Location_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "location",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LocationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/location": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "List Business Locations",
        "description": "Lists all the locations for a business.\n\nThis operation supports OData queries.",
        "operationId": "Location_GetApiV2BusinessByBusinessIdEmployeeByEmployeeIdLocation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LocationModel"
              },
              "xml": {
                "name": "LocationModel",
                "wrapped": true
              },
              "title": "IEnumerable<LocationModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/location/{id}": {
      "get": {
        "tags": [
          "Location"
        ],
        "summary": "Get Location By Id",
        "description": "Retrieves the details of the location with the specified ID.",
        "operationId": "Location_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LocationModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Location"
        ],
        "summary": "Update Location",
        "description": "Updates the business location with the specified ID.",
        "operationId": "Location_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "location",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LocationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Location"
        ],
        "summary": "Delete Location",
        "description": "Deletes the location with the specified ID.",
        "operationId": "Location_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/lookupdata/reports": {
      "get": {
        "tags": [
          "LookupData"
        ],
        "summary": "List Report Types",
        "description": "Lists all of the report types.",
        "operationId": "LookupData_Reports",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameIdPair"
              },
              "xml": {
                "name": "NameIdPair",
                "wrapped": true
              },
              "title": "List<NameIdPair>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/lookupdata/employeegrouppermissions": {
      "get": {
        "tags": [
          "LookupData"
        ],
        "summary": "List Employee Group Permission Types",
        "description": "Lists all of the employee group permission types.",
        "operationId": "LookupData_EmployeeGroupPermissions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameIdPair"
              },
              "xml": {
                "name": "NameIdPair",
                "wrapped": true
              },
              "title": "List<NameIdPair>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/lookupdata/timezones": {
      "get": {
        "tags": [
          "LookupData"
        ],
        "summary": "List Time Zone Types",
        "description": "Lists all of the time zone types.",
        "operationId": "LookupData_TimeZones",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameIdPair"
              },
              "xml": {
                "name": "NameIdPair",
                "wrapped": true
              },
              "title": "List<NameIdPair>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "List Roster Shifts",
        "description": "Gets the employee's roster shifts within the date range.",
        "operationId": "EssShift_Shifts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssRosterShiftModel"
              },
              "xml": {
                "name": "EssRosterShiftModel",
                "wrapped": true
              },
              "title": "List<EssRosterShiftModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Get Roster Shift by ID",
        "description": "Gets the roster shift with the specified ID (as long as it is assigned to this employee).",
        "operationId": "EssShift_Shift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EssRosterShiftModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/decline": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Decline Roster Shift",
        "description": "Declines the roster shift with the specified ID.",
        "operationId": "EssShift_DeclineShift",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssDeclineRosterShiftModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/accept": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Accept Roster Shift",
        "description": "Accepts the roster shift with the specified ID.",
        "operationId": "EssShift_AcceptShift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/accept": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Bulk Accept Roster Shifts",
        "description": "Accepts a number of roster shifts by ID.",
        "operationId": "EssShift_AcceptShifts",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssBulkAcceptRosterShiftsModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/decline": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Bulk Decline Roster Shifts",
        "description": "Declines a number of roster shifts by ID.",
        "operationId": "EssShift_DeclineShifts",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssBulkDeclineRosterShiftsModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/nearby": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Find Nearby Roster Shifts",
        "description": "Finds any of the employee's roster shifts that are nearby to the specified local time.",
        "operationId": "EssShift_NearbyRosterShifts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "localTime",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssRosterShiftModel"
              },
              "xml": {
                "name": "EssRosterShiftModel",
                "wrapped": true
              },
              "title": "IList<EssRosterShiftModel>"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/matchingclockon": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Find Matching Clock On Roster Shift",
        "description": "If a roster shift exists that could match for this employee to clock on at this time \r\ngiven ESS settings for shift matching, returns that shift.\r\nOtherwise, the Shift result will be null.\r\nNote that if the time matches a shift exactly, the Shift result will also be null.",
        "operationId": "EssShift_MatchingClockOnRosterShift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "localTime",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RosterShiftMatchingResultModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/matchingclockoff": {
      "get": {
        "tags": [
          "Other"
        ],
        "summary": "Find Matching Clock Off Roster Shift",
        "description": "If a roster shift exists that could match for this employee to clock off at this time \r\ngiven ESS settings for shift matching, returns that shift.\r\nOtherwise, the Shift result will be null.\r\nNote that if the time matches a shift exactly, the Shift result will also be null.",
        "operationId": "EssShift_MatchingClockOffRosterShift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "localTime",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RosterShiftMatchingResultModel"
            }
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/swap/candidates": {
      "get": {
        "tags": [
          "Other"
        ],
        "operationId": "EssShift_EmployeesEligibleForSwap",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/swap/propose": {
      "post": {
        "tags": [
          "Other"
        ],
        "operationId": "EssShift_ProposeShiftSwap",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SwapShiftModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/swap/cancel": {
      "post": {
        "tags": [
          "Other"
        ],
        "operationId": "EssShift_CancelShiftSwap",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/swap/accept": {
      "post": {
        "tags": [
          "Other"
        ],
        "operationId": "EssShift_AcceptShiftSwap",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/{shiftId}/swap/decline": {
      "post": {
        "tags": [
          "Other"
        ],
        "operationId": "EssShift_DeclineShiftSwap",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/swap/accept": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Bulk Accept Roster Shift Swaps",
        "description": "Accepts a number of roster shift swaps by shift ID.",
        "operationId": "EssShift_AcceptShiftSwaps",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssBulkRosterShiftSwapModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/swap/decline": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Bulk Decline Roster Shift Swaps",
        "description": "Declines a number of roster shift swaps by shift ID.",
        "operationId": "EssShift_DeclineShiftSwaps",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssBulkRosterShiftSwapModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/ess/{employeeId}/shift/swap/cancel": {
      "post": {
        "tags": [
          "Other"
        ],
        "summary": "Bulk Cancel Roster Shift Swaps",
        "description": "Cancels a number of roster shift swaps by shift ID.",
        "operationId": "EssShift_CancelShiftSwaps",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EssBulkRosterShiftSwapModel"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/tasks": {
      "get": {
        "tags": [
          "Other"
        ],
        "operationId": "ReportsTasksReport_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.payRunId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.status",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "All",
              "Completed",
              "NotCompleted"
            ],
            "title": "TasksReportStatusEnum"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TasksReportExportModel"
              },
              "xml": {
                "name": "TasksReportExportModel",
                "wrapped": true
              },
              "title": "IList<TasksReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/shiftswapping": {
      "get": {
        "tags": [
          "Other"
        ],
        "operationId": "ReportsShiftSwapping_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.fromEmployeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.toEmployeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.includeCosts",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "request.statuses",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Created",
                "Cancelled",
                "Accepted",
                "Declined",
                "AwaitingManagerApproval",
                "ApprovedByManager",
                "RejectedByManager"
              ],
              "title": "RosterShiftSwapStatusEnum"
            },
            "collectionFormat": "multi",
            "title": "IList<RosterShiftSwapStatusEnum>"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ShiftSwappingReportExportModel"
              },
              "xml": {
                "name": "ShiftSwappingReportExportModel",
                "wrapped": true
              },
              "title": "IList<ShiftSwappingReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/paycategory": {
      "get": {
        "tags": [
          "PayCategory"
        ],
        "summary": "List Pay Categories",
        "description": "Lists all the pay categories for the business\n\nThis operation supports OData queries.",
        "operationId": "PayCategory_GetPayCategories",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayCategoryModel"
              },
              "xml": {
                "name": "PayCategoryModel",
                "wrapped": true
              },
              "title": "IEnumerable<PayCategoryModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayCategory"
        ],
        "summary": "Create Pay Category",
        "description": "Creates a new pay category for the business.",
        "operationId": "PayCategory_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/paycategory/{id}": {
      "get": {
        "tags": [
          "PayCategory"
        ],
        "summary": "Get Pay Category by ID",
        "description": "Gets the pay category with the specified ID.",
        "operationId": "PayCategory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayCategoryModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PayCategory"
        ],
        "summary": "Update Pay Category",
        "description": "Updates the pay category with the specified ID.",
        "operationId": "PayCategory_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "payCategory",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayCategoryModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayCategory"
        ],
        "summary": "Delete Pay Category",
        "description": "Deletes the pay category with the specified ID.",
        "operationId": "PayCategory_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/paymentsummary/{financialYearEnding}": {
      "get": {
        "tags": [
          "PaymentSummary"
        ],
        "summary": "List Payment Summaries",
        "description": "Lists all the payment summaries for the specified financial year.\n\nThis operation supports OData queries.",
        "operationId": "PaymentSummary_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "financialYearEnding",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PaygPaymentSummaryModel"
              },
              "xml": {
                "name": "PaygPaymentSummaryModel",
                "wrapped": true
              },
              "title": "IEnumerable<PaygPaymentSummaryModel>"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaymentSummary"
        ],
        "summary": "Generate Payment Summaries",
        "description": "Generates (or regenerates) payment summaries for the specified financial year/business. Only unpublished payment summaries will be regenerated.",
        "operationId": "PaymentSummary_Put",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "financialYearEnding",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "PaymentSummary"
        ],
        "summary": "Publish Payment Summaries",
        "description": "Publish payment summaries for the specified financial year.",
        "operationId": "PaymentSummary_Post",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "financialYearEnding",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentSummary"
        ],
        "summary": "Unpublish Payment Summaries",
        "description": "Unpublish payment summaries for the specified financial year.",
        "operationId": "PaymentSummary_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "financialYearEnding",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payratetemplate": {
      "get": {
        "tags": [
          "PayRateTemplate"
        ],
        "summary": "List Pay Rate Templates",
        "description": "Lists all the pay rate templates for the business.\n\nThis operation supports OData queries.",
        "operationId": "PayRateTemplate_GetPayRateTemplates",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayRateTemplateModel"
              },
              "xml": {
                "name": "PayRateTemplateModel",
                "wrapped": true
              },
              "title": "IEnumerable<PayRateTemplateModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRateTemplate"
        ],
        "summary": "Create Pay Rate Template",
        "description": "Creates a new pay rate template for the business.",
        "operationId": "PayRateTemplate_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRateTemplate",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRateTemplateModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payratetemplate/{id}": {
      "get": {
        "tags": [
          "PayRateTemplate"
        ],
        "summary": "Get Pay Rate Template by ID",
        "description": "Gets the pay rate template with the specified ID.",
        "operationId": "PayRateTemplate_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRateTemplateModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PayRateTemplate"
        ],
        "summary": "Update Pay Rate Template",
        "description": "Updates the pay rate template with the specified ID.",
        "operationId": "PayRateTemplate_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "payRateTemplate",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRateTemplateModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRateTemplate"
        ],
        "summary": "Delete Pay Rate Template",
        "description": "Deletes the pay rate template with the specified ID.",
        "operationId": "PayRateTemplate_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/EmployeeExpenses": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Employee Expenses",
        "description": "Lists all the employee expenses for a pay run.",
        "operationId": "PayRunEmployeeExpenses_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEmployeeExpenseResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Employee Expenses",
        "description": "Add employee expenses to the specified pay run.",
        "operationId": "PayRunEmployeeExpenses_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunEmployeeExpenseRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Employee Expense",
        "description": "Deletes the employee expense with the specified ID from the pay run.",
        "operationId": "PayRunEmployeeExpenses_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/EmployeeExpenses/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Employee Expenses by Employee ID",
        "description": "Gets all the employee expenses for a specific employee in a pay run.",
        "operationId": "PayRunEmployeeExpenses_GetApiV2BusinessByBusinessIdPayrunByPayRunIdEmployeeExpensesByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEmployeeExpenseResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/details": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Pay Run Details",
        "description": "Gets the details for the specified pay run.",
        "operationId": "PayRunDetails_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunDetailsModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/terminate": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Terminate Employee in Pay Run",
        "description": "Terminates an employee in the specified pay run.",
        "operationId": "PayRunTerminate_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TerminateEmployeeRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/payslips": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Pay Slip Data",
        "description": "Lists all the pay slips for the specified pay run.",
        "operationId": "PayRunPaySlip_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "showAllData",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/definitions/ApiPaySlipModel"
              },
              "title": "Dictionary<String,ApiPaySlipModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/payslips/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Pay Slip Data by Employee ID",
        "description": "Gets the pay slip data for an employee in a payrun.",
        "operationId": "PayRunPaySlip_GetApiV2BusinessByBusinessIdPayrunByPayRunIdPayslipsByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "showAllData",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ApiPaySlipModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/earningslines": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Earnings Lines",
        "description": "Lists all the earnings lines for a pay run.",
        "operationId": "PayRunEarningsLine_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEarningsLineResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Earnings Lines",
        "description": "Adds earnings lines to the specified pay run.",
        "operationId": "PayRunEarningsLine_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunEarningsLineRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Earnings Line",
        "description": "Deletes the earnings with the specified ID from the pay run.",
        "operationId": "PayRunEarningsLine_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/earningslines/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Earnings Lines by Employee ID",
        "description": "Gets all the earnings lines for a specific employee in a pay run.",
        "operationId": "PayRunEarningsLine_GetApiV2BusinessByBusinessIdPayrunByPayRunIdEarningslinesByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEarningsLineResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/employee/{employeeId}/payruntotals": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Pay Run Totals for Employee",
        "description": "Lists all the pay run totals for the employee with the specified ID.",
        "operationId": "EmployeePayRunTotal_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayRunTotalModel"
              },
              "xml": {
                "name": "PayRunTotalModel",
                "wrapped": true
              },
              "title": "IList<PayRunTotalModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/leaveaccrued": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Leave Accruals",
        "description": "Lists all the leave accruals for the pay run.",
        "operationId": "PayRunLeaveAccrued_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "includeLeaveTaken",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveAccrualResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Save Leave Accruals",
        "description": "Saves a set of leave accruals for the pay run.",
        "operationId": "PayRunLeaveAccrued_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitLeaveAccrualsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Leave Accrual",
        "description": "Deletes the manually added leave accrual, leave taken or leave adjustment with the specified ID from the pay run.",
        "operationId": "PayRunLeaveAccrued_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/leaveaccrued/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Leave Accruals for Employee",
        "description": "Gets the leave accruals for the specified employee in the pay run.",
        "operationId": "PayRunLeaveAccrued_GetApiV2BusinessByBusinessIdPayrunByPayRunIdLeaveaccruedByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "includeLeaveTaken",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LeaveAccrualResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/paygadjustments": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List PAYG Adjustments",
        "description": "Lists all the PAYG adjustments for a pay run.",
        "operationId": "PayRunPaygAdjustments_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunPaygAdjustmentResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create PAYG Adjustments",
        "description": "Adds PAYG adjustments to the specified pay run.",
        "operationId": "PayRunPaygAdjustments_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunPaygAdjustmentRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete PAYG Adjustment",
        "description": "Deletes the PAYG adjustment with the specified ID from the pay run.",
        "operationId": "PayRunPaygAdjustments_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/paygadjustments/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get PAYG Adjustments by Employee ID",
        "description": "Gets all the PAYG adjustments for a specific employee in a pay run.",
        "operationId": "PayRunPaygAdjustments_GetApiV2BusinessByBusinessIdPayrunByPayRunIdPaygadjustmentsByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunPaygAdjustmentResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/superadjustments": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Super Adjustments",
        "description": "Lists all the super adjustments for a pay run.",
        "operationId": "PayRunSuperAdjustments_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunSuperAdjustmentResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Super Adjustments",
        "description": "Adds super adjustments to the specified pay run.",
        "operationId": "PayRunSuperAdjustments_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunSuperAdjustmentRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Super Adjustment",
        "description": "Deletes the super adjustment with the specified ID from the pay run.",
        "operationId": "PayRunSuperAdjustments_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/superadjustments/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Super Adjustments by Employee ID",
        "description": "Gets all super adjustments for a specific employee in a pay run.",
        "operationId": "PayRunSuperAdjustments_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunSuperAdjustmentResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/unlock": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Unlock Pay Run",
        "description": "Unlocks the specified pay run.",
        "operationId": "PayRunUnlock_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRunUnlockRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Pay Runs",
        "description": "Get a list of pay runs associated with the business.\n\nThis operation supports OData queries.",
        "operationId": "PayRun_GetPayRuns",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayRunModel"
              },
              "xml": {
                "name": "PayRunModel",
                "wrapped": true
              },
              "title": "IEnumerable<PayRunModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Pay Run",
        "description": "Creates a new pay run for this business.",
        "operationId": "PayRun_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRunCreateRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Pay Run",
        "description": "Gets the pay run with the specified ID.",
        "operationId": "PayRun_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Pay Run",
        "description": "Deletes the pay run with the specified ID.",
        "operationId": "PayRun_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/async": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Pay Run (Async)",
        "description": "Creates a new pay run for this business asynchronously (the request will return before the pay run is created).",
        "operationId": "PayRun_Async",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRunCreateRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/creationstatus/{jobId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Creation Status",
        "description": "Gets the creation status of a pay run that was created asynchronously.",
        "operationId": "PayRun_CreationStatus",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid",
            "title": "Guid"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/file/aba/{abaId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get ABA File",
        "description": "Gets an ABA file associated with a pay run.",
        "operationId": "PayRun_AbaFile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "abaId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/file/payslip/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Pay Slip File",
        "description": "Gets the pay slip for an employee in a pay run.",
        "operationId": "PayRun_PaySlipFile",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/recalculate": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Recalculate",
        "description": "Recalculates a pay run.",
        "operationId": "PayRun_Recalculate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/notation": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Set Pay Run Notation",
        "description": "Sets the notation for this pay run. The pay run notation is the message that is shown on all pay slips for this pay run.",
        "operationId": "PayRun_Notation",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRunNotationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Pay Run Notation",
        "description": "Deletes the notation for this pay run. The pay run notation is the message that is shown on all pay slips for this pay run.",
        "operationId": "PayRun_DeleteApiV2BusinessByBusinessIdPayrunByPayRunIdNotation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/employerliabilities": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Employer Liabilities",
        "description": "Lists all the employer liabilities for a pay run.",
        "operationId": "PayRunEmployerLiabilities_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEmployerLiabilityResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Employer Liabilities",
        "description": "Add employer liabilities to the specified pay run.",
        "operationId": "PayRunEmployerLiabilities_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunEmployerLiabilityRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Employer Liability",
        "description": "Deletes the employer liability with the specified ID from the pay run.",
        "operationId": "PayRunEmployerLiabilities_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/employerliabilities/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Employer Liabilities by Employee ID",
        "description": "Gets all the employer liabilities for a specific employee in a pay run.",
        "operationId": "PayRunEmployerLiabilities_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunEmployerLiabilityResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/finalise": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Finalise Pay Run",
        "description": "Finalises the specified pay run. A pay run can only be finalised if there are no calculations in progress.",
        "operationId": "PayRunFinalise_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "options",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FinalisePayRunOptions"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunFinaliseResult"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/journal/{payRunId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Journal Details",
        "description": "Gets the journal details for this pay run.",
        "operationId": "Journal_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/JournalItemResponse"
              },
              "xml": {
                "name": "JournalItemResponse",
                "wrapped": true
              },
              "title": "IEnumerable<JournalItemResponse>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/setuiunlockstate": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Set UI Unlock enabled",
        "description": "Sets whether a pay run can be unlocked by the UI or not. Only applies to finalized pay runs.",
        "operationId": "PayRunUnlockState_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SetPayRunUIUnlockStateRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/totals": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Pay Run Totals",
        "description": "Lists all of the pay run totals in a pay run.",
        "operationId": "PayRunTotals_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunTotalResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/totals/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Pay Slip Data by Employee ID",
        "description": "Gets the pay run totals for a specific employee in a pay run.",
        "operationId": "PayRunTotals_GetApiV2BusinessByBusinessIdPayrunByPayRunIdTotalsByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunTotalResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/notation/{employeeId}": {
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Note for Employee",
        "description": "Creates a note for an employee record in a pay run.",
        "operationId": "PayRunTotals_Notation",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayRunTotalNotationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Note for Employee",
        "description": "Deletes the note for an employee record in a pay run.",
        "operationId": "PayRunTotals_DeleteApiV2BusinessByBusinessIdPayrunByPayRunIdNotationByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/deductions": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "List Deductions",
        "description": "Gets all the deductions for a pay run.",
        "operationId": "PayRunDeductions_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunDeductionResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PayRun"
        ],
        "summary": "Create Deductions",
        "description": "Add deductions to the specified pay run.",
        "operationId": "PayRunDeductions_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitPayRunDeductionRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PayRun"
        ],
        "summary": "Delete Deduction",
        "description": "Deletes the deduction with the specified ID from the pay run.",
        "operationId": "PayRunDeductions_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payrun/{payRunId}/deductions/{employeeId}": {
      "get": {
        "tags": [
          "PayRun"
        ],
        "summary": "Get Deductions by Employee ID",
        "description": "Gets all the deductions for a specific employee in a pay run.",
        "operationId": "PayRunDeductions_GetApiV2BusinessByBusinessIdPayrunByPayRunIdDeductionsByEmployeeId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "payRunId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayRunDeductionResponse"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payschedule": {
      "get": {
        "tags": [
          "PaySchedule"
        ],
        "summary": "List Pay Schedules",
        "description": "Lists all the pay schedules for the business.\n\nThis operation supports OData queries.",
        "operationId": "PaySchedule_GetPaySchedules",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayScheduleModel"
              },
              "xml": {
                "name": "PayScheduleModel",
                "wrapped": true
              },
              "title": "IEnumerable<PayScheduleModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaySchedule"
        ],
        "summary": "Create Pay Schedule",
        "description": "Creates a new pay schedule for the business.",
        "operationId": "PaySchedule_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paySchedule",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayScheduleModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/payschedule/{id}": {
      "get": {
        "tags": [
          "PaySchedule"
        ],
        "summary": "Get Pay Schedule by ID",
        "description": "Gets the pay schedule with the specified ID.",
        "operationId": "PaySchedule_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PayScheduleModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaySchedule"
        ],
        "summary": "Update Pay Schedule",
        "description": "Updates the pay schedule with the specified ID.",
        "operationId": "PaySchedule_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "paySchedule",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PayScheduleModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PaySchedule"
        ],
        "summary": "Delete Pay Schedule",
        "description": "Deletes the pay schedule with the specified ID.",
        "operationId": "PaySchedule_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/publicholiday": {
      "get": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Get Public Holidays for Year",
        "description": "Retrieves all the public holidays for a specific year.",
        "operationId": "PublicHoliday_GetPublicHolidays",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PublicHolidayModel"
              },
              "xml": {
                "name": "PublicHolidayModel",
                "wrapped": true
              },
              "title": "IEnumerable<PublicHolidayModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Add a public holiday",
        "description": "Adds a new public holiday.",
        "operationId": "PublicHoliday_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "publicHoliday",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PublicHolidayModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Delete Public Holiday by Date",
        "description": "Deletes all the public holidays on a specific date.",
        "operationId": "PublicHoliday_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/publicholiday/{id}": {
      "get": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Get Public Holiday Details",
        "description": "Gets the details for a public holiday with a specific ID",
        "operationId": "PublicHoliday_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PublicHolidayModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Update Public Holiday",
        "description": "Updates the public holiday with the specific ID.",
        "operationId": "PublicHoliday_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "publicHoliday",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PublicHolidayModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PublicHoliday"
        ],
        "summary": "Delete Public Holiday",
        "description": "Deletes the public holiday with the specified ID.",
        "operationId": "PublicHoliday_DeleteApiV2BusinessByBusinessIdPublicholidayById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/qualification": {
      "get": {
        "tags": [
          "Qualifications"
        ],
        "summary": "List Qualifications",
        "description": "Lists all of the qualifications for the business.\n\nThis operation supports OData queries.",
        "operationId": "Qualification_GetQualifications",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/QualificationModel"
              },
              "xml": {
                "name": "QualificationModel",
                "wrapped": true
              },
              "title": "IEnumerable<QualificationModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Qualifications"
        ],
        "summary": "Create Qualification",
        "description": "Creates a new employee qualification for the business.",
        "operationId": "Qualification_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "qualification",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/QualificationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/qualification/{id}": {
      "get": {
        "tags": [
          "Qualifications"
        ],
        "summary": "Get Qualification by ID",
        "description": "Gets the qualification with the specified ID.",
        "operationId": "Qualification_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/QualificationModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Qualifications"
        ],
        "summary": "Update Qualification",
        "description": "Updates the qualification with the specified ID.",
        "operationId": "Qualification_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "qualification",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/QualificationModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Qualifications"
        ],
        "summary": "Delete Qualification",
        "description": "Deletes the qualification with the specified ID.",
        "operationId": "Qualification_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/supercontributions/byemployee": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Super Contribution Report (By Employee)",
        "description": "Generates a super contribution report by employee.",
        "operationId": "ReportsSuperContributions_ByEmployee",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SuperAccrualExportModel"
              },
              "xml": {
                "name": "SuperAccrualExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<SuperAccrualExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/supercontributions/bysuperfund": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Super Contribution Report (By Super Fund)",
        "description": "Generates a super contribution report by super fund.",
        "operationId": "ReportsSuperContributions_BySuperFund",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SuperContributionsReportExportModel"
              },
              "xml": {
                "name": "SuperContributionsReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<SuperContributionsReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/leavebalances": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Leave Balances Report",
        "description": "Generates a leave balances report.",
        "operationId": "ReportsLeaveBalances_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.leaveTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.groupBy",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "AccrualLocation",
              "DefaultLocation"
            ],
            "title": "LeaveReportDisplayEnum"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.asAtDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveBalancesReportExportModel"
              },
              "xml": {
                "name": "LeaveBalancesReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveBalancesReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/deductions": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Deductions Report",
        "description": "Generates a deductions report.",
        "operationId": "ReportsDeductions_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.deductionCategoryId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.disableRollupReporting",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DeductionsReportExportModel"
              },
              "xml": {
                "name": "DeductionsReportExportModel",
                "wrapped": true
              },
              "title": "IList<DeductionsReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/payrunactivity": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Pay Run Activity Report",
        "description": "Generates a pay run activity report.",
        "operationId": "ReportsPayRunActivity_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0,
            "title": "Int32"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0,
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ActivityReportExportModel"
              },
              "xml": {
                "name": "ActivityReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<ActivityReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/employeedetails": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Employee Details Report",
        "description": "Generates an employee details report.",
        "operationId": "ReportsEmployeeDetails_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "selectedColumns",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "title": "String"
            },
            "collectionFormat": "multi",
            "title": "List<String>"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0,
            "title": "Int32"
          },
          {
            "name": "employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "includeActive",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": true,
            "title": "Boolean"
          },
          {
            "name": "includeInactive",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": true,
            "title": "Boolean"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "JObject"
              },
              "xml": {
                "name": "JObject",
                "wrapped": true
              },
              "title": "IEnumerable<JObject>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/leavehistory": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Leave History Report",
        "description": "Generates a leave history report.",
        "operationId": "ReportsLeaveHistoryReport_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "model.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "model.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "model.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.employeeId",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "title": "String"
            },
            "collectionFormat": "multi",
            "title": "IList<String>"
          },
          {
            "name": "model.leaveCategoryId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveHistoryReportGroupModel"
              },
              "xml": {
                "name": "LeaveHistoryReportGroupModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveHistoryReportGroupModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/employeedetails/fields": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Get Employee Details Report Fields",
        "description": "Gets the fields for the Employee Details Report.",
        "operationId": "ReportsEmployeeDetailsFields_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EmployeeDetailsReportField"
              },
              "xml": {
                "name": "EmployeeDetailsReportField",
                "wrapped": true
              },
              "title": "List<EmployeeDetailsReportField>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/paycategories": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Pay Categories Report",
        "description": "Generates a pay categories report.",
        "operationId": "ReportsPayCategories_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.groupByEarningsLocation",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayCategoriesReportExportModel"
              },
              "xml": {
                "name": "PayCategoriesReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<PayCategoriesReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/payg": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "PAYG Report",
        "description": "Generates a PAYG report.",
        "operationId": "ReportsPayg_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.state",
            "in": "query",
            "required": false,
            "type": "string",
            "title": "String"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PaygReportExportModel"
              },
              "xml": {
                "name": "PaygReportExportModel",
                "wrapped": true
              },
              "title": "IList<PaygReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/detailedactivity": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Detailed Activity Report",
        "description": "Generates a detailed activity report.",
        "operationId": "ReportsDetailedActivity_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DetailedActivityReportExportModel"
              },
              "xml": {
                "name": "DetailedActivityReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<DetailedActivityReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/payrolltax": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Payroll Tax Report",
        "description": "Generates a payroll tax report.",
        "operationId": "ReportsPayrollTax_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.groupBy",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "EarningsLocation",
              "DefaultLocation"
            ],
            "title": "PayrollTaxGroupByEnum"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PayrollTaxReportExportModel"
              },
              "xml": {
                "name": "PayrollTaxReportExportModel",
                "wrapped": true
              },
              "title": "IList<PayrollTaxReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/timesheet": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Timesheet report",
        "description": "Generates a timesheet report.",
        "operationId": "ReportsTimesheet_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.includeCosts",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "request.statuses",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Missing",
                "Submitted",
                "Approved",
                "Rejected",
                "Processed"
              ],
              "title": "TimesheetLineStatusType"
            },
            "collectionFormat": "multi",
            "title": "IList<TimesheetLineStatusType>"
          },
          {
            "name": "request.workTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TimesheetReportExportModel"
              },
              "xml": {
                "name": "TimesheetReportExportModel",
                "wrapped": true
              },
              "title": "IList<TimesheetReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/paymenthistory": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Employee Payment History Report",
        "description": "Generates an employee payment history report.",
        "operationId": "ReportsEmployeePaymentHistory_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PaymentHistoryReportExportModel"
              },
              "xml": {
                "name": "PaymentHistoryReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<PaymentHistoryReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/birthday": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Birthday Report",
        "description": "Generates a birthday report.",
        "operationId": "ReportsBirthday_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0,
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BirthdayReportExportModel"
              },
              "xml": {
                "name": "BirthdayReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<BirthdayReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/grosstonet": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Gross To Net Report",
        "description": "Generates a Gross To Net Report.",
        "operationId": "ReportsGrossToNet_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "request.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.payCategoryIds",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32",
              "title": "Int32"
            },
            "collectionFormat": "multi",
            "title": "List<Int32>"
          },
          {
            "name": "request.payScheduleId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "request.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GrossToNetReportLineItem"
              },
              "xml": {
                "name": "GrossToNetReportLineItem",
                "wrapped": true
              },
              "title": "IEnumerable<GrossToNetReportLineItem>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/report/leaveliability": {
      "get": {
        "tags": [
          "Reporting"
        ],
        "summary": "Leave Liability Report",
        "description": "Generates a leave liability report.",
        "operationId": "ReportsLeaveLiability_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "model.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.leaveTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.includeApprovedLeave",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "model.asAtDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "model.employingEntityId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LeaveLiabilityReportExportModel"
              },
              "xml": {
                "name": "LeaveLiabilityReportExportModel",
                "wrapped": true
              },
              "title": "IEnumerable<LeaveLiabilityReportExportModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/rostershift": {
      "get": {
        "tags": [
          "RosterShift"
        ],
        "summary": "Get Roster Shifts",
        "description": "Gets roster shifts, optionally filtered by a number of parameters.",
        "operationId": "RosterShift_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "filter.resourceView",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Employee",
              "Location"
            ],
            "title": "ResourceViewEnum"
          },
          {
            "name": "filter.shiftStatus",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "All",
              "Published",
              "Unpublished",
              "Accepted"
            ],
            "title": "RosterShiftStatus"
          },
          {
            "name": "filter.shiftStatuses",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "All",
                "Published",
                "Unpublished",
                "Accepted"
              ],
              "title": "RosterShiftStatus"
            },
            "collectionFormat": "multi",
            "title": "IList<RosterShiftStatus>"
          },
          {
            "name": "filter.selectedLocations",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "title": "String"
            },
            "collectionFormat": "multi",
            "title": "IList<String>"
          },
          {
            "name": "filter.selectedEmployees",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "title": "String"
            },
            "collectionFormat": "multi",
            "title": "IList<String>"
          },
          {
            "name": "filter.selectedRoles",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "title": "String"
            },
            "collectionFormat": "multi",
            "title": "IList<String>"
          },
          {
            "name": "filter.includeSublocations",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "filter.currentView",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "resourceDay",
              "resourceWeek",
              "resourceNextWeeks"
            ],
            "title": "RosterViewMode"
          },
          {
            "name": "filter.budgetWarningPercent",
            "in": "query",
            "required": false,
            "type": "number",
            "format": "double",
            "title": "Decimal"
          },
          {
            "name": "filter.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.locationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.employeeGroupId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.unassignedShiftsOnly",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "filter.showCosts",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "filter.groupBy",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Business",
              "Location"
            ],
            "title": "RosterGroupByEnum"
          },
          {
            "name": "filter.groupByThen",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Employee",
              "Role",
              "StartingTime"
            ],
            "title": "RosterGroupByThenEnum"
          },
          {
            "name": "filter.excludeUnassignedEmployees",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "filter.selectAllRoles",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RosterShiftGenerateTimesheetModel"
              },
              "xml": {
                "name": "RosterShiftGenerateTimesheetModel",
                "wrapped": true
              },
              "title": "List<RosterShiftGenerateTimesheetModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/rostershift/{rosterShiftId}/stub": {
      "post": {
        "tags": [
          "RosterShift"
        ],
        "summary": "Stub Shift Timesheets",
        "description": "Generates timesheets for the roster shift with the specified ID.",
        "operationId": "RosterShift_StubShiftTimesheets",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "rosterShiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StubRosterShiftViewModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/rostershift/{employeeId}/nearby": {
      "get": {
        "tags": [
          "RosterShift"
        ],
        "summary": "Find Nearby Roster Shifts",
        "description": "Finds any of the employee's roster shifts that are nearby to the specified local time.",
        "operationId": "RosterShift_NearbyRosterShifts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "localTime",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EssRosterShiftModel"
              },
              "xml": {
                "name": "EssRosterShiftModel",
                "wrapped": true
              },
              "title": "IList<EssRosterShiftModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/rostershift/{employeeId}/matchingclockon": {
      "get": {
        "tags": [
          "RosterShift"
        ],
        "summary": "Find Matching Clock On Roster Shift",
        "description": "If a roster shift exists that could match for this employee to clock on at this time \r\ngiven kiosk settings for shift matching, returns that shift.\r\nOtherwise, the Shift result will be null.\r\nNote that if the time matches a shift exactly, the Shift result will also be null.",
        "operationId": "RosterShift_MatchingClockOnRosterShift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "kioskId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "dateUtc",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RosterShiftMatchingResultModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/rostershift/{employeeId}/matchingclockoff": {
      "get": {
        "tags": [
          "RosterShift"
        ],
        "summary": "Find Matching Clock Off Roster Shift",
        "description": "If a roster shift exists that could match for this employee to clock off at this time \r\ngiven kiosk settings for shift matching, returns that shift.\r\nOtherwise, the Shift result will be null.\r\nNote that if the time matches a shift exactly, the Shift result will also be null.",
        "operationId": "RosterShift_MatchingClockOffRosterShift",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "kioskId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "dateUtc",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "date-time",
            "title": "DateTime"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RosterShiftMatchingResultModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/selfmanagedsuperfund": {
      "get": {
        "tags": [
          "SuperFund"
        ],
        "summary": "List Self Managed Super Funds",
        "description": "Lists all the self managed super funds for the business.\n\nThis operation supports OData queries.",
        "operationId": "SelfManagedSuperFund_GetFunds",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SelfManagedSuperFundModel"
              },
              "xml": {
                "name": "SelfManagedSuperFundModel",
                "wrapped": true
              },
              "title": "IEnumerable<SelfManagedSuperFundModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "SuperFund"
        ],
        "summary": "Create Self Managed Super Fund",
        "description": "Creates a new self managed super fund for the business.",
        "operationId": "SelfManagedSuperFund_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "fund",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SelfManagedSuperFundModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/selfmanagedsuperfund/{id}": {
      "get": {
        "tags": [
          "SuperFund"
        ],
        "summary": "Get Self Managed Super Fund by ID",
        "description": "Gets the self managed super fund with the specified ID.",
        "operationId": "SelfManagedSuperFund_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SelfManagedSuperFundModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "SuperFund"
        ],
        "summary": "Update Self Managed Super Fund",
        "description": "Updates .",
        "operationId": "SelfManagedSuperFund_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "fund",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SelfManagedSuperFundModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/superfund/productsearch": {
      "get": {
        "tags": [
          "SuperFund"
        ],
        "summary": "Search Super Funds",
        "description": "Search for super funds based on a string.",
        "operationId": "SuperFund_ProductSearch",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "term",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SuperProductEditModel"
              },
              "xml": {
                "name": "SuperProductEditModel",
                "wrapped": true
              },
              "title": "List<SuperProductEditModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/hasaccess/{employeeId}": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Employee Has Access",
        "description": "Check if an employee has access to a kiosk.",
        "operationId": "TimeAndAttendance_GetHasAccess",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/staff": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "List Kiosk Staff",
        "description": "Lists all the staff associated with a kiosk.",
        "operationId": "TimeAndAttendance_GetStaff",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BasicKioskEmployeeModel"
              },
              "xml": {
                "name": "BasicKioskEmployeeModel",
                "wrapped": true
              },
              "title": "List<BasicKioskEmployeeModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Add an Employee",
        "description": "Quickly add an employee with minimal details and kiosk enabled. If the employee already exists, the kiosk will be enabled for that employee.",
        "operationId": "TimeAndAttendance_PostStaff",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KioskCreateEmployeeModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/checkid": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Check Employee",
        "description": "If the specified employee has kiosk access, returns details about the employee and their current shift.",
        "operationId": "TimeAndAttendance_CheckId",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckKioskEmployeeIdModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/checkpin": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Verify Kiosk PIN",
        "description": "Verifies the employee's kiosk PIN. Returns error code 400 if the PIN is incorrect.",
        "operationId": "TimeAndAttendance_CheckPin",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckKioskPinModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/clockon": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Clock In Employee",
        "description": "Clocks in an employee for a new shift.",
        "operationId": "TimeAndAttendance_ClockOn",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOnModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/clockoff": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Clock Out Employee",
        "description": "Clocks out an employee from their existing shift. \r\nIf they are on a break, it will be ended automatically.",
        "operationId": "TimeAndAttendance_ClockOff",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOffModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/startbreak": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Start Break",
        "description": "Starts a break for an employee who is clocked on for a shift.",
        "operationId": "TimeAndAttendance_StartBreak",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StartBreakModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/endbreak": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "End Break",
        "description": "Ends the employee's current break.",
        "operationId": "TimeAndAttendance_EndBreak",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EndBreakModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/shifts": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Shifts",
        "description": "Gets shifts based on certain optional criteria.",
        "operationId": "TimeAndAttendance_Shifts",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetShiftsModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TimeAndAttendanceShiftModel"
              },
              "xml": {
                "name": "TimeAndAttendanceShiftModel",
                "wrapped": true
              },
              "title": "IList<TimeAndAttendanceShiftModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/changepin": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Change PIN",
        "description": "Changes the kiosk PIN for an employee, given their old PIN.",
        "operationId": "TimeAndAttendance_ChangePin",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeKioskPinModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/emailreset": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Send PIN Reset Email",
        "description": "Sends kiosk PIN reset instructions to an employee by email.",
        "operationId": "TimeAndAttendance_EmailReset",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PinResetModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/smsreset": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Send PIN Reset SMS",
        "description": "Sends kiosk PIN reset instructions to an employee by SMS. Note that the current business must have SMS notifications enabled.",
        "operationId": "TimeAndAttendance_SmsReset",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PinResetModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/discard": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Discard current shift",
        "description": "Discards the current shift for an employee. \r\nIf they are on a break, it will be ended automatically.",
        "operationId": "TimeAndAttendance_DiscardShift",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClockOffModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/lookupdata/{employeeId}": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Get Employee Lookup Data",
        "description": "Gets relevant lookup data for an employee in relation to a kiosk.",
        "operationId": "TimeAndAttendance_GetLookupData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TimeAndAttendanceLookupDataModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/shift/{shiftId}/notes": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Get Shift Notes",
        "description": "Gets all the notes for a specific shift.",
        "operationId": "TimeAndAttendance_GetShiftNotes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "model.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model.isAdminInitiated",
            "in": "query",
            "required": false,
            "type": "boolean",
            "title": "Boolean"
          },
          {
            "name": "model.type",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Shift",
              "ClockOn",
              "ClockOff"
            ],
            "title": "Nullable<TimeAttendanceShiftNoteType>"
          },
          {
            "name": "model.visibility",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Hidden",
              "Visible"
            ],
            "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Add Note to Shift",
        "description": "Adds a note to an existing shift.",
        "operationId": "TimeAndAttendance_AddNote",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AddNoteModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/shift/{shiftId}/notes/{noteId}": {
      "delete": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Delete Note from Shift",
        "description": "Deletes a note from an existing shift.",
        "operationId": "TimeAndAttendance_DeleteNote",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{kioskId}/shift/{shiftId}/notes/read-state": {
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Mark Shift Notes Read",
        "description": "Marks some shift notes as either read or unread.",
        "operationId": "TimeAndAttendance_MarkNotesRead",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MarkNotesReadViewModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shiftId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "List Kiosks",
        "description": "Lists all kiosks for the specified business.\n\nThis operation supports OData queries.",
        "operationId": "Kiosk_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TimeAndAttendanceKioskModel"
              },
              "xml": {
                "name": "TimeAndAttendanceKioskModel",
                "wrapped": true
              },
              "title": "IQueryable<TimeAndAttendanceKioskModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Create Kiosk",
        "description": "Creates a new kiosk for the business.",
        "operationId": "Kiosk_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "kiosk",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TimeAndAttendanceKioskModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/kiosk/{id}": {
      "get": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Get Kiosk by ID",
        "description": "Gets the kiosk with the specified ID.",
        "operationId": "Kiosk_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TimeAndAttendanceKioskModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Update Kiosk",
        "description": "Updates the kiosk with the specified ID.",
        "operationId": "Kiosk_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "kiosk",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TimeAndAttendanceKioskModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "TimeAndAttendance"
        ],
        "summary": "Delete Kiosk",
        "description": "Deletes the kiosk with the specified ID.",
        "operationId": "Kiosk_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/timesheet": {
      "get": {
        "tags": [
          "Timesheets"
        ],
        "summary": "Get Business Timesheets",
        "description": "Retrieves all timesheets for the specified business.\n\nThis operation supports OData queries.",
        "operationId": "Timesheet_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TimesheetLineModel"
              },
              "xml": {
                "name": "TimesheetLineModel",
                "wrapped": true
              },
              "title": "IEnumerable<TimesheetLineModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/timesheet/bulk": {
      "put": {
        "tags": [
          "Timesheets"
        ],
        "summary": "Update/Replace timesheets",
        "description": "Performs the same action as 'Bulk Insert Timesheets', but any existing timesheets \r\nfor the specified employees within the specified time period \r\n(StartTime - EndTime) will be replaced with the timesheets specified.",
        "operationId": "Timesheet_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitTimesheetsRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Timesheets"
        ],
        "summary": "Bulk Insert Timesheets",
        "description": "Adds timesheets for the specified business. This will not replace any existing timesheets.",
        "operationId": "Timesheet_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubmitTimesheetsRequest"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/unavailability": {
      "get": {
        "tags": [
          "Unavailability"
        ],
        "summary": "List Unavailabilities",
        "description": "Lists all of the unavailabilities for this business, with optional filters.",
        "operationId": "Unavailability_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "filter.fromDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.toDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time",
            "title": "Nullable<DateTime>"
          },
          {
            "name": "filter.employeeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "filter.defaultLocationId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UnavailabilityModel"
              },
              "xml": {
                "name": "UnavailabilityModel",
                "wrapped": true
              },
              "title": "IEnumerable<UnavailabilityModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Unavailability"
        ],
        "summary": "Create Unavailability",
        "description": "Creates a new unavailability for the employee.",
        "operationId": "Unavailability_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "unavailabilityModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnavailabilityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnavailabilityModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/unavailability/{id}": {
      "get": {
        "tags": [
          "Unavailability"
        ],
        "summary": "Get unavailability by ID",
        "description": "Gets the unavailability with the specified ID.",
        "operationId": "Unavailability_GetApiV2BusinessByBusinessIdUnavailabilityById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UnavailabilityModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Unavailability"
        ],
        "summary": "Update Unavailability",
        "description": "Updates the unavailability with the specified ID.",
        "operationId": "Unavailability_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "unavailabilityModel",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnavailabilityModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Unavailability"
        ],
        "summary": "Delete Unavailability",
        "description": "Deletes the unavailability with the specified ID.",
        "operationId": "Unavailability_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/user": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get User Details",
        "description": "Gets details about the user.",
        "operationId": "User_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserModel"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Create New User",
        "description": "Creates a new user.",
        "operationId": "User_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NewUserModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/webhookregistrations": {
      "get": {
        "tags": [
          "Webhook"
        ],
        "summary": "List Web Hook Registrations",
        "description": "Returns a collection containing the registered web hook instances for the user.",
        "operationId": "WebHookRegistrations_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WebHook"
              },
              "xml": {
                "name": "WebHook",
                "wrapped": true
              },
              "title": "IEnumerable<WebHook>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Webhook"
        ],
        "summary": "Register Web Hook",
        "description": "Registers a new web hook.",
        "operationId": "WebHookRegistrations_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "webHook",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WebHook"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WebHook"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Webhook"
        ],
        "summary": "Delete all Web Hook Registrations",
        "description": "Deletes all the web hook registrations.",
        "operationId": "WebHookRegistrations_DeleteAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/webhookregistrations/{id}": {
      "get": {
        "tags": [
          "Webhook"
        ],
        "summary": "Get Web Hook Registration by ID",
        "description": "Gets the registered web hook instance with the specified ID.",
        "operationId": "WebHookRegistrations_Lookup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WebHook"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Webhook"
        ],
        "summary": "Update Web Hook Registration",
        "description": "Updates the web hook registration with the specified ID.",
        "operationId": "WebHookRegistrations_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "webHook",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WebHook"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Webhook"
        ],
        "summary": "Delete Web Hook Registration",
        "description": "Deletes the web hook registration with the specified ID.",
        "operationId": "WebHookRegistrations_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/webhookregistrations/{id}/test": {
      "get": {
        "tags": [
          "Webhook"
        ],
        "summary": "Test Web Hook",
        "description": "Tests a web hook given a registration ID and a filter string.",
        "operationId": "WebHookRegistrations_Test",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "type": "string",
            "title": "String"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "title": "IHttpActionResult"
            }
          }
        }
      }
    },
    "/api/v2/whitelabel": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "List White Labels",
        "description": "Lists all the white labels to which you have access.",
        "operationId": "WhiteLabel_GetWhiteLabels",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WhiteLabelModel"
              },
              "xml": {
                "name": "WhiteLabelModel",
                "wrapped": true
              },
              "title": "IEnumerable<WhiteLabelModel>"
            }
          }
        }
      }
    },
    "/api/v2/whitelabel/{id}": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "Get White Label by ID",
        "description": "Gets the white label with the specified ID.",
        "operationId": "WhiteLabel_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WhiteLabelModel"
            }
          }
        }
      }
    },
    "/api/v2/whitelabel/{whiteLabelId}/Invoice": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "Get Invoices",
        "description": "Get invoices for the specified business or white label.",
        "operationId": "Invoice_GetInvoices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "whiteLabelId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/InvoiceModel"
              },
              "xml": {
                "name": "InvoiceModel",
                "wrapped": true
              },
              "title": "IList<InvoiceModel>"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/Invoice": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "Get Invoices",
        "description": "Get invoices for the specified business or white label.",
        "operationId": "Invoice_GetApiV2BusinessByBusinessIdInvoice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "whiteLabelId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/InvoiceModel"
              },
              "xml": {
                "name": "InvoiceModel",
                "wrapped": true
              },
              "title": "IList<InvoiceModel>"
            }
          }
        }
      }
    },
    "/api/v2/whitelabel/{whiteLabelId}/Invoice/{id}": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "Get Invoice By ID",
        "description": "Gets the invoice with the specified ID.",
        "operationId": "Invoice_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "whiteLabelId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/Invoice/{id}": {
      "get": {
        "tags": [
          "WhiteLabel"
        ],
        "summary": "Get Invoice By ID",
        "description": "Gets the invoice with the specified ID.",
        "operationId": "Invoice_GetApiV2BusinessByBusinessIdInvoiceById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          },
          {
            "name": "whiteLabelId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "title": "Nullable<Int32>"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InvoiceModel"
            }
          }
        }
      }
    },
    "/api/v2/business/{businessId}/worktype": {
      "get": {
        "tags": [
          "WorkType"
        ],
        "summary": "List Work Types",
        "description": "Lists all the work types for the business.\n\nThis operation supports OData queries.",
        "operationId": "WorkType_GetWorkTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkTypeModel"
              },
              "xml": {
                "name": "WorkTypeModel",
                "wrapped": true
              },
              "title": "IEnumerable<WorkTypeModel>"
            }
          }
        }
      },
      "post": {
        "tags": [
          "WorkType"
        ],
        "summary": "Create Work Type",
        "description": "Creates a new work type for the business.",
        "operationId": "WorkType_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "workType",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkTypeModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v2/business/{businessId}/worktype/{id}": {
      "get": {
        "tags": [
          "WorkType"
        ],
        "summary": "Get Work Type by ID",
        "description": "Gets the work type with the specified ID.",
        "operationId": "WorkType_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WorkTypeModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "WorkType"
        ],
        "summary": "Update Work Type",
        "description": "Updates the work type with the specified ID.",
        "operationId": "WorkType_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "workType",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkTypeModel"
            }
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "WorkType"
        ],
        "summary": "Delete Work Type",
        "description": "Deletes the work type with the specified ID.",
        "operationId": "WorkType_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "title": "Int32"
          },
          {
            "name": "businessId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "definitions": {
    "ODataQueryOptions[AbaDetails]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<AbaDetails>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<AbaDetails>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<AbaDetails>"
    },
    "ODataQueryContext": {
      "type": "object",
      "properties": {
        "model": {
          "$ref": "#/definitions/IEdmModel",
          "readOnly": true
        },
        "elementType": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        },
        "elementClrType": {
          "type": "string",
          "readOnly": true,
          "title": "Type"
        }
      },
      "xml": {
        "name": "ODataQueryContext"
      },
      "title": "ODataQueryContext"
    },
    "ODataRawQueryOptions": {
      "type": "object",
      "properties": {
        "filter": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "orderBy": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "top": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "skip": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "select": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "expand": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "inlineCount": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "format": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "skipToken": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        }
      },
      "xml": {
        "name": "ODataRawQueryOptions"
      },
      "title": "ODataRawQueryOptions"
    },
    "SelectExpandQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "rawSelect": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "rawExpand": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "validator": {
          "$ref": "#/definitions/SelectExpandQueryValidator"
        },
        "selectExpandClause": {
          "$ref": "#/definitions/SelectExpandClause",
          "readOnly": true
        }
      },
      "xml": {
        "name": "SelectExpandQueryOption"
      },
      "title": "SelectExpandQueryOption"
    },
    "FilterQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/FilterQueryValidator"
        },
        "filterClause": {
          "$ref": "#/definitions/FilterClause",
          "readOnly": true
        },
        "rawValue": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        }
      },
      "xml": {
        "name": "FilterQueryOption"
      },
      "title": "FilterQueryOption"
    },
    "OrderByQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "orderByNodes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderByNode"
          },
          "readOnly": true,
          "xml": {
            "name": "OrderByNode",
            "wrapped": true
          },
          "title": "IList<OrderByNode>"
        },
        "rawValue": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "validator": {
          "$ref": "#/definitions/OrderByQueryValidator"
        },
        "orderByClause": {
          "$ref": "#/definitions/OrderByClause",
          "readOnly": true
        }
      },
      "xml": {
        "name": "OrderByQueryOption"
      },
      "title": "OrderByQueryOption"
    },
    "SkipQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "rawValue": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "value": {
          "format": "int32",
          "type": "integer",
          "readOnly": true,
          "title": "Int32"
        },
        "validator": {
          "$ref": "#/definitions/SkipQueryValidator"
        }
      },
      "xml": {
        "name": "SkipQueryOption"
      },
      "title": "SkipQueryOption"
    },
    "TopQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "rawValue": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "value": {
          "format": "int32",
          "type": "integer",
          "readOnly": true,
          "title": "Int32"
        },
        "validator": {
          "$ref": "#/definitions/TopQueryValidator"
        }
      },
      "xml": {
        "name": "TopQueryOption"
      },
      "title": "TopQueryOption"
    },
    "InlineCountQueryOption": {
      "type": "object",
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "rawValue": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "value": {
          "enum": [
            "None",
            "AllPages"
          ],
          "type": "string",
          "readOnly": true,
          "title": "InlineCountValue"
        }
      },
      "xml": {
        "name": "InlineCountQueryOption"
      },
      "title": "InlineCountQueryOption"
    },
    "ODataQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "ODataQueryValidator"
      },
      "title": "ODataQueryValidator"
    },
    "IEdmModel": {
      "type": "object",
      "properties": {
        "schemaElements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IEdmSchemaElement"
          },
          "readOnly": true,
          "xml": {
            "name": "IEdmSchemaElement",
            "wrapped": true
          },
          "title": "IEnumerable<IEdmSchemaElement>"
        },
        "vocabularyAnnotations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IEdmVocabularyAnnotation"
          },
          "readOnly": true,
          "xml": {
            "name": "IEdmVocabularyAnnotation",
            "wrapped": true
          },
          "title": "IEnumerable<IEdmVocabularyAnnotation>"
        },
        "referencedModels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IEdmModel"
          },
          "readOnly": true,
          "xml": {
            "name": "IEdmModel",
            "wrapped": true
          },
          "title": "IEnumerable<IEdmModel>"
        },
        "directValueAnnotationsManager": {
          "$ref": "#/definitions/IEdmDirectValueAnnotationsManager",
          "readOnly": true
        }
      },
      "xml": {
        "name": "IEdmModel"
      },
      "title": "IEdmModel"
    },
    "IEdmType": {
      "type": "object",
      "properties": {
        "typeKind": {
          "enum": [
            "None",
            "Primitive",
            "Entity",
            "Complex",
            "Row",
            "Collection",
            "EntityReference",
            "Enum"
          ],
          "type": "string",
          "readOnly": true,
          "title": "EdmTypeKind"
        }
      },
      "xml": {
        "name": "IEdmType"
      },
      "title": "IEdmType"
    },
    "SelectExpandQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "SelectExpandQueryValidator"
      },
      "title": "SelectExpandQueryValidator"
    },
    "SelectExpandClause": {
      "type": "object",
      "properties": {
        "selectedItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectItem"
          },
          "readOnly": true,
          "xml": {
            "name": "SelectItem",
            "wrapped": true
          },
          "title": "IEnumerable<SelectItem>"
        },
        "allSelected": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SelectExpandClause"
      },
      "title": "SelectExpandClause"
    },
    "FilterQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "FilterQueryValidator"
      },
      "title": "FilterQueryValidator"
    },
    "FilterClause": {
      "type": "object",
      "properties": {
        "expression": {
          "$ref": "#/definitions/SingleValueNode",
          "readOnly": true
        },
        "rangeVariable": {
          "$ref": "#/definitions/RangeVariable",
          "readOnly": true
        },
        "itemType": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "xml": {
        "name": "FilterClause"
      },
      "title": "FilterClause"
    },
    "OrderByNode": {
      "type": "object",
      "properties": {
        "direction": {
          "enum": [
            "Ascending",
            "Descending"
          ],
          "type": "string",
          "readOnly": true,
          "title": "OrderByDirection"
        }
      },
      "xml": {
        "name": "OrderByNode"
      },
      "title": "OrderByNode"
    },
    "OrderByQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "OrderByQueryValidator"
      },
      "title": "OrderByQueryValidator"
    },
    "OrderByClause": {
      "type": "object",
      "properties": {
        "thenBy": {
          "$ref": "#/definitions/OrderByClause",
          "readOnly": true
        },
        "expression": {
          "$ref": "#/definitions/SingleValueNode",
          "readOnly": true
        },
        "direction": {
          "enum": [
            "Ascending",
            "Descending"
          ],
          "type": "string",
          "readOnly": true,
          "title": "OrderByDirection"
        },
        "rangeVariable": {
          "$ref": "#/definitions/RangeVariable",
          "readOnly": true
        },
        "itemType": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "xml": {
        "name": "OrderByClause"
      },
      "title": "OrderByClause"
    },
    "SkipQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "SkipQueryValidator"
      },
      "title": "SkipQueryValidator"
    },
    "TopQueryValidator": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "TopQueryValidator"
      },
      "title": "TopQueryValidator"
    },
    "IEdmSchemaElement": {
      "type": "object",
      "properties": {
        "schemaElementKind": {
          "enum": [
            "None",
            "TypeDefinition",
            "Function",
            "ValueTerm",
            "EntityContainer"
          ],
          "type": "string",
          "readOnly": true,
          "title": "EdmSchemaElementKind"
        },
        "namespace": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        }
      },
      "xml": {
        "name": "IEdmSchemaElement"
      },
      "title": "IEdmSchemaElement"
    },
    "IEdmVocabularyAnnotation": {
      "type": "object",
      "properties": {
        "qualifier": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "term": {
          "$ref": "#/definitions/IEdmTerm",
          "readOnly": true
        },
        "target": {
          "$ref": "#/definitions/IEdmVocabularyAnnotatable",
          "readOnly": true
        }
      },
      "xml": {
        "name": "IEdmVocabularyAnnotation"
      },
      "title": "IEdmVocabularyAnnotation"
    },
    "IEdmDirectValueAnnotationsManager": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "IEdmDirectValueAnnotationsManager"
      },
      "title": "IEdmDirectValueAnnotationsManager"
    },
    "SelectItem": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "SelectItem"
      },
      "title": "SelectItem"
    },
    "SingleValueNode": {
      "type": "object",
      "properties": {
        "typeReference": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        },
        "kind": {
          "enum": [
            "None",
            "Constant",
            "Convert",
            "NonentityRangeVariableReference",
            "BinaryOperator",
            "UnaryOperator",
            "SingleValuePropertyAccess",
            "CollectionPropertyAccess",
            "SingleValueFunctionCall",
            "Any",
            "CollectionNavigationNode",
            "SingleNavigationNode",
            "SingleValueOpenPropertyAccess",
            "SingleEntityCast",
            "All",
            "EntityCollectionCast",
            "EntityRangeVariableReference",
            "SingleEntityFunctionCall",
            "CollectionFunctionCall",
            "EntityCollectionFunctionCall",
            "NamedFunctionParameter"
          ],
          "type": "string",
          "readOnly": true,
          "title": "QueryNodeKind"
        }
      },
      "xml": {
        "name": "SingleValueNode"
      },
      "title": "SingleValueNode"
    },
    "RangeVariable": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "typeReference": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        },
        "kind": {
          "format": "int32",
          "type": "integer",
          "readOnly": true,
          "title": "Int32"
        }
      },
      "xml": {
        "name": "RangeVariable"
      },
      "title": "RangeVariable"
    },
    "IEdmTypeReference": {
      "type": "object",
      "properties": {
        "isNullable": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "definition": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        }
      },
      "xml": {
        "name": "IEdmTypeReference"
      },
      "title": "IEdmTypeReference"
    },
    "IEdmTerm": {
      "type": "object",
      "properties": {
        "termKind": {
          "enum": [
            "None",
            "Type",
            "Value"
          ],
          "type": "string",
          "readOnly": true,
          "title": "EdmTermKind"
        },
        "schemaElementKind": {
          "enum": [
            "None",
            "TypeDefinition",
            "Function",
            "ValueTerm",
            "EntityContainer"
          ],
          "type": "string",
          "readOnly": true,
          "title": "EdmSchemaElementKind"
        },
        "namespace": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        }
      },
      "xml": {
        "name": "IEdmTerm"
      },
      "title": "IEdmTerm"
    },
    "IEdmVocabularyAnnotatable": {
      "type": "object",
      "properties": {},
      "xml": {
        "name": "IEdmVocabularyAnnotatable"
      },
      "title": "IEdmVocabularyAnnotatable"
    },
    "BusinessAbaModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "financialInstitutionCode": {
          "type": "string",
          "title": "String"
        },
        "lodgementReference": {
          "type": "string",
          "title": "String"
        },
        "userName": {
          "type": "string",
          "title": "String"
        },
        "userId": {
          "type": "string",
          "title": "String"
        },
        "includeSelfBalancingTransaction": {
          "type": "boolean",
          "title": "Boolean"
        },
        "mergeMultipleAccountPayments": {
          "type": "boolean",
          "title": "Boolean"
        },
        "balanceLodgementReference": {
          "type": "string",
          "title": "String"
        },
        "paymentAdditionalContent": {
          "enum": [
            "None",
            "PeriodEndingDate",
            "PaymentDate",
            "EmployeeId"
          ],
          "type": "string",
          "title": "Nullable<AbaPaymentAdditionalContent>"
        },
        "balanceAdditionalContent": {
          "enum": [
            "None",
            "PeriodEndingDate",
            "PaymentDate",
            "PayRunId"
          ],
          "type": "string",
          "title": "Nullable<AbaBalanceAdditionalContent>"
        }
      },
      "xml": {
        "name": "BusinessAbaModel"
      },
      "title": "BusinessAbaModel"
    },
    "SingleSignOnRequestModel": {
      "type": "object",
      "properties": {
        "businessId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "userName": {
          "type": "string",
          "title": "String"
        },
        "url": {
          "type": "string",
          "title": "String"
        },
        "navigation": {
          "enum": [
            "Full",
            "Primary",
            "Secondary",
            "None"
          ],
          "type": "string",
          "title": "NavigationDisplayEnum"
        },
        "hostName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SingleSignOnRequestModel"
      },
      "title": "SingleSignOnRequestModel"
    },
    "SingleSignOnResponseModel": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SingleSignOnResponseModel"
      },
      "title": "SingleSignOnResponseModel"
    },
    "TimesheetRoundingRulesModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "shiftStartRoundingDirection": {
          "enum": [
            "None",
            "Up",
            "Down",
            "ToTheNearest"
          ],
          "type": "string",
          "title": "RoundingDirectionEnum"
        },
        "shiftStartRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "shiftEndRoundingDirection": {
          "enum": [
            "None",
            "Up",
            "Down",
            "ToTheNearest"
          ],
          "type": "string",
          "title": "RoundingDirectionEnum"
        },
        "shiftEndRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "breakStartRoundingDirection": {
          "enum": [
            "None",
            "Up",
            "Down",
            "ToTheNearest"
          ],
          "type": "string",
          "title": "RoundingDirectionEnum"
        },
        "breakStartRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "breakEndRoundingDirection": {
          "enum": [
            "None",
            "Up",
            "Down",
            "ToTheNearest"
          ],
          "type": "string",
          "title": "RoundingDirectionEnum"
        },
        "breakEndRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "roundUpToShiftStartTimeRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "roundDownToShiftStartTimeRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "roundUpToShiftEndTimeRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "roundDownToShiftEndTimeRoundingInterval": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "TimesheetRoundingRulesModel"
      },
      "title": "TimesheetRoundingRulesModel"
    },
    "BusinessAtoSupplierModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "addressLine1": {
          "type": "string",
          "title": "String"
        },
        "addressLine2": {
          "type": "string",
          "title": "String"
        },
        "suburb": {
          "type": "string",
          "title": "String"
        },
        "state": {
          "type": "string",
          "title": "String"
        },
        "postCode": {
          "type": "string",
          "title": "String"
        },
        "contactName": {
          "type": "string",
          "title": "String"
        },
        "signatoryName": {
          "type": "string",
          "title": "String"
        },
        "phoneNumber": {
          "type": "string",
          "title": "String"
        },
        "faxNumber": {
          "type": "string",
          "title": "String"
        },
        "country": {
          "type": "string",
          "title": "String"
        },
        "branch": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "BusinessAtoSupplierModel"
      },
      "title": "BusinessAtoSupplierModel"
    },
    "EntitlementsModel": {
      "type": "object",
      "properties": {
        "planName": {
          "type": "string",
          "title": "String"
        },
        "trialExpiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "features": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EntitlementFeatureModel"
          },
          "xml": {
            "name": "EntitlementFeatureModel",
            "wrapped": true
          },
          "title": "IList<EntitlementFeatureModel>"
        }
      },
      "xml": {
        "name": "EntitlementsModel"
      },
      "title": "EntitlementsModel"
    },
    "EntitlementFeatureModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EntitlementFeatureModel"
      },
      "title": "EntitlementFeatureModel"
    },
    "DocumentModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "friendlyName": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "visibleToAllEmployees": {
          "type": "boolean",
          "title": "Boolean"
        },
        "selectedGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeGroupItemModel"
          },
          "xml": {
            "name": "EmployeeGroupItemModel",
            "wrapped": true
          },
          "title": "List<EmployeeGroupItemModel>"
        }
      },
      "xml": {
        "name": "DocumentModel"
      },
      "title": "DocumentModel"
    },
    "EmployeeGroupItemModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeGroupItemModel"
      },
      "title": "EmployeeGroupItemModel"
    },
    "UpdateDocumentPermissionsModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "visibleToAll": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employeeGroups": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "List<Int32>"
        }
      },
      "xml": {
        "name": "UpdateDocumentPermissionsModel"
      },
      "title": "UpdateDocumentPermissionsModel"
    },
    "DocumentFile": {
      "type": "object",
      "properties": {
        "contentLength": {
          "format": "int64",
          "type": "integer",
          "title": "Int64"
        },
        "contentType": {
          "type": "string",
          "title": "String"
        },
        "bytes": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "filename": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "DocumentFile"
      },
      "title": "DocumentFile"
    },
    "ODataQueryOptions[Business]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Business>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Business>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<Business>"
    },
    "BusinessModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "registrationNumber": {
          "type": "string",
          "title": "String"
        },
        "legalName": {
          "type": "string",
          "title": "String"
        },
        "contactName": {
          "type": "string",
          "title": "String"
        },
        "contactEmailAddress": {
          "type": "string",
          "title": "String"
        },
        "contactPhoneNumber": {
          "type": "string",
          "title": "String"
        },
        "contactFaxNumber": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "standardHoursPerDay": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "integratedTimesheetsEnabled": {
          "type": "boolean",
          "title": "Boolean"
        },
        "journalService": {
          "type": "string",
          "title": "String"
        },
        "endOfWeek": {
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string",
          "title": "DayOfWeek"
        },
        "initialFinancialYearStart": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "managersCanEditRosterBudgets": {
          "type": "boolean",
          "title": "Nullable<Boolean>"
        },
        "budgetWarningPercent": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "budgetEntryMethod": {
          "enum": [
            "PercentageOfSales",
            "Direct"
          ],
          "type": "string",
          "title": "BudgetEntryMethodEnum"
        },
        "addressLine1": {
          "type": "string",
          "title": "String"
        },
        "addressLine2": {
          "type": "string",
          "title": "String"
        },
        "suburb": {
          "type": "string",
          "title": "String"
        },
        "postCode": {
          "type": "string",
          "title": "String"
        },
        "state": {
          "type": "string",
          "title": "String"
        },
        "whiteLabelName": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "city": {
          "type": "string",
          "title": "String"
        },
        "county": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "BusinessModel"
      },
      "title": "BusinessModel"
    },
    "BusinessAccessModel": {
      "type": "object",
      "properties": {
        "accessType": {
          "enum": [
            "Unrestricted",
            "Restricted"
          ],
          "type": "string",
          "title": "RelatedUserType"
        },
        "employeeGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeGroupAccessModel"
          },
          "xml": {
            "name": "EmployeeGroupAccessModel",
            "wrapped": true
          },
          "title": "IList<EmployeeGroupAccessModel>"
        },
        "locationAccess": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LocationAccessModel"
          },
          "xml": {
            "name": "LocationAccessModel",
            "wrapped": true
          },
          "title": "IList<LocationAccessModel>"
        },
        "reports": {
          "$ref": "#/definitions/ReportAccessModel"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "BusinessAccessModel"
      },
      "title": "BusinessAccessModel"
    },
    "EmployeeGroupAccessModel": {
      "type": "object",
      "properties": {
        "employeeGroupId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "permissions": {
          "enum": [
            "ApproveTimesheets",
            "ApproveLeaveRequests",
            "CreateTimesheets",
            "CreateLeaveRequests",
            "ViewLeaveRequests",
            "ManageRosters",
            "ViewRosters",
            "ViewShiftCosts",
            "ViewExpenses",
            "CreateExpenses",
            "ApproveExpenses",
            "CreateTasks"
          ],
          "type": "string",
          "title": "UserPermission"
        }
      },
      "xml": {
        "name": "EmployeeGroupAccessModel"
      },
      "title": "EmployeeGroupAccessModel"
    },
    "LocationAccessModel": {
      "type": "object",
      "properties": {
        "filterType": {
          "enum": [
            "Location",
            "LocationOrParents"
          ],
          "type": "string",
          "title": "LocationRestrictionFilterTypeEnum"
        },
        "locationIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "List<Int32>"
        },
        "permissions": {
          "enum": [
            "ApproveTimesheets",
            "ApproveLeaveRequests",
            "CreateTimesheets",
            "CreateLeaveRequests",
            "ViewLeaveRequests",
            "ManageRosters",
            "ViewRosters",
            "ViewShiftCosts",
            "ViewExpenses",
            "CreateExpenses",
            "ApproveExpenses",
            "CreateTasks"
          ],
          "type": "string",
          "title": "UserPermission"
        }
      },
      "xml": {
        "name": "LocationAccessModel"
      },
      "title": "LocationAccessModel"
    },
    "ReportAccessModel": {
      "type": "object",
      "properties": {
        "accessType": {
          "enum": [
            "None",
            "AllReports",
            "SpecificReports"
          ],
          "type": "string",
          "title": "ReportAccessType"
        },
        "specificReports": {
          "enum": [
            "DetailedActivityReport",
            "PayRunComparisonReport",
            "SuperContributionsReport",
            "OrdinaryTimeEarningsReport",
            "DeductionsReport",
            "PayrollTaxReport",
            "PaygReport",
            "PayCategoriesReport",
            "PayRunAuditReport",
            "CostingReport",
            "TimesheetReport",
            "ExpensesReport",
            "PaymentHistoryReport",
            "LeaveBalancesReport",
            "LeaveLiabilityReport",
            "LeaveHistoryReport",
            "BirthdayReport",
            "EmployeeDetailsReport",
            "UnpaidEmployeesReport",
            "QualificationsReport",
            "EmployeeSatisfactionReport",
            "AttendanceReport",
            "EmergencyContactsReport",
            "EmployerLiabilitiesReport",
            "PayRunVarianceReport",
            "EmployeeDetailsAuditReport",
            "GrossToNetReport",
            "LiveView",
            "TasksReport",
            "ShiftSwappingReport"
          ],
          "type": "string",
          "title": "ReportEnum"
        }
      },
      "xml": {
        "name": "ReportAccessModel"
      },
      "title": "ReportAccessModel"
    },
    "CreateBusinessAccessModel": {
      "type": "object",
      "properties": {
        "suppressNotificationEmails": {
          "type": "boolean",
          "title": "Boolean"
        },
        "accessType": {
          "enum": [
            "Unrestricted",
            "Restricted"
          ],
          "type": "string",
          "title": "RelatedUserType"
        },
        "employeeGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeGroupAccessModel"
          },
          "xml": {
            "name": "EmployeeGroupAccessModel",
            "wrapped": true
          },
          "title": "IList<EmployeeGroupAccessModel>"
        },
        "locationAccess": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LocationAccessModel"
          },
          "xml": {
            "name": "LocationAccessModel",
            "wrapped": true
          },
          "title": "IList<LocationAccessModel>"
        },
        "reports": {
          "$ref": "#/definitions/ReportAccessModel"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "CreateBusinessAccessModel"
      },
      "title": "CreateBusinessAccessModel"
    },
    "AccessModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "AccessModel"
      },
      "title": "AccessModel"
    },
    "ODataQueryOptions[DeductionCategory]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<DeductionCategory>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<DeductionCategory>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<DeductionCategory>"
    },
    "DeductionCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "taxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "sgcCalculationImpact": {
          "enum": [
            "None",
            "ReducesOTE",
            "ReducesOTEAndSGC"
          ],
          "type": "string",
          "title": "SGCCalculationImpactEnum"
        },
        "paymentSummaryClassification": {
          "enum": [
            "Default",
            "UnionOrProfessionalAssociationFees",
            "WorkplaceGiving"
          ],
          "type": "string",
          "title": "DeductionCategoryPaymentSummaryClassification"
        },
        "expenseGeneralLedgerMappingCode": {
          "type": "string",
          "title": "String"
        },
        "liabilityGeneralLedgerMappingCode": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "DeductionCategoryModel"
      },
      "title": "DeductionCategoryModel"
    },
    "WorkTypeModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "accruesLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employmentTypes": {
          "type": "array",
          "items": {
            "enum": [
              "Unknown",
              "FullTime",
              "PartTime",
              "LabourHire",
              "SuperannuationIncomeStream",
              "Casual"
            ],
            "type": "string",
            "title": "EmploymentTypeEnum"
          },
          "xml": {
            "name": "EmploymentTypeEnum",
            "wrapped": true
          },
          "title": "IList<EmploymentTypeEnum>"
        },
        "mappingType": {
          "enum": [
            "PayCategory",
            "LeaveCategory",
            "PrimaryPayCategory",
            "ShiftCondition"
          ],
          "type": "string",
          "title": "Nullable<WorkTypeMappingType>"
        },
        "shortCode": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "WorkTypeModel"
      },
      "title": "WorkTypeModel"
    },
    "ProfileImageMetadata": {
      "type": "object",
      "properties": {
        "contentType": {
          "type": "string",
          "title": "String"
        },
        "extension": {
          "type": "string",
          "title": "String"
        },
        "width": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "height": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "ProfileImageMetadata"
      },
      "title": "ProfileImageMetadata"
    },
    "ODataQueryOptions[Employee]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Employee>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Employee>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<Employee>"
    },
    "EmployeeDetailsModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "title": {
          "type": "string",
          "title": "String"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "preferredName": {
          "type": "string",
          "title": "String"
        },
        "middleName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "gender": {
          "type": "string",
          "title": "String"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "anniversaryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "residentialStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "residentialAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "residentialSuburb": {
          "type": "string",
          "title": "String"
        },
        "residentialState": {
          "type": "string",
          "title": "String"
        },
        "residentialPostCode": {
          "type": "string",
          "title": "String"
        },
        "postalStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "postalAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "postalSuburb": {
          "type": "string",
          "title": "String"
        },
        "postalState": {
          "type": "string",
          "title": "String"
        },
        "postalPostCode": {
          "type": "string",
          "title": "String"
        },
        "emailAddress": {
          "type": "string",
          "title": "String"
        },
        "homePhone": {
          "type": "string",
          "title": "String"
        },
        "workPhone": {
          "type": "string",
          "title": "String"
        },
        "mobilePhone": {
          "type": "string",
          "title": "String"
        },
        "startDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "residentialCity": {
          "type": "string",
          "title": "String"
        },
        "residentialCounty": {
          "type": "string",
          "title": "String"
        },
        "postalCity": {
          "type": "string",
          "title": "String"
        },
        "postalCounty": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeDetailsModel"
      },
      "title": "EmployeeDetailsModel"
    },
    "EmployeesFilter": {
      "type": "object",
      "properties": {
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "EmployeesFilter"
      },
      "title": "EmployeesFilter"
    },
    "ODataQueryOptions[UnstructuredEmployeeModel]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<UnstructuredEmployeeModel>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<UnstructuredEmployeeModel>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<UnstructuredEmployeeModel>"
    },
    "UnstructuredEmployeeModel": {
      "type": "object",
      "properties": {
        "status": {
          "enum": [
            "Active",
            "Terminated",
            "Incomplete"
          ],
          "type": "string",
          "title": "EmployeeStatusEnum"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "residentialCity": {
          "type": "string",
          "title": "String"
        },
        "residentialCounty": {
          "type": "string",
          "title": "String"
        },
        "postalCity": {
          "type": "string",
          "title": "String"
        },
        "postalCounty": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxFileNumber": {
          "type": "string",
          "title": "String"
        },
        "title": {
          "type": "string",
          "title": "String"
        },
        "preferredName": {
          "type": "string",
          "title": "String"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "middleName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "gender": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "residentialStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "residentialAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "residentialSuburb": {
          "type": "string",
          "title": "String"
        },
        "residentialState": {
          "type": "string",
          "title": "String"
        },
        "residentialPostCode": {
          "type": "string",
          "title": "String"
        },
        "postalStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "postalAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "postalSuburb": {
          "type": "string",
          "title": "String"
        },
        "postalState": {
          "type": "string",
          "title": "String"
        },
        "postalPostCode": {
          "type": "string",
          "title": "String"
        },
        "emailAddress": {
          "type": "string",
          "title": "String"
        },
        "homePhone": {
          "type": "string",
          "title": "String"
        },
        "workPhone": {
          "type": "string",
          "title": "String"
        },
        "mobilePhone": {
          "type": "string",
          "title": "String"
        },
        "startDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "anniversaryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "tags": {
          "type": "string",
          "title": "String"
        },
        "employingEntityABN": {
          "type": "string",
          "title": "String"
        },
        "employmentType": {
          "type": "string",
          "title": "String"
        },
        "previousSurname": {
          "type": "string",
          "title": "String"
        },
        "australianResident": {
          "type": "string",
          "title": "String"
        },
        "claimTaxFreeThreshold": {
          "type": "string",
          "title": "String"
        },
        "seniorsTaxOffset": {
          "type": "string",
          "title": "String"
        },
        "otherTaxOffset": {
          "type": "string",
          "title": "String"
        },
        "helpDebt": {
          "type": "string",
          "title": "String"
        },
        "afsDebt": {
          "type": "string",
          "title": "String"
        },
        "isExemptFromFloodLevy": {
          "type": "string",
          "title": "String"
        },
        "hasApprovedWorkingHolidayVisa": {
          "type": "string",
          "title": "String"
        },
        "hasWithholdingVariation": {
          "type": "string",
          "title": "String"
        },
        "taxVariation": {
          "type": "string",
          "title": "String"
        },
        "dateTaxFileDeclarationSigned": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "dateTaxFileDeclarationReported": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "jobTitle": {
          "type": "string",
          "title": "String"
        },
        "paySchedule": {
          "type": "string",
          "title": "String"
        },
        "primaryPayCategory": {
          "type": "string",
          "title": "String"
        },
        "primaryLocation": {
          "type": "string",
          "title": "String"
        },
        "paySlipNotificationType": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "overrideTemplateRate": {
          "type": "string",
          "title": "String"
        },
        "rateUnit": {
          "type": "string",
          "title": "String"
        },
        "hoursPerWeek": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "automaticallyPayEmployee": {
          "type": "string",
          "title": "String"
        },
        "leaveTemplate": {
          "type": "string",
          "title": "String"
        },
        "payRateTemplate": {
          "type": "string",
          "title": "String"
        },
        "payConditionRuleSet": {
          "type": "string",
          "title": "String"
        },
        "employmentAgreement": {
          "type": "string",
          "title": "String"
        },
        "isEnabledForTimesheets": {
          "type": "string",
          "title": "String"
        },
        "isExemptFromPayrollTax": {
          "type": "string",
          "title": "String"
        },
        "locations": {
          "type": "string",
          "title": "String"
        },
        "workTypes": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact1_Name": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact1_Relationship": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact1_Address": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact1_ContactNumber": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact1_AlternateContactNumber": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact2_Name": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact2_Relationship": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact2_Address": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact2_ContactNumber": {
          "type": "string",
          "title": "String"
        },
        "emergencyContact2_AlternateContactNumber": {
          "type": "string",
          "title": "String"
        },
        "bankAccount1_BSB": {
          "type": "string",
          "title": "String"
        },
        "bankAccount1_AccountNumber": {
          "type": "string",
          "title": "String"
        },
        "bankAccount1_AccountName": {
          "type": "string",
          "title": "String"
        },
        "bankAccount1_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "bankAccount1_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "bankAccount2_BSB": {
          "type": "string",
          "title": "String"
        },
        "bankAccount2_AccountNumber": {
          "type": "string",
          "title": "String"
        },
        "bankAccount2_AccountName": {
          "type": "string",
          "title": "String"
        },
        "bankAccount2_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "bankAccount2_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "bankAccount3_BSB": {
          "type": "string",
          "title": "String"
        },
        "bankAccount3_AccountNumber": {
          "type": "string",
          "title": "String"
        },
        "bankAccount3_AccountName": {
          "type": "string",
          "title": "String"
        },
        "bankAccount3_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "bankAccount3_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund1_ProductCode": {
          "type": "string",
          "title": "String"
        },
        "superFund1_FundName": {
          "type": "string",
          "title": "String"
        },
        "superFund1_MemberNumber": {
          "type": "string",
          "title": "String"
        },
        "superFund1_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund1_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund2_ProductCode": {
          "type": "string",
          "title": "String"
        },
        "superFund2_FundName": {
          "type": "string",
          "title": "String"
        },
        "superFund2_MemberNumber": {
          "type": "string",
          "title": "String"
        },
        "superFund2_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund2_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund3_ProductCode": {
          "type": "string",
          "title": "String"
        },
        "superFund3_FundName": {
          "type": "string",
          "title": "String"
        },
        "superFund3_MemberNumber": {
          "type": "string",
          "title": "String"
        },
        "superFund3_AllocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superFund3_FixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superThresholdAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "maximumQuarterlySuperContributionsBase": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "rosteringNotificationChoices": {
          "type": "string",
          "title": "String"
        },
        "medicareLevyExemption": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "UnstructuredEmployeeModel"
      },
      "title": "UnstructuredEmployeeModel"
    },
    "LeaveBalanceModel": {
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "accruedAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "LeaveBalanceModel"
      },
      "title": "LeaveBalanceModel"
    },
    "EmployeeNoteModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "user": {
          "type": "string",
          "title": "String"
        },
        "dateTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "note": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeNoteModel"
      },
      "title": "EmployeeNoteModel"
    },
    "CreateEmployeeNoteModel": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "CreateEmployeeNoteModel"
      },
      "title": "CreateEmployeeNoteModel"
    },
    "EmployeePayRateModel": {
      "type": "object",
      "properties": {
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payCategoryName": {
          "type": "string",
          "title": "String"
        },
        "isPrimaryPayCategory": {
          "type": "boolean",
          "title": "Boolean"
        },
        "accruesLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "rateUnit": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "calculatedRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "hasSuperRateOverride": {
          "type": "boolean",
          "title": "Boolean"
        },
        "superRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "EmployeePayRateModel"
      },
      "title": "EmployeePayRateModel"
    },
    "OpeningBalancesEditModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "paygWithholdingAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "sfssAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "helpAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "employerContribution": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "leaveBalances": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InitialLeaveBalanceModel"
          },
          "xml": {
            "name": "InitialLeaveBalanceModel",
            "wrapped": true
          },
          "title": "IList<InitialLeaveBalanceModel>"
        },
        "earningsLines": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InitialEarningsModel"
          },
          "xml": {
            "name": "InitialEarningsModel",
            "wrapped": true
          },
          "title": "IList<InitialEarningsModel>"
        },
        "deductions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InitialDeductionModel"
          },
          "xml": {
            "name": "InitialDeductionModel",
            "wrapped": true
          },
          "title": "List<InitialDeductionModel>"
        },
        "employerLiabilities": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InitialEmployerLiabilityModel"
          },
          "xml": {
            "name": "InitialEmployerLiabilityModel",
            "wrapped": true
          },
          "title": "List<InitialEmployerLiabilityModel>"
        },
        "etpTypeR": {
          "$ref": "#/definitions/OpeningBalancesEtpModel"
        },
        "etpTypeO": {
          "$ref": "#/definitions/OpeningBalancesEtpModel"
        },
        "financialYearStartingYear": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "OpeningBalancesEditModel"
      },
      "title": "OpeningBalancesEditModel"
    },
    "InitialLeaveBalanceModel": {
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "InitialLeaveBalanceModel"
      },
      "title": "InitialLeaveBalanceModel"
    },
    "InitialEarningsModel": {
      "type": "object",
      "properties": {
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isStandardPayCategory": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payCategoryType": {
          "enum": [
            "Standard",
            "LeaveLoading",
            "GenuineRedundancyLeavePayment",
            "OpeningBalanceAllowances",
            "EtpTypeRTaxable",
            "EtpTypeRTaxFree",
            "EtpTypeOTaxable",
            "EtpTypeOTaxFree",
            "EtpLumpSumD"
          ],
          "type": "string",
          "title": "PayCategoryType"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "InitialEarningsModel"
      },
      "title": "InitialEarningsModel"
    },
    "InitialDeductionModel": {
      "type": "object",
      "properties": {
        "deductionCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isRESC": {
          "type": "boolean",
          "title": "Boolean"
        },
        "taxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isMemberVoluntary": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "InitialDeductionModel"
      },
      "title": "InitialDeductionModel"
    },
    "InitialEmployerLiabilityModel": {
      "type": "object",
      "properties": {
        "employerLiabilityCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "InitialEmployerLiabilityModel"
      },
      "title": "InitialEmployerLiabilityModel"
    },
    "OpeningBalancesEtpModel": {
      "type": "object",
      "properties": {
        "taxFreeComponent": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "taxableComponent": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "taxWithheld": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "lumpSumD": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "isAmended": {
          "type": "boolean",
          "title": "Boolean"
        },
        "paymentDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "generatePaymentSummary": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "OpeningBalancesEtpModel"
      },
      "title": "OpeningBalancesEtpModel"
    },
    "EmployeeAccessModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeAccessModel"
      },
      "title": "EmployeeAccessModel"
    },
    "CreateEmployeeAccessModel": {
      "type": "object",
      "properties": {
        "suppressNotificationEmails": {
          "type": "boolean",
          "title": "Boolean"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "CreateEmployeeAccessModel"
      },
      "title": "CreateEmployeeAccessModel"
    },
    "BankAccountModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "allocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "fixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "allocateBalance": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isEmployeeEditable": {
          "type": "boolean",
          "title": "Boolean"
        },
        "canBeDeleted": {
          "type": "boolean",
          "title": "Boolean"
        },
        "accountType": {
          "enum": [
            "Electronic",
            "ManualDeposit",
            "CashOrCheque",
            "Bpay"
          ],
          "type": "string",
          "title": "BankAccountTypeEnum"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "BankAccountModel"
      },
      "title": "BankAccountModel"
    },
    "SaveBankAccountResponseModel": {
      "type": "object",
      "properties": {
        "validationWarning": {
          "type": "string",
          "title": "String"
        },
        "result": {
          "$ref": "#/definitions/BankAccountModel"
        }
      },
      "xml": {
        "name": "SaveBankAccountResponseModel"
      },
      "title": "SaveBankAccountResponseModel"
    },
    "EmployeeDocumentModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "friendlyName": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "visible": {
          "type": "boolean",
          "title": "Boolean"
        },
        "leaveRequestId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "timesheetLineId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "EmployeeDocumentModel"
      },
      "title": "EmployeeDocumentModel"
    },
    "UpdateEmployeeDocumentPermissionsModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "visible": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "UpdateEmployeeDocumentPermissionsModel"
      },
      "title": "UpdateEmployeeDocumentPermissionsModel"
    },
    "ODataQueryOptions[EmployeeExpenseCategory]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployeeExpenseCategory>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployeeExpenseCategory>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<EmployeeExpenseCategory>"
    },
    "EmployeeExpenseCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "generalLedgerMappingCode": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "externalTaxCodeId": {
          "type": "string",
          "title": "String"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "EmployeeExpenseCategoryModel"
      },
      "title": "EmployeeExpenseCategoryModel"
    },
    "JournalServiceTaxCode": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "JournalServiceTaxCode"
      },
      "title": "JournalServiceTaxCode"
    },
    "ODataQueryOptions[EmployeeExpenseRequest]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployeeExpenseRequest>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployeeExpenseRequest>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<EmployeeExpenseRequest>"
    },
    "ExpenseRequestResponseModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "lineItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseRequestLineItemModel"
          },
          "xml": {
            "name": "ExpenseRequestLineItemModel",
            "wrapped": true
          },
          "title": "List<ExpenseRequestLineItemModel>"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttachmentModel"
          },
          "xml": {
            "name": "AttachmentModel",
            "wrapped": true
          },
          "title": "List<AttachmentModel>"
        },
        "statusUpdatedByUser": {
          "type": "string",
          "title": "String"
        },
        "statusUpdateNotes": {
          "type": "string",
          "title": "String"
        },
        "dateStatusUpdated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "ExpenseRequestResponseModel"
      },
      "title": "ExpenseRequestResponseModel"
    },
    "ExpenseRequestLineItemModel": {
      "type": "object",
      "properties": {
        "expenseCategoryName": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "expenseCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxCodeDisplayName": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "dateIncurred": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "ExpenseRequestLineItemModel"
      },
      "title": "ExpenseRequestLineItemModel"
    },
    "AttachmentModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "friendlyName": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "url": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "AttachmentModel"
      },
      "title": "AttachmentModel"
    },
    "ExpenseRequestEditModel": {
      "required": [
        "employeeId"
      ],
      "type": "object",
      "properties": {
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttachmentModel"
          },
          "xml": {
            "name": "AttachmentModel",
            "wrapped": true
          },
          "title": "List<AttachmentModel>"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "maxLength": 255,
          "type": "string",
          "title": "String"
        },
        "lineItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseRequestEditLineItemModel"
          },
          "xml": {
            "name": "ExpenseRequestEditLineItemModel",
            "wrapped": true
          },
          "title": "List<ExpenseRequestEditLineItemModel>"
        }
      },
      "xml": {
        "name": "ExpenseRequestEditModel"
      },
      "title": "ExpenseRequestEditModel"
    },
    "ExpenseRequestEditLineItemModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "expenseCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxCodeDisplayName": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "dateIncurred": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "ExpenseRequestEditLineItemModel"
      },
      "title": "ExpenseRequestEditLineItemModel"
    },
    "EmployeeGroupModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "filterCombinationStrategy": {
          "enum": [
            "Or",
            "And"
          ],
          "type": "string",
          "title": "FilterCombinationStrategyEnum"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeFilterModel"
          },
          "xml": {
            "name": "EmployeeFilterModel",
            "wrapped": true
          },
          "title": "IList<EmployeeFilterModel>"
        }
      },
      "xml": {
        "name": "EmployeeGroupModel"
      },
      "title": "EmployeeGroupModel"
    },
    "EmployeeFilterModel": {
      "type": "object",
      "properties": {
        "filterType": {
          "enum": [
            "Location",
            "LocationOrParents",
            "Employee",
            "PaySchedule",
            "EmploymentType",
            "EmployingEntity",
            "Tag"
          ],
          "type": "string",
          "title": "FilterTypeEnum"
        },
        "operator": {
          "enum": [
            "In",
            "NotIn"
          ],
          "type": "string",
          "title": "FilterOperatorEnum"
        },
        "value": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeFilterModel"
      },
      "title": "EmployeeFilterModel"
    },
    "DetailedEmployeeGroupModel": {
      "type": "object",
      "properties": {
        "matchingEmployees": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MatchingEmployeeModel"
          },
          "xml": {
            "name": "MatchingEmployeeModel",
            "wrapped": true
          },
          "title": "IList<MatchingEmployeeModel>"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "filterCombinationStrategy": {
          "enum": [
            "Or",
            "And"
          ],
          "type": "string",
          "title": "FilterCombinationStrategyEnum"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeFilterModel"
          },
          "xml": {
            "name": "EmployeeFilterModel",
            "wrapped": true
          },
          "title": "IList<EmployeeFilterModel>"
        }
      },
      "xml": {
        "name": "DetailedEmployeeGroupModel"
      },
      "title": "DetailedEmployeeGroupModel"
    },
    "MatchingEmployeeModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "MatchingEmployeeModel"
      },
      "title": "MatchingEmployeeModel"
    },
    "EmployeeQualificationDocumentModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "visible": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EmployeeQualificationDocumentModel"
      },
      "title": "EmployeeQualificationDocumentModel"
    },
    "EmployeeQualificationModel": {
      "type": "object",
      "properties": {
        "qualificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "documents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmployeeQualificationDocumentModel"
          },
          "xml": {
            "name": "EmployeeQualificationDocumentModel",
            "wrapped": true
          },
          "title": "IList<EmployeeQualificationDocumentModel>"
        },
        "referenceNumber": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeQualificationModel"
      },
      "title": "EmployeeQualificationModel"
    },
    "EmployeeRecurringTaxAdjustmentModel": {
      "type": "object",
      "properties": {
        "adjustmentType": {
          "enum": [
            "Fixed",
            "PercentageGross",
            "PercentageTaxableEarnings"
          ],
          "type": "string",
          "title": "TaxAdjustmentTypeEnum"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "maximumAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isActive": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeRecurringTaxAdjustmentModel"
      },
      "title": "EmployeeRecurringTaxAdjustmentModel"
    },
    "EmployeeRecurringSuperAdjustmentModel": {
      "type": "object",
      "properties": {
        "contributionType": {
          "enum": [
            "SuperGuarantee",
            "SalarySacrifice",
            "MemberVoluntary",
            "EmployerContribution"
          ],
          "type": "string",
          "title": "SuperContributionType"
        },
        "adjustmentType": {
          "enum": [
            "Fixed",
            "PercentageGross",
            "PercentageOTE",
            "PercentageTaxableEarnings"
          ],
          "type": "string",
          "title": "SuperAdjustmentTypeEnum"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "maximumAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isActive": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeRecurringSuperAdjustmentModel"
      },
      "title": "EmployeeRecurringSuperAdjustmentModel"
    },
    "EmployerRecurringLiabilityModel": {
      "type": "object",
      "properties": {
        "employerLiabilityCategoryName": {
          "type": "string",
          "title": "String"
        },
        "employerLiabilityCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "liabilityType": {
          "enum": [
            "Fixed",
            "PercentageGross",
            "PercentageOTE"
          ],
          "type": "string",
          "title": "EmployerRecurringLiabilityTypeEnum"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "maximumAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isActive": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployerRecurringLiabilityModel"
      },
      "title": "EmployerRecurringLiabilityModel"
    },
    "EmployeeRecurringDeductionModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        },
        "deductionCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "paidTo": {
          "enum": [
            "Manual",
            "BankAccount",
            "SuperFund",
            "Bpay"
          ],
          "type": "string",
          "title": "EmployeeRecurringDeductionPaidToEnum"
        },
        "paidToAccountId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "preservedEarningsAmountNotReachedAction": {
          "enum": [
            "DoNotPay",
            "PayToLimit"
          ],
          "type": "string",
          "title": "DeductionAmountNotReachedEnum"
        },
        "carryForwardUnpaidDeductions": {
          "type": "boolean",
          "title": "Boolean"
        },
        "carryForwardAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paymentReference": {
          "type": "string",
          "title": "String"
        },
        "deductionType": {
          "enum": [
            "NotSet",
            "Fixed",
            "PercentageGross",
            "PercentageOTE"
          ],
          "type": "string",
          "title": "DeductionTypeEnum"
        },
        "preservedEarnings": {
          "type": "boolean",
          "title": "Boolean"
        },
        "preservedEarningsAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "maximumAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isActive": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeRecurringDeductionModel"
      },
      "title": "EmployeeRecurringDeductionModel"
    },
    "EmployeeRecurringExpenseModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        },
        "expenseCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxCodeDisplayName": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "expiryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "maximumAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalAmountPaid": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isActive": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeRecurringExpenseModel"
      },
      "title": "EmployeeRecurringExpenseModel"
    },
    "SuperFundModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "memberNumber": {
          "type": "string",
          "title": "String"
        },
        "allocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "fixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "superProduct": {
          "$ref": "#/definitions/SuperProductModel"
        },
        "allocateBalance": {
          "type": "boolean",
          "title": "Boolean"
        },
        "canBeDeleted": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SuperFundModel"
      },
      "title": "SuperFundModel"
    },
    "SuperProductModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "productCode": {
          "type": "string",
          "title": "String"
        },
        "productType": {
          "type": "string",
          "title": "String"
        },
        "businessName": {
          "type": "string",
          "title": "String"
        },
        "displayName": {
          "type": "string",
          "title": "String"
        },
        "productName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "electronicServiceAddress": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SuperProductModel"
      },
      "title": "SuperProductModel"
    },
    "SaveSuperFundModel": {
      "type": "object",
      "properties": {
        "memberNumber": {
          "type": "string",
          "title": "String"
        },
        "allocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "fixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "productCode": {
          "type": "string",
          "title": "String"
        },
        "fundName": {
          "type": "string",
          "title": "String"
        },
        "allocateBalance": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SaveSuperFundModel"
      },
      "title": "SaveSuperFundModel"
    },
    "SaveSuperFundResponseModel": {
      "type": "object",
      "properties": {
        "validationWarning": {
          "type": "string",
          "title": "String"
        },
        "result": {
          "$ref": "#/definitions/SuperFundModel"
        }
      },
      "xml": {
        "name": "SaveSuperFundResponseModel"
      },
      "title": "SaveSuperFundResponseModel"
    },
    "ODataQueryOptions[EmployerLiabilityCategory]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployerLiabilityCategory>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployerLiabilityCategory>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<EmployerLiabilityCategory>"
    },
    "EmployerLiabilityCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "canBeDeleted": {
          "type": "boolean",
          "title": "Boolean"
        },
        "hideFromPaySlips": {
          "type": "boolean",
          "title": "Boolean"
        },
        "showTotalPayments": {
          "type": "boolean",
          "title": "Boolean"
        },
        "includeInShiftCosts": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EmployerLiabilityCategoryModel"
      },
      "title": "EmployerLiabilityCategoryModel"
    },
    "ODataQueryOptions[EmployingEntity]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployingEntity>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmployingEntity>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<EmployingEntity>"
    },
    "EmployingEntityModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "contactName": {
          "type": "string",
          "title": "String"
        },
        "signatoryName": {
          "type": "string",
          "title": "String"
        },
        "contactEmailAddress": {
          "type": "string",
          "title": "String"
        },
        "contactPhoneNumber": {
          "type": "string",
          "title": "String"
        },
        "contactFaxNumber": {
          "type": "string",
          "title": "String"
        },
        "addressLine1": {
          "type": "string",
          "title": "String"
        },
        "addressLine2": {
          "type": "string",
          "title": "String"
        },
        "suburb": {
          "type": "string",
          "title": "String"
        },
        "state": {
          "type": "string",
          "title": "String"
        },
        "postcode": {
          "type": "string",
          "title": "String"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "isExemptFromFringeBenefitsTax": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EmployingEntityModel"
      },
      "title": "EmployingEntityModel"
    },
    "ODataQueryOptions[EmploymentAgreement]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmploymentAgreement>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<EmploymentAgreement>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<EmploymentAgreement>"
    },
    "BasicEmploymentAgreementModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "classification": {
          "type": "string",
          "title": "String"
        },
        "employmentType": {
          "enum": [
            "Unknown",
            "FullTime",
            "PartTime",
            "LabourHire",
            "SuperannuationIncomeStream",
            "Casual"
          ],
          "type": "string",
          "title": "EmploymentTypeEnum"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "awardName": {
          "type": "string",
          "title": "String"
        },
        "rank": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "BasicEmploymentAgreementModel"
      },
      "title": "BasicEmploymentAgreementModel"
    },
    "EmploymentAgreementModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "classification": {
          "type": "string",
          "title": "String"
        },
        "employmentType": {
          "enum": [
            "Unknown",
            "FullTime",
            "PartTime",
            "LabourHire",
            "SuperannuationIncomeStream",
            "Casual"
          ],
          "type": "string",
          "title": "EmploymentTypeEnum"
        },
        "payRateTemplateType": {
          "enum": [
            "DateOfBirth",
            "Anniversary",
            "AnniversaryInMonths",
            "DateOfBirthAndAnniversaryInMonths"
          ],
          "type": "string",
          "title": "PayRateTemplateTypeEnum"
        },
        "payConditionRuleSetId": {
          "format": "int32",
          "description": "in older serialised versions, the whole ruleset was included. in newer versions, only the ID is included",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "payConditionRuleSet": {
          "$ref": "#/definitions/PayConditionRuleSetModel"
        },
        "leaveAllowanceTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LeaveAllowanceTemplateModel"
          },
          "xml": {
            "name": "LeaveAllowanceTemplateModel",
            "wrapped": true
          },
          "title": "IList<LeaveAllowanceTemplateModel>"
        },
        "leaveAllowanceTemplateIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "agePayRateTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmploymentAgreementPayRateTemplateModel"
          },
          "xml": {
            "name": "EmploymentAgreementPayRateTemplateModel",
            "wrapped": true
          },
          "title": "IList<EmploymentAgreementPayRateTemplateModel>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "rank": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "EmploymentAgreementModel"
      },
      "title": "EmploymentAgreementModel"
    },
    "PayConditionRuleSetModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "periodType": {
          "enum": [
            "Weekly",
            "Fortnightly",
            "Monthly",
            "CalendarMonth",
            "FourWeekly",
            "SixWeekly",
            "ThreeWeekly"
          ],
          "type": "string",
          "title": "RuleSetPeriodType"
        },
        "dayOfWeekEnding": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "dayOfMonthEnding": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "periodEnding": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "shiftConsolidationOption": {
          "enum": [
            "None",
            "Duration",
            "SameDay"
          ],
          "type": "string",
          "title": "Nullable<ShiftConsolidationOption>"
        },
        "shiftConsolidationThreshold": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "rulesJson": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayConditionRuleSetModel"
      },
      "title": "PayConditionRuleSetModel"
    },
    "LeaveAllowanceTemplateModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "leaveCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LeaveAllowanceTemplateLeaveCategoryModel"
          },
          "xml": {
            "name": "LeaveAllowanceTemplateLeaveCategoryModel",
            "wrapped": true
          },
          "title": "IList<LeaveAllowanceTemplateLeaveCategoryModel>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        }
      },
      "xml": {
        "name": "LeaveAllowanceTemplateModel"
      },
      "title": "LeaveAllowanceTemplateModel"
    },
    "EmploymentAgreementPayRateTemplateModel": {
      "type": "object",
      "properties": {
        "payRateTemplateId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "payRateTemplate": {
          "$ref": "#/definitions/PayRateTemplateModel"
        },
        "minAge": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "maxAge": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "minAnniversaryMonths": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "maxAnniversaryMonths": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "EmploymentAgreementPayRateTemplateModel"
      },
      "title": "EmploymentAgreementPayRateTemplateModel"
    },
    "LeaveAllowanceTemplateLeaveCategoryModel": {
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "unitType": {
          "enum": [
            "Days",
            "Weeks",
            "HoursPerHourWorked",
            "HoursPerPayRun"
          ],
          "type": "string",
          "title": "Nullable<LeaveAllowanceUnitEnum>"
        },
        "leaveLoading": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "canApplyForLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "contingentPeriod": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "entitlementPeriod": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "LeaveAllowanceTemplateLeaveCategoryModel"
      },
      "title": "LeaveAllowanceTemplateLeaveCategoryModel"
    },
    "PayRateTemplateModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "primaryPayCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "superThresholdAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "payCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PayRateTemplatePayCategoryModel"
          },
          "xml": {
            "name": "PayRateTemplatePayCategoryModel",
            "wrapped": true
          },
          "title": "List<PayRateTemplatePayCategoryModel>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "maximumQuarterlySuperContributionsBase": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "PayRateTemplateModel"
      },
      "title": "PayRateTemplateModel"
    },
    "PayRateTemplatePayCategoryModel": {
      "description": "TODO: Can we get away with not having UserSuppliedRate and CalculatedRate? can we just have 'Rate' and work \r\n(which is interpreted as UserSuppliedRate) and determine calculated rate from there?",
      "type": "object",
      "properties": {
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "userSuppliedRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "calculatedRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "standardWeeklyHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "PayRateTemplatePayCategoryModel"
      },
      "title": "PayRateTemplatePayCategoryModel"
    },
    "GetShiftPeriodsModel": {
      "type": "object",
      "properties": {
        "firstShiftStartTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "lastShiftStartTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "GetShiftPeriodsModel"
      },
      "title": "GetShiftPeriodsModel"
    },
    "ShiftPeriodModel": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "ShiftPeriodModel"
      },
      "title": "ShiftPeriodModel"
    },
    "ShiftCostingsRequestModel": {
      "type": "object",
      "properties": {
        "transactionExternalId": {
          "type": "string",
          "title": "String"
        },
        "locationIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "workTypeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "includeEvaluationResults": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employee": {
          "$ref": "#/definitions/ShiftCostingsEmployeeModel"
        },
        "shifts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftCostingsRequestShiftModel"
          },
          "xml": {
            "name": "ShiftCostingsRequestShiftModel",
            "wrapped": true
          },
          "title": "IList<ShiftCostingsRequestShiftModel>"
        }
      },
      "xml": {
        "name": "ShiftCostingsRequestModel"
      },
      "title": "ShiftCostingsRequestModel"
    },
    "ShiftCostingsEmployeeModel": {
      "type": "object",
      "properties": {
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "anniversaryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "standardHoursPerWeek": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        }
      },
      "xml": {
        "name": "ShiftCostingsEmployeeModel"
      },
      "title": "ShiftCostingsEmployeeModel"
    },
    "ShiftCostingsRequestShiftModel": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "workTypeId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "comments": {
          "type": "string",
          "title": "String"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimesheetBreakModel"
          },
          "xml": {
            "name": "TimesheetBreakModel",
            "wrapped": true
          },
          "title": "IList<TimesheetBreakModel>"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "leaveCategoryId": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "type": "string",
          "title": "String"
        },
        "classificationId": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "attachmentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        }
      },
      "xml": {
        "name": "ShiftCostingsRequestShiftModel"
      },
      "title": "ShiftCostingsRequestShiftModel"
    },
    "TimesheetBreakModel": {
      "type": "object",
      "properties": {
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "TimesheetBreakModel"
      },
      "title": "TimesheetBreakModel"
    },
    "ShiftCostingsResponseModel": {
      "type": "object",
      "properties": {
        "transactionId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000",
          "title": "Guid"
        },
        "transactionExternalId": {
          "type": "string",
          "title": "String"
        },
        "employmentAgreementId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employmentAgreementName": {
          "type": "string",
          "title": "String"
        },
        "payConditionRuleSetId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payConditionRuleSetName": {
          "type": "string",
          "title": "String"
        },
        "shifts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftCostingsResponseShiftModel"
          },
          "xml": {
            "name": "ShiftCostingsResponseShiftModel",
            "wrapped": true
          },
          "title": "List<ShiftCostingsResponseShiftModel>"
        }
      },
      "xml": {
        "name": "ShiftCostingsResponseModel"
      },
      "title": "ShiftCostingsResponseModel"
    },
    "ShiftCostingsResponseShiftModel": {
      "type": "object",
      "properties": {
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "evaluationResults": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RuleEvaluationResult"
          },
          "xml": {
            "name": "RuleEvaluationResult",
            "wrapped": true
          },
          "title": "IList<RuleEvaluationResult>"
        },
        "consolidatedShifts": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "List<String>"
        },
        "costBreakdown": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftCostingBreakdownModel"
          },
          "xml": {
            "name": "ShiftCostingBreakdownModel",
            "wrapped": true
          },
          "title": "List<ShiftCostingBreakdownModel>"
        }
      },
      "xml": {
        "name": "ShiftCostingsResponseShiftModel"
      },
      "title": "ShiftCostingsResponseShiftModel"
    },
    "RuleEvaluationResult": {
      "type": "object",
      "properties": {
        "ruleName": {
          "type": "string",
          "title": "String"
        },
        "matchResult": {
          "enum": [
            "NoMatch",
            "Match",
            "DisabledForRuleSet",
            "DisabledForEmployee"
          ],
          "type": "string",
          "title": "RuleMatchResult"
        }
      },
      "xml": {
        "name": "RuleEvaluationResult"
      },
      "title": "RuleEvaluationResult"
    },
    "ShiftCostingBreakdownModel": {
      "type": "object",
      "properties": {
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "payCategoryName": {
          "type": "string",
          "title": "String"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "type": {
          "type": "string",
          "title": "String"
        },
        "liabilityCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "liabilityCategoryName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ShiftCostingBreakdownModel"
      },
      "title": "ShiftCostingBreakdownModel"
    },
    "EmployeeLeaveRequestFilter": {
      "type": "object",
      "properties": {
        "showOtherEmployees": {
          "type": "boolean",
          "title": "Boolean"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "EmployeeLeaveRequestFilter"
      },
      "title": "EmployeeLeaveRequestFilter"
    },
    "EssLeaveRequestModel": {
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isApproved": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isDeclined": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isCancelled": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isPending": {
          "type": "boolean",
          "title": "Boolean"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "requestedDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "hoursPerDay": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "totalDays": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "amount": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "statusUpdateNotes": {
          "type": "string",
          "title": "String"
        },
        "canCancel": {
          "type": "boolean",
          "title": "Boolean"
        },
        "canModify": {
          "type": "boolean",
          "title": "Boolean"
        },
        "requireNotesForLeaveRequests": {
          "type": "boolean",
          "title": "Boolean"
        },
        "attachment": {
          "$ref": "#/definitions/AttachmentModel"
        }
      },
      "xml": {
        "name": "EssLeaveRequestModel"
      },
      "title": "EssLeaveRequestModel"
    },
    "EssLeaveApplicationModel": {
      "required": [
        "fromDate",
        "toDate",
        "hours",
        "leaveCategoryId"
      ],
      "type": "object",
      "properties": {
        "attachment": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "attachmentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "hours": {
          "format": "double",
          "maximum": 2000,
          "type": "number",
          "title": "Decimal"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "notes": {
          "maxLength": 255,
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssLeaveApplicationModel"
      },
      "title": "EssLeaveApplicationModel"
    },
    "EssLeaveCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssLeaveCategoryModel"
      },
      "title": "EssLeaveCategoryModel"
    },
    "LeaveHoursEstimateFilter": {
      "required": [
        "fromDate",
        "toDate"
      ],
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "LeaveHoursEstimateFilter"
      },
      "title": "LeaveHoursEstimateFilter"
    },
    "EssLeaveEstimate": {
      "type": "object",
      "properties": {
        "leaveBalance": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "approvedLeave": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "availableBalance": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "leaveRequired": {
          "$ref": "#/definitions/LeaveEstimate"
        }
      },
      "xml": {
        "name": "EssLeaveEstimate"
      },
      "title": "EssLeaveEstimate"
    },
    "LeaveEstimate": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "hours": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        }
      },
      "xml": {
        "name": "LeaveEstimate"
      },
      "title": "LeaveEstimate"
    },
    "EssEmployeeDetailsModel": {
      "description": "this exists to give it a separate name from the API EmployeeeDetailsModel. As an aside, we should have had an api specific model for this",
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "titleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "otherName": {
          "type": "string",
          "title": "String"
        },
        "middleName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "gender": {
          "type": "string",
          "title": "String"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "anniversaryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "residentialStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "residentialAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "residentialSuburbId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "residentialSuburb": {
          "type": "string",
          "title": "String"
        },
        "residentialState": {
          "type": "string",
          "title": "String"
        },
        "residentialPostcode": {
          "type": "string",
          "title": "String"
        },
        "residentialCountry": {
          "type": "string",
          "title": "String"
        },
        "postalStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "postalAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "postalSuburbId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "postalSuburb": {
          "type": "string",
          "title": "String"
        },
        "postalState": {
          "type": "string",
          "title": "String"
        },
        "postalPostcode": {
          "type": "string",
          "title": "String"
        },
        "postalCountry": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        },
        "homePhone": {
          "type": "string",
          "title": "String"
        },
        "workPhone": {
          "type": "string",
          "title": "String"
        },
        "mobilePhone": {
          "type": "string",
          "title": "String"
        },
        "startDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "isTerminated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isPostalAddressSameAsResidential": {
          "type": "boolean",
          "title": "Boolean"
        },
        "titles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TitleViewModel"
          },
          "xml": {
            "name": "TitleViewModel",
            "wrapped": true
          },
          "title": "IList<TitleViewModel>"
        },
        "editMode": {
          "enum": [
            "EmployeePortal",
            "EmployeePortalReadOnly",
            "BusinessPortal"
          ],
          "type": "string",
          "title": "EmployeeDetailsEditMode"
        },
        "canEdit": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "tagsString": {
          "type": "string",
          "title": "String"
        },
        "allTags": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "timesheetSetting": {
          "enum": [
            "Disabled",
            "Enabled",
            "EnabledForExceptions"
          ],
          "type": "string",
          "title": "EmployeeTimesheetSetting"
        },
        "canDelete": {
          "type": "boolean",
          "title": "Boolean"
        },
        "hasProfileImage": {
          "type": "boolean",
          "title": "Boolean"
        },
        "canEditProfileImage": {
          "type": "boolean",
          "title": "Boolean"
        },
        "bouncedEmail": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EssEmployeeDetailsModel"
      },
      "title": "EssEmployeeDetailsModel"
    },
    "TitleViewModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "TitleViewModel"
      },
      "title": "TitleViewModel"
    },
    "EmployeePartialEditModel": {
      "required": [
        "firstName",
        "surname",
        "startDate"
      ],
      "type": "object",
      "properties": {
        "titleId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "firstName": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "otherName": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "middleName": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "surname": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "anniversaryDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "gender": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "residentialStreetAddress": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "residentialAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "residentialSuburbId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "residentialSuburb": {
          "type": "string",
          "title": "String"
        },
        "residentialState": {
          "type": "string",
          "title": "String"
        },
        "residentialPostcode": {
          "type": "string",
          "title": "String"
        },
        "residentialCountry": {
          "type": "string",
          "title": "String"
        },
        "postalStreetAddress": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "postalAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "postalSuburb": {
          "type": "string",
          "title": "String"
        },
        "postalState": {
          "type": "string",
          "title": "String"
        },
        "postalPostcode": {
          "type": "string",
          "title": "String"
        },
        "postalCountry": {
          "type": "string",
          "title": "String"
        },
        "postalSuburbId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "email": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "homePhone": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "workPhone": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "mobilePhone": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "title": "String"
        },
        "startDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "businessId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxFileNumber": {
          "type": "string",
          "title": "String"
        },
        "taxFileNumberMasked": {
          "type": "string",
          "title": "String"
        },
        "isPostalAddressSameAsResidential": {
          "type": "boolean",
          "title": "Boolean"
        },
        "bankAccounts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BankAccountEditModel"
          },
          "xml": {
            "name": "BankAccountEditModel",
            "wrapped": true
          },
          "title": "IList<BankAccountEditModel>"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "tagsString": {
          "type": "string",
          "title": "String"
        },
        "timesheetSetting": {
          "enum": [
            "Disabled",
            "Enabled",
            "EnabledForExceptions"
          ],
          "type": "string",
          "title": "EmployeeTimesheetSetting"
        }
      },
      "xml": {
        "name": "EmployeePartialEditModel"
      },
      "title": "EmployeePartialEditModel"
    },
    "BankAccountEditModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "allocatedPercentage": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "fixedAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "allocateBalance": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isEmployeeEditable": {
          "type": "boolean",
          "title": "Boolean"
        },
        "canBeDeleted": {
          "type": "boolean",
          "title": "Boolean"
        },
        "accountType": {
          "enum": [
            "Electronic",
            "ManualDeposit",
            "CashOrCheque",
            "Bpay"
          ],
          "type": "string",
          "title": "BankAccountTypeEnum"
        }
      },
      "xml": {
        "name": "BankAccountEditModel"
      },
      "title": "BankAccountEditModel"
    },
    "EmployeeEmergencyContactsEditModel": {
      "type": "object",
      "properties": {
        "primaryEmergencyContact": {
          "$ref": "#/definitions/EmergencyContactEditModel"
        },
        "secondaryEmergencyContact": {
          "$ref": "#/definitions/EmergencyContactEditModel"
        },
        "canEdit": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EmployeeEmergencyContactsEditModel"
      },
      "title": "EmployeeEmergencyContactsEditModel"
    },
    "EmergencyContactEditModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "relationship": {
          "type": "string",
          "title": "String"
        },
        "address": {
          "type": "string",
          "title": "String"
        },
        "contactNumber": {
          "type": "string",
          "title": "String"
        },
        "alternateContactNumber": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmergencyContactEditModel"
      },
      "title": "EmergencyContactEditModel"
    },
    "FeaturesModel": {
      "type": "object",
      "properties": {
        "allowEmployeeLeaveSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeSelfEditing": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeTimesheetsSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeToSetUnavailability": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeToDeclineShifts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeSuperFundSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeBankAccountSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeSatisfactionSurvey": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeesToViewAllApprovedLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "unavailabilityCutOff": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "allowEmployeesToUploadProfilePicture": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeRosteringSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeExpensesSelfService": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeOverrideTaxCodes": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeesToEditKioskTimesheets": {
          "type": "boolean",
          "title": "Boolean"
        },
        "essTimesheetSetting": {
          "enum": [
            "Disabled",
            "ReadOnly",
            "ReadWrite",
            "EditKiosk",
            "EditWorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ESSTimesheetSetting"
        },
        "employeeMustAcceptShifts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeTimesheetsWithoutStartStopTimes": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeToSwapShifts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "clockOnCanSpecifyHigherClassification": {
          "type": "boolean",
          "title": "Boolean"
        },
        "clockOnRequirePhoto": {
          "type": "boolean",
          "title": "Boolean"
        },
        "clockOnAllowEmployeeShiftSelection": {
          "type": "boolean",
          "title": "Boolean"
        },
        "clockOnWindowMinutes": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "clockOffWindowMinutes": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "timesheetsRequireLocation": {
          "type": "boolean",
          "title": "Boolean"
        },
        "timesheetsRequireWorkType": {
          "type": "boolean",
          "title": "Boolean"
        },
        "enableWorkZoneClockOn": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "FeaturesModel"
      },
      "title": "FeaturesModel"
    },
    "DashboardModel": {
      "type": "object",
      "properties": {
        "latestPayslip": {
          "$ref": "#/definitions/EssPayslipModel"
        },
        "nextShift": {
          "$ref": "#/definitions/EssRosterShiftModel"
        },
        "leaveBalances": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LeaveBalanceModel"
          },
          "xml": {
            "name": "LeaveBalanceModel",
            "wrapped": true
          },
          "title": "IList<LeaveBalanceModel>"
        },
        "features": {
          "$ref": "#/definitions/FeaturesModel"
        },
        "titles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TitleViewModel"
          },
          "xml": {
            "name": "TitleViewModel",
            "wrapped": true
          },
          "title": "List<TitleViewModel>"
        },
        "workTypes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssWorkTypeModel"
          },
          "xml": {
            "name": "EssWorkTypeModel",
            "wrapped": true
          },
          "title": "List<EssWorkTypeModel>"
        },
        "shiftConditions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssWorkTypeModel"
          },
          "xml": {
            "name": "EssWorkTypeModel",
            "wrapped": true
          },
          "title": "List<EssWorkTypeModel>"
        },
        "locations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LocationModel"
          },
          "xml": {
            "name": "LocationModel",
            "wrapped": true
          },
          "title": "List<LocationModel>"
        },
        "classifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClassificationSelectModel"
          },
          "readOnly": true,
          "xml": {
            "name": "ClassificationSelectModel",
            "wrapped": true
          },
          "title": "IList<ClassificationSelectModel>"
        },
        "leaveCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssLeaveCategoryModel"
          },
          "xml": {
            "name": "EssLeaveCategoryModel",
            "wrapped": true
          },
          "title": "IList<EssLeaveCategoryModel>"
        },
        "currentWeekSatisfactionSurvey": {
          "$ref": "#/definitions/EssSatisfactionSurvey"
        },
        "timesheets": {
          "$ref": "#/definitions/EssCurrentTimesheetsModel"
        },
        "timesheetEntryPeriodEnd": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "expenseCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseCategoryResponseModel"
          },
          "xml": {
            "name": "ExpenseCategoryResponseModel",
            "wrapped": true
          },
          "title": "IList<ExpenseCategoryResponseModel>"
        },
        "taxCodes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/JournalServiceTaxCode"
          },
          "xml": {
            "name": "JournalServiceTaxCode",
            "wrapped": true
          },
          "title": "IList<JournalServiceTaxCode>"
        },
        "expenses": {
          "$ref": "#/definitions/EssCurrentExpensesModel"
        },
        "pendingShiftCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "proposedSwapCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "currentShift": {
          "$ref": "#/definitions/EssCurrentShiftModel"
        }
      },
      "xml": {
        "name": "DashboardModel"
      },
      "title": "DashboardModel"
    },
    "EssPayslipModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "paySchedule": {
          "type": "string",
          "title": "String"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "payPeriodStart": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "payPeriodEnd": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "netPay": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "payerName": {
          "type": "string",
          "title": "String"
        },
        "payerAbn": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssPayslipModel"
      },
      "title": "EssPayslipModel"
    },
    "EssRosterShiftModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "token": {
          "type": "string",
          "title": "String"
        },
        "qualifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssQualificationModel"
          },
          "xml": {
            "name": "EssQualificationModel",
            "wrapped": true
          },
          "title": "IList<EssQualificationModel>"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssRosterShiftBreakModel"
          },
          "xml": {
            "name": "EssRosterShiftBreakModel",
            "wrapped": true
          },
          "title": "IList<EssRosterShiftBreakModel>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationName": {
          "type": "string",
          "title": "String"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "workTypeName": {
          "type": "string",
          "title": "String"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "published": {
          "type": "boolean",
          "title": "Boolean"
        },
        "accepted": {
          "type": "boolean",
          "title": "Boolean"
        },
        "pendingSwap": {
          "$ref": "#/definitions/EssRosterShiftSwapModel"
        },
        "datePublished": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "EssRosterShiftModel"
      },
      "title": "EssRosterShiftModel"
    },
    "EssWorkTypeModel": {
      "type": "object",
      "properties": {
        "isUnitBasedWorkType": {
          "type": "boolean",
          "title": "Boolean"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "accruesLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employmentTypes": {
          "type": "array",
          "items": {
            "enum": [
              "Unknown",
              "FullTime",
              "PartTime",
              "LabourHire",
              "SuperannuationIncomeStream",
              "Casual"
            ],
            "type": "string",
            "title": "EmploymentTypeEnum"
          },
          "xml": {
            "name": "EmploymentTypeEnum",
            "wrapped": true
          },
          "title": "IList<EmploymentTypeEnum>"
        },
        "mappingType": {
          "enum": [
            "PayCategory",
            "LeaveCategory",
            "PrimaryPayCategory",
            "ShiftCondition"
          ],
          "type": "string",
          "title": "Nullable<WorkTypeMappingType>"
        },
        "shortCode": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssWorkTypeModel"
      },
      "title": "EssWorkTypeModel"
    },
    "LocationModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "parentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "fullyQualifiedName": {
          "type": "string",
          "title": "String"
        },
        "state": {
          "type": "string",
          "title": "String"
        },
        "isGlobal": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isRollupReportingLocation": {
          "type": "boolean",
          "title": "Boolean"
        },
        "generalLedgerMappingCode": {
          "type": "string",
          "title": "String"
        },
        "defaultShiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        }
      },
      "xml": {
        "name": "LocationModel"
      },
      "title": "LocationModel"
    },
    "ClassificationSelectModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "ClassificationSelectModel"
      },
      "title": "ClassificationSelectModel"
    },
    "EssSatisfactionSurvey": {
      "type": "object",
      "properties": {
        "value": {
          "enum": [
            "NotSet",
            "Happy",
            "Neutral",
            "Sad"
          ],
          "type": "string",
          "title": "EmployeeSatisfactionValue"
        },
        "weekStartDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "EssSatisfactionSurvey"
      },
      "title": "EssSatisfactionSurvey"
    },
    "EssCurrentTimesheetsModel": {
      "type": "object",
      "properties": {
        "periodStarting": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "periodEnding": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "submittedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "approvedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "rejectedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "processedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "durationInMinutes": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "EssCurrentTimesheetsModel"
      },
      "title": "EssCurrentTimesheetsModel"
    },
    "ExpenseCategoryResponseModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "externalTaxCodeId": {
          "type": "string",
          "title": "String"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "ExpenseCategoryResponseModel"
      },
      "title": "ExpenseCategoryResponseModel"
    },
    "EssCurrentExpensesModel": {
      "type": "object",
      "properties": {
        "periodStarting": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "periodEnding": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "submittedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "approvedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "rejectedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "processedCount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "EssCurrentExpensesModel"
      },
      "title": "EssCurrentExpensesModel"
    },
    "EssCurrentShiftModel": {
      "type": "object",
      "properties": {
        "shiftId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "clockOnTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "breakStartTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "status": {
          "enum": [
            "NotClockedOn",
            "ClockedOn",
            "OnBreak",
            "ClockedOff"
          ],
          "type": "string",
          "title": "TimeAttendanceStatus"
        },
        "longShift": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EssCurrentShiftModel"
      },
      "title": "EssCurrentShiftModel"
    },
    "EssQualificationModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssQualificationModel"
      },
      "title": "EssQualificationModel"
    },
    "EssRosterShiftBreakModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "EssRosterShiftBreakModel"
      },
      "title": "EssRosterShiftBreakModel"
    },
    "EssRosterShiftSwapModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromEmployee": {
          "type": "string",
          "title": "String"
        },
        "toEmployee": {
          "type": "string",
          "title": "String"
        },
        "fromEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "toEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "rejectedReason": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "statusDescription": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssRosterShiftSwapModel"
      },
      "title": "EssRosterShiftSwapModel"
    },
    "EmployeeTimesheetFilter": {
      "required": [
        "fromDate",
        "toDate"
      ],
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "EmployeeTimesheetFilter"
      },
      "title": "EmployeeTimesheetFilter"
    },
    "EssTimesheetModel": {
      "type": "object",
      "properties": {
        "canDelete": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "canEdit": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "statusId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationName": {
          "type": "string",
          "title": "String"
        },
        "workTypeName": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "isUnitBasedWorkType": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "start": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "end": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedStart": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedEnd": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "status": {
          "enum": [
            "Missing",
            "Submitted",
            "Approved",
            "Rejected",
            "Processed"
          ],
          "type": "string",
          "title": "TimesheetLineStatusType"
        },
        "paySlipUrl": {
          "type": "string",
          "title": "String"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimesheetBreakViewModel"
          },
          "xml": {
            "name": "TimesheetBreakViewModel",
            "wrapped": true
          },
          "title": "IList<TimesheetBreakViewModel>"
        },
        "comments": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveRequestId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "isLocked": {
          "type": "boolean",
          "title": "Boolean"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "costingData": {
          "$ref": "#/definitions/ShiftCostingData"
        },
        "discard": {
          "type": "boolean",
          "title": "Boolean"
        },
        "attachment": {
          "$ref": "#/definitions/AttachmentModel"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "isOverlapping": {
          "type": "boolean",
          "title": "Boolean"
        },
        "overdrawsLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "reviewedBy": {
          "type": "string",
          "title": "String"
        },
        "durationOverride": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "workDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        },
        "breaksDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        },
        "totalDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        }
      },
      "xml": {
        "name": "EssTimesheetModel"
      },
      "title": "EssTimesheetModel"
    },
    "TimesheetBreakViewModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "start": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "end": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedStart": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedEnd": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "formattedStart": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "formattedEnd": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        }
      },
      "xml": {
        "name": "TimesheetBreakViewModel"
      },
      "title": "TimesheetBreakViewModel"
    },
    "ShiftCostingData": {
      "type": "object",
      "properties": {
        "shiftParts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftPartModel"
          },
          "xml": {
            "name": "ShiftPartModel",
            "wrapped": true
          },
          "title": "IList<ShiftPartModel>"
        },
        "allowances": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftAllowanceModel"
          },
          "xml": {
            "name": "ShiftAllowanceModel",
            "wrapped": true
          },
          "title": "IList<ShiftAllowanceModel>"
        },
        "liabilities": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftLiabilityModel"
          },
          "xml": {
            "name": "ShiftLiabilityModel",
            "wrapped": true
          },
          "title": "IList<ShiftLiabilityModel>"
        },
        "isConsolidated": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "ShiftCostingData"
      },
      "title": "ShiftCostingData"
    },
    "ShiftPartModel": {
      "type": "object",
      "properties": {
        "isBreak": {
          "type": "boolean",
          "title": "Boolean"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "effectiveDuration": {
          "type": "string",
          "title": "TimeSpan"
        },
        "actualDuration": {
          "type": "string",
          "title": "TimeSpan"
        },
        "payCategory": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "rateMultiplier": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "baseRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "calculatedRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "displayDuration": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "workType": {
          "$ref": "#/definitions/NominalWorkType"
        },
        "classification": {
          "$ref": "#/definitions/NominalClassification"
        },
        "leaveCategory": {
          "$ref": "#/definitions/NominalLeaveCategory"
        }
      },
      "xml": {
        "name": "ShiftPartModel"
      },
      "title": "ShiftPartModel"
    },
    "ShiftAllowanceModel": {
      "type": "object",
      "properties": {
        "payCategory": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "rateMultiplier": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "option": {
          "enum": [
            "Fixed",
            "PerHourWorked",
            "PercentageOfShiftCost",
            "PerShiftUnit"
          ],
          "type": "string",
          "title": "ShiftAllowanceOption"
        },
        "type": {
          "enum": [
            "Standard",
            "AllPurpose"
          ],
          "type": "string",
          "title": "ShiftAllowanceType"
        }
      },
      "xml": {
        "name": "ShiftAllowanceModel"
      },
      "title": "ShiftAllowanceModel"
    },
    "ShiftLiabilityModel": {
      "type": "object",
      "properties": {
        "liabilityCategoryName": {
          "type": "string",
          "title": "String"
        },
        "liabilityCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "includeInShiftCost": {
          "type": "boolean",
          "title": "Boolean"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "option": {
          "enum": [
            "Fixed",
            "PerHourWorked",
            "PercentageOfShiftCost",
            "PerShiftUnit"
          ],
          "type": "string",
          "title": "ShiftAllowanceOption"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ShiftLiabilityModel"
      },
      "title": "ShiftLiabilityModel"
    },
    "NominalWorkType": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "linkType": {
          "enum": [
            "PayCategory",
            "LeaveCategory",
            "ShiftCondition"
          ],
          "type": "string",
          "title": "WorkTypeLinkTypeRestriction"
        }
      },
      "xml": {
        "name": "NominalWorkType"
      },
      "title": "NominalWorkType"
    },
    "NominalClassification": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "rank": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "NominalClassification"
      },
      "title": "NominalClassification"
    },
    "NominalLeaveCategory": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "NominalLeaveCategory"
      },
      "title": "NominalLeaveCategory"
    },
    "TimesheetLineViewModel": {
      "type": "object",
      "properties": {
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationName": {
          "type": "string",
          "title": "String"
        },
        "workTypeName": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "isUnitBasedWorkType": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "start": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "end": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedStart": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "submittedEnd": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "status": {
          "enum": [
            "Missing",
            "Submitted",
            "Approved",
            "Rejected",
            "Processed"
          ],
          "type": "string",
          "title": "TimesheetLineStatusType"
        },
        "paySlipUrl": {
          "type": "string",
          "title": "String"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimesheetBreakViewModel"
          },
          "xml": {
            "name": "TimesheetBreakViewModel",
            "wrapped": true
          },
          "title": "IList<TimesheetBreakViewModel>"
        },
        "comments": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "payCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "leaveRequestId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "isLocked": {
          "type": "boolean",
          "title": "Boolean"
        },
        "cost": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "costingData": {
          "$ref": "#/definitions/ShiftCostingData"
        },
        "discard": {
          "type": "boolean",
          "title": "Boolean"
        },
        "attachment": {
          "$ref": "#/definitions/AttachmentModel"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "isOverlapping": {
          "type": "boolean",
          "title": "Boolean"
        },
        "overdrawsLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "reviewedBy": {
          "type": "string",
          "title": "String"
        },
        "durationOverride": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "workDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        },
        "breaksDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        },
        "totalDurationInMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Double"
        }
      },
      "xml": {
        "name": "TimesheetLineViewModel"
      },
      "title": "TimesheetLineViewModel"
    },
    "DeviceTokenModel": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "title": "String"
        },
        "platform": {
          "enum": [
            "iOS",
            "Android"
          ],
          "type": "string",
          "title": "MobilePlatform"
        }
      },
      "xml": {
        "name": "DeviceTokenModel"
      },
      "title": "DeviceTokenModel"
    },
    "TimeAndAttendanceLookupDataModel": {
      "type": "object",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LocationSelectModel"
          },
          "xml": {
            "name": "LocationSelectModel",
            "wrapped": true
          },
          "title": "IList<LocationSelectModel>"
        },
        "workTypes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkTypeSelectModel"
          },
          "xml": {
            "name": "WorkTypeSelectModel",
            "wrapped": true
          },
          "title": "IList<WorkTypeSelectModel>"
        },
        "classifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClassificationLookupModel"
          },
          "xml": {
            "name": "ClassificationLookupModel",
            "wrapped": true
          },
          "title": "IList<ClassificationLookupModel>"
        },
        "defaultLocation": {
          "$ref": "#/definitions/LocationSelectModel"
        },
        "shiftConditions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftConditionSelectModel"
          },
          "xml": {
            "name": "ShiftConditionSelectModel",
            "wrapped": true
          },
          "title": "IList<ShiftConditionSelectModel>"
        },
        "locationShiftConditions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LocationShiftConditionsModel"
          },
          "xml": {
            "name": "LocationShiftConditionsModel",
            "wrapped": true
          },
          "title": "IList<LocationShiftConditionsModel>"
        }
      },
      "xml": {
        "name": "TimeAndAttendanceLookupDataModel"
      },
      "title": "TimeAndAttendanceLookupDataModel"
    },
    "LocationSelectModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "LocationSelectModel"
      },
      "title": "LocationSelectModel"
    },
    "WorkTypeSelectModel": {
      "type": "object",
      "properties": {
        "isUnitBased": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isLeaveType": {
          "type": "boolean",
          "title": "Boolean"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "WorkTypeSelectModel"
      },
      "title": "WorkTypeSelectModel"
    },
    "ClassificationLookupModel": {
      "description": "temporary class until ClassificationSelectModel uses the same base class as the other two",
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ClassificationLookupModel"
      },
      "title": "ClassificationLookupModel"
    },
    "ShiftConditionSelectModel": {
      "type": "object",
      "properties": {
        "shortCode": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ShiftConditionSelectModel"
      },
      "title": "ShiftConditionSelectModel"
    },
    "LocationShiftConditionsModel": {
      "type": "object",
      "properties": {
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        }
      },
      "xml": {
        "name": "LocationShiftConditionsModel"
      },
      "title": "LocationShiftConditionsModel"
    },
    "ClockOnModel": {
      "type": "object",
      "properties": {
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "latitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "longitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "ipAddress": {
          "type": "string",
          "title": "String"
        },
        "image": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recordedTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "utcOffset": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "noteVisibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
        }
      },
      "xml": {
        "name": "ClockOnModel"
      },
      "title": "ClockOnModel"
    },
    "ClockOffModel": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "latitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "longitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "ipAddress": {
          "type": "string",
          "title": "String"
        },
        "image": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recordedTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "utcOffset": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "noteVisibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
        }
      },
      "xml": {
        "name": "ClockOffModel"
      },
      "title": "ClockOffModel"
    },
    "StartBreakModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "latitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "longitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "ipAddress": {
          "type": "string",
          "title": "String"
        },
        "image": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recordedTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "utcOffset": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "noteVisibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
        }
      },
      "xml": {
        "name": "StartBreakModel"
      },
      "title": "StartBreakModel"
    },
    "EndBreakModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "latitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "longitude": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "ipAddress": {
          "type": "string",
          "title": "String"
        },
        "image": {
          "format": "byte",
          "type": "string",
          "title": "Byte[]"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recordedTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "utcOffset": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        },
        "noteVisibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
        }
      },
      "xml": {
        "name": "EndBreakModel"
      },
      "title": "EndBreakModel"
    },
    "GetShiftsModel": {
      "type": "object",
      "properties": {
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "fromDateUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDateUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "GetShiftsModel"
      },
      "title": "GetShiftsModel"
    },
    "TimeAndAttendanceShiftModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "startTimeLocal": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "startTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTimeLocal": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationName": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationFullyQualifiedName": {
          "type": "string",
          "title": "String"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "workTypeName": {
          "type": "string",
          "title": "String"
        },
        "kioskId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "kioskName": {
          "type": "string",
          "title": "String"
        },
        "timesheetLineId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employee": {
          "$ref": "#/definitions/BasicKioskEmployeeModel"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimeAndAttendanceBreakModel"
          },
          "xml": {
            "name": "TimeAndAttendanceBreakModel",
            "wrapped": true
          },
          "title": "IList<TimeAndAttendanceBreakModel>"
        },
        "shiftConditions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShiftConditionModel"
          },
          "xml": {
            "name": "ShiftConditionModel",
            "wrapped": true
          },
          "title": "IList<ShiftConditionModel>"
        }
      },
      "xml": {
        "name": "TimeAndAttendanceShiftModel"
      },
      "title": "TimeAndAttendanceShiftModel"
    },
    "BasicKioskEmployeeModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "hasEmail": {
          "type": "boolean",
          "title": "Boolean"
        },
        "profileImageUrl": {
          "type": "string",
          "title": "String"
        },
        "hasProfileImage": {
          "type": "boolean",
          "title": "Boolean"
        },
        "mobileNumber": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "enum": [
            "NotClockedOn",
            "ClockedOn",
            "OnBreak",
            "ClockedOff"
          ],
          "type": "string",
          "title": "TimeAttendanceStatus"
        },
        "longShift": {
          "type": "boolean",
          "title": "Boolean"
        },
        "clockOnTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "breakStartTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "recordedTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "currentShiftId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "BasicKioskEmployeeModel"
      },
      "title": "BasicKioskEmployeeModel"
    },
    "TimeAndAttendanceBreakModel": {
      "type": "object",
      "properties": {
        "startTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "startTimeLocal": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTimeLocal": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "TimeAndAttendanceBreakModel"
      },
      "title": "TimeAndAttendanceBreakModel"
    },
    "ShiftConditionModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ShiftConditionModel"
      },
      "title": "ShiftConditionModel"
    },
    "AddNoteModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "type": {
          "enum": [
            "Shift",
            "ClockOn",
            "ClockOff"
          ],
          "type": "string",
          "title": "TimeAttendanceShiftNoteType"
        },
        "visibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "TimeAttendanceShiftNoteVisibility"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "AddNoteModel"
      },
      "title": "AddNoteModel"
    },
    "GetShiftNotesModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isAdminInitiated": {
          "type": "boolean",
          "title": "Boolean"
        },
        "type": {
          "enum": [
            "Shift",
            "ClockOn",
            "ClockOff"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteType>"
        },
        "visibility": {
          "enum": [
            "Hidden",
            "Visible"
          ],
          "type": "string",
          "title": "Nullable<TimeAttendanceShiftNoteVisibility>"
        }
      },
      "xml": {
        "name": "GetShiftNotesModel"
      },
      "title": "GetShiftNotesModel"
    },
    "MarkNotesReadViewModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "noteIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "Int32[]"
        },
        "read": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "MarkNotesReadViewModel"
      },
      "title": "MarkNotesReadViewModel"
    },
    "EssPaymentSummaryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "period": {
          "type": "string",
          "title": "String"
        },
        "isEtp": {
          "type": "boolean",
          "title": "Boolean"
        },
        "etpCode": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssPaymentSummaryModel"
      },
      "title": "EssPaymentSummaryModel"
    },
    "EssDocumentModel": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "String"
        },
        "friendlyName": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "EssDocumentModel"
      },
      "title": "EssDocumentModel"
    },
    "EmployeeUnavailabilityFilter": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "EmployeeUnavailabilityFilter"
      },
      "title": "EmployeeUnavailabilityFilter"
    },
    "EssUnavailabilityModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "reason": {
          "type": "string",
          "title": "String"
        },
        "recurring": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recurringDay": {
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string",
          "title": "Nullable<DayOfWeek>"
        },
        "isAllDay": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "viewOnly": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "EssUnavailabilityModel"
      },
      "title": "EssUnavailabilityModel"
    },
    "UnavailabilityEditModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "reason": {
          "type": "string",
          "title": "String"
        },
        "recurring": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recurringDay": {
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string",
          "title": "Nullable<DayOfWeek>"
        },
        "isAllDay": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "viewOnly": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "UnavailabilityEditModel"
      },
      "title": "UnavailabilityEditModel"
    },
    "AvailableEmployeeModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "businessId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "businessName": {
          "type": "string",
          "title": "String"
        },
        "jobTitle": {
          "type": "string",
          "title": "String"
        },
        "hasProfileImage": {
          "type": "boolean",
          "title": "Boolean"
        },
        "branding": {
          "$ref": "#/definitions/WhiteLabelBrandingModel"
        },
        "defaultLocationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "profileImageUrl": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "AvailableEmployeeModel"
      },
      "title": "AvailableEmployeeModel"
    },
    "WhiteLabelBrandingModel": {
      "type": "object",
      "properties": {
        "logoUrl": {
          "type": "string",
          "title": "String"
        },
        "backgroundImageUrl": {
          "type": "string",
          "title": "String"
        },
        "backgroundColour": {
          "type": "string",
          "title": "String"
        },
        "textColour": {
          "type": "string",
          "title": "String"
        },
        "textHoverColour": {
          "type": "string",
          "title": "String"
        },
        "textSecondaryColour": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "WhiteLabelBrandingModel"
      },
      "title": "WhiteLabelBrandingModel"
    },
    "RecoverPasswordModel": {
      "required": [
        "username"
      ],
      "type": "object",
      "properties": {
        "username": {
          "type": "string",
          "title": "String"
        },
        "messageType": {
          "enum": [
            "NewPaySlipAvailable",
            "NewUser",
            "RecoverPassword",
            "EmployeeAccess",
            "BusinessAccess",
            "CancelAccount",
            "Invoice",
            "InvoicePaymentSuccessNotification",
            "AutomatedPassword",
            "LeaveRequestNotification",
            "RestrictedAccess",
            "ResendPayslip",
            "PaymentSummaryAvailable",
            "SuperPaymentsUpdateResults",
            "InvoicePaymentFailedNotification",
            "NewShiftsPublished",
            "ShiftsUnpublished",
            "ShiftDeclined",
            "KioskAccessGranted",
            "DailyNotifications",
            "BsbDataImported",
            "InvoiceeCardDetailsRemoved",
            "WhiteLabelManagerAccess",
            "ResellerAccess",
            "DirectDepositReminder",
            "DataIntegrityCheckFailed",
            "ExpenseRequestNotification",
            "UnavailabilityNotification",
            "ReportPackGenerated",
            "ReportPackError",
            "SystemPublicHolidayImport",
            "TimesheetRejected",
            "ShiftRepublished",
            "PendingShiftsReminder",
            "EmployeeShiftActionTimeout",
            "InitiateEmployeeOnboarding",
            "FollowUpEmployeeOnboarding",
            "CompleteEmployeeOnboarding",
            "NewShiftsPreAccepted",
            "PayRunTaskNotification",
            "ShiftSwapCancelled",
            "BulkShiftSwapsCancelled",
            "ShiftSwapAwaitingApproval",
            "ShiftSwapProposed",
            "ShiftSwapAccepted",
            "ShiftSwapDeclined",
            "ShiftSwapRejected",
            "ShiftSwapApproved"
          ],
          "type": "string",
          "title": "MessageTypeEnum"
        }
      },
      "xml": {
        "name": "RecoverPasswordModel"
      },
      "title": "RecoverPasswordModel"
    },
    "EmployeeExpensePaymentSummaryModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "expenseCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "expenseCategoryName": {
          "type": "string",
          "title": "String"
        },
        "ytdAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "EmployeeExpensePaymentSummaryModel"
      },
      "title": "EmployeeExpensePaymentSummaryModel"
    },
    "EssExpenseRequestResponseModel": {
      "type": "object",
      "properties": {
        "canCancel": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "canModify": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "lineItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseRequestLineItemModel"
          },
          "xml": {
            "name": "ExpenseRequestLineItemModel",
            "wrapped": true
          },
          "title": "List<ExpenseRequestLineItemModel>"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttachmentModel"
          },
          "xml": {
            "name": "AttachmentModel",
            "wrapped": true
          },
          "title": "List<AttachmentModel>"
        },
        "statusUpdatedByUser": {
          "type": "string",
          "title": "String"
        },
        "statusUpdateNotes": {
          "type": "string",
          "title": "String"
        },
        "dateStatusUpdated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "EssExpenseRequestResponseModel"
      },
      "title": "EssExpenseRequestResponseModel"
    },
    "LeaveAllowanceModel": {
      "type": "object",
      "properties": {
        "leaveCategoryId": {
          "type": "string",
          "title": "String"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "hoursPerYear": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "automaticallyAccrues": {
          "type": "boolean",
          "title": "Boolean"
        },
        "leaveLoading": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "LeaveAllowanceModel"
      },
      "title": "LeaveAllowanceModel"
    },
    "SubmitEmployeeLeaveAllowancesRequest": {
      "type": "object",
      "properties": {
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "leaveCategoryIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "leaveAllowances": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/LeaveAllowanceModel"
            },
            "xml": {
              "name": "LeaveAllowanceModel",
              "wrapped": true
            },
            "title": "List<LeaveAllowanceModel>"
          },
          "title": "Dictionary<String,List`1>"
        }
      },
      "xml": {
        "name": "SubmitEmployeeLeaveAllowancesRequest"
      },
      "title": "SubmitEmployeeLeaveAllowancesRequest"
    },
    "ODataQueryOptions[LeaveAllowanceTemplate]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveAllowanceTemplate>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveAllowanceTemplate>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<LeaveAllowanceTemplate>"
    },
    "ODataQueryOptions[LeaveCategory]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveCategory>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveCategory>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<LeaveCategory>"
    },
    "LeaveCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "unitType": {
          "enum": [
            "Days",
            "Weeks",
            "HoursPerHourWorked",
            "HoursPerPayRun"
          ],
          "type": "string",
          "title": "LeaveAllowanceUnitEnum"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "automaticallyAccrues": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isPrivate": {
          "type": "boolean",
          "title": "Boolean"
        },
        "excludeFromTerminationPayout": {
          "type": "boolean",
          "title": "Boolean"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "leaveLoading": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "contingentPeriod": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "entitlementPeriod": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "isBalanceUntracked": {
          "type": "boolean",
          "title": "Boolean"
        },
        "leaveCategoryType": {
          "enum": [
            "Standard",
            "LongServiceLeave"
          ],
          "type": "string",
          "title": "LeaveCategoryTypeEnum"
        },
        "deductFromPrimaryPayCategory": {
          "type": "boolean",
          "title": "Boolean"
        },
        "deductFromPayCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "transferToPayCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "hideAccrualsOnPayslip": {
          "type": "boolean",
          "title": "Boolean"
        },
        "useDeductFromPayCategoryRate": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "LeaveCategoryModel"
      },
      "title": "LeaveCategoryModel"
    },
    "LeaveRequestFilterModel": {
      "type": "object",
      "properties": {
        "status": {
          "enum": [
            "Pending",
            "Approved",
            "Cancelled",
            "Rejected"
          ],
          "type": "string",
          "title": "Nullable<LeaveRequestStatus>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "groupBy": {
          "enum": [
            "Employee",
            "LeaveType"
          ],
          "type": "string",
          "title": "LeaveRequestGroupBy"
        },
        "restrictOverlappingLeave": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "LeaveRequestFilterModel"
      },
      "title": "LeaveRequestFilterModel"
    },
    "LeaveRequestResponseModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employee": {
          "type": "string",
          "title": "String"
        },
        "leaveCategory": {
          "type": "string",
          "title": "String"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "hoursApplied": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "attachmentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "LeaveRequestResponseModel"
      },
      "title": "LeaveRequestResponseModel"
    },
    "ODataQueryOptions[LeaveRequest]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveRequest>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<LeaveRequest>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<LeaveRequest>"
    },
    "ApiLeaveApplicationModel": {
      "required": [
        "fromDate",
        "toDate",
        "hours",
        "leaveCategoryId"
      ],
      "type": "object",
      "properties": {
        "automaticallyApprove": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "requireNotesForLeaveRequests": {
          "type": "boolean",
          "title": "Boolean"
        },
        "attachment": {
          "$ref": "#/definitions/AttachmentModel"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "hours": {
          "format": "double",
          "maximum": 2000,
          "type": "number",
          "title": "Decimal"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "notes": {
          "maxLength": 255,
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ApiLeaveApplicationModel"
      },
      "title": "ApiLeaveApplicationModel"
    },
    "DeclineLeaveRequest": {
      "type": "object",
      "properties": {
        "reason": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "DeclineLeaveRequest"
      },
      "title": "DeclineLeaveRequest"
    },
    "ODataQueryOptions[Location]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Location>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Location>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<Location>"
    },
    "NameIdPair": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "NameIdPair"
      },
      "title": "NameIdPair"
    },
    "EssDeclineRosterShiftModel": {
      "required": [
        "reason"
      ],
      "type": "object",
      "properties": {
        "reason": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EssDeclineRosterShiftModel"
      },
      "title": "EssDeclineRosterShiftModel"
    },
    "EssBulkAcceptRosterShiftsModel": {
      "type": "object",
      "properties": {
        "shifts": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        }
      },
      "xml": {
        "name": "EssBulkAcceptRosterShiftsModel"
      },
      "title": "EssBulkAcceptRosterShiftsModel"
    },
    "EssBulkDeclineRosterShiftsModel": {
      "required": [
        "reason"
      ],
      "type": "object",
      "properties": {
        "reason": {
          "type": "string",
          "title": "String"
        },
        "shifts": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        }
      },
      "xml": {
        "name": "EssBulkDeclineRosterShiftsModel"
      },
      "title": "EssBulkDeclineRosterShiftsModel"
    },
    "RosterShiftMatchingResultModel": {
      "type": "object",
      "properties": {
        "shift": {
          "$ref": "#/definitions/EssRosterShiftModel"
        }
      },
      "xml": {
        "name": "RosterShiftMatchingResultModel"
      },
      "title": "RosterShiftMatchingResultModel"
    },
    "SwapShiftModel": {
      "type": "object",
      "properties": {
        "rosterShiftId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "toEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "createdByUserId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "token": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SwapShiftModel"
      },
      "title": "SwapShiftModel"
    },
    "EssBulkRosterShiftSwapModel": {
      "type": "object",
      "properties": {
        "shifts": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        }
      },
      "xml": {
        "name": "EssBulkRosterShiftSwapModel"
      },
      "title": "EssBulkRosterShiftSwapModel"
    },
    "TasksReportRequestModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "status": {
          "enum": [
            "All",
            "Completed",
            "NotCompleted"
          ],
          "type": "string",
          "title": "TasksReportStatusEnum"
        }
      },
      "xml": {
        "name": "TasksReportRequestModel"
      },
      "title": "TasksReportRequestModel"
    },
    "TasksReportExportModel": {
      "type": "object",
      "properties": {
        "payRunTaskId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "taskDescription": {
          "type": "string",
          "title": "String"
        },
        "createdBy": {
          "type": "string",
          "title": "String"
        },
        "createdDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "completed": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TasksReportNoteModel"
          },
          "xml": {
            "name": "TasksReportNoteModel",
            "wrapped": true
          },
          "title": "List<TasksReportNoteModel>"
        },
        "completedBy": {
          "type": "string",
          "title": "String"
        },
        "completedDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "TasksReportExportModel"
      },
      "title": "TasksReportExportModel"
    },
    "TasksReportNoteModel": {
      "type": "object",
      "properties": {
        "username": {
          "type": "string",
          "title": "String"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "isVisibleToManager": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "TasksReportNoteModel"
      },
      "title": "TasksReportNoteModel"
    },
    "ShiftSwappingReportRequestModel": {
      "type": "object",
      "properties": {
        "fromEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "toEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "includeCosts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "statuses": {
          "type": "array",
          "items": {
            "enum": [
              "Created",
              "Cancelled",
              "Accepted",
              "Declined",
              "AwaitingManagerApproval",
              "ApprovedByManager",
              "RejectedByManager"
            ],
            "type": "string",
            "title": "RosterShiftSwapStatusEnum"
          },
          "xml": {
            "name": "RosterShiftSwapStatusEnum",
            "wrapped": true
          },
          "title": "IList<RosterShiftSwapStatusEnum>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "ShiftSwappingReportRequestModel"
      },
      "title": "ShiftSwappingReportRequestModel"
    },
    "ShiftSwappingReportExportModel": {
      "type": "object",
      "properties": {
        "fromEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromEmployeeName": {
          "type": "string",
          "title": "String"
        },
        "toEmployeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "toEmployeeName": {
          "type": "string",
          "title": "String"
        },
        "start": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "startTime": {
          "type": "string",
          "title": "TimeSpan"
        },
        "end": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "type": "string",
          "title": "TimeSpan"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "workTypeId": {
          "type": "string",
          "title": "String"
        },
        "workType": {
          "type": "string",
          "title": "String"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "oldCost": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "newCost": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        }
      },
      "xml": {
        "name": "ShiftSwappingReportExportModel"
      },
      "title": "ShiftSwappingReportExportModel"
    },
    "ODataQueryOptions[PayCategory]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayCategory>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayCategory>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<PayCategory>"
    },
    "PayCategoryModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "parentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "rateUnit": {
          "enum": [
            "Hourly",
            "Annually",
            "Fixed",
            "Daily"
          ],
          "type": "string",
          "title": "RateUnitEnum"
        },
        "accruesLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "defaultSuperRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "rateLoadingPercent": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "penaltyLoadingPercent": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isTaxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isPayrollTaxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "generalLedgerMappingCode": {
          "type": "string",
          "title": "String"
        },
        "superExpenseMappingCode": {
          "type": "string",
          "title": "String"
        },
        "superLiabilityMappingCode": {
          "type": "string",
          "title": "String"
        },
        "isSystemPayCategory": {
          "type": "boolean",
          "title": "Boolean"
        },
        "numberOfDecimalPlaces": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "paymentSummaryClassification": {
          "enum": [
            "Default",
            "Allowance",
            "LumpSumATypeR",
            "LumpSumATypeT",
            "LumpSumB",
            "LumpSumD",
            "LumpSumE",
            "Exclude",
            "Cdep",
            "ExemptForeignEmploymentIncome"
          ],
          "type": "string",
          "title": "Nullable<PayCategoryPaymentSummaryClassification>"
        }
      },
      "xml": {
        "name": "PayCategoryModel"
      },
      "title": "PayCategoryModel"
    },
    "ODataQueryOptions[PaygPaymentSummarySnapshot]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PaygPaymentSummarySnapshot>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PaygPaymentSummarySnapshot>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<PaygPaymentSummarySnapshot>"
    },
    "PaygPaymentSummaryModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "dateGenerated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "paymentSummaryType": {
          "enum": [
            "BusinessAndPersonalServicesIncome",
            "EmployeeTerminationPayment",
            "ForeignEmployment",
            "IndividualNonBusiness",
            "SuperannuationIncomeStream",
            "SuperannuationLumpSum"
          ],
          "type": "string",
          "title": "PaygPaymentSummaryTypeEnum"
        },
        "status": {
          "enum": [
            "Generated",
            "Published",
            "Unpublished"
          ],
          "type": "string",
          "title": "PaygPaymentSummaryStatus"
        },
        "etpCode": {
          "type": "string",
          "title": "String"
        },
        "isAmended": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payeeName": {
          "type": "string",
          "title": "String"
        },
        "payeeAddress": {
          "type": "string",
          "title": "String"
        },
        "payeeAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "payeeSuburb": {
          "type": "string",
          "title": "String"
        },
        "payeePostCode": {
          "type": "string",
          "title": "String"
        },
        "payeeState": {
          "type": "string",
          "title": "String"
        },
        "paymentPeriodStart": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "paymentPeriodEnd": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "financialYearStart": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "financialYearEnd": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "payeeTaxFileNumber": {
          "type": "string",
          "title": "String"
        },
        "totalTaxWithheld": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "grossPayments": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "cdepPayments": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fringeBenefits": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isExemptFromFringeBenefitsTax": {
          "type": "boolean",
          "title": "Nullable<Boolean>"
        },
        "employerSuperContributions": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "totalAllowances": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumA": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumB": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumD": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumE": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumAType": {
          "type": "string",
          "title": "String"
        },
        "notReportedAmount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "allowances": {
          "type": "object",
          "additionalProperties": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "Dictionary<String,Int32>"
        },
        "unionFeeDeductions": {
          "type": "object",
          "additionalProperties": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "Dictionary<String,Int32>"
        },
        "workplaceGiving": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "exemptForeignEmploymentIncome": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "deductibleAmountOfUndeductedAnnuityPrice": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "otherAmounts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OtherAmounts"
          },
          "xml": {
            "name": "OtherAmounts",
            "wrapped": true
          },
          "title": "IList<OtherAmounts>"
        },
        "payerABN": {
          "type": "string",
          "title": "String"
        },
        "payerName": {
          "type": "string",
          "title": "String"
        },
        "payerBranch": {
          "type": "string",
          "title": "String"
        },
        "payerSignatory": {
          "type": "string",
          "title": "String"
        },
        "paymentDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "isTransitionalTerminationPayment": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isPartOfEarlierPayment": {
          "type": "boolean",
          "title": "Boolean"
        },
        "taxableComponent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxFreeComponent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payeeABN": {
          "type": "string",
          "title": "String"
        },
        "paymentType": {
          "type": "string",
          "title": "String"
        },
        "grossPaymentType": {
          "type": "string",
          "title": "String"
        },
        "foreignTaxPaid": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxableComponentTaxedElement": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxableComponentUntaxedElement": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxableComponentTaxFreeComponent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "taxableComponentTaxOffsetAmount": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumInArrearsTaxedElement": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumInArrearsUntaxedElement": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "lumpSumInArrearsTaxFreeComponent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isDeathBenefit": {
          "type": "boolean",
          "title": "Boolean"
        },
        "deathBenefitType": {
          "type": "string",
          "title": "String"
        },
        "inputGrossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "inputPreTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalDeductions": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PaygPaymentSummaryModel"
      },
      "title": "PaygPaymentSummaryModel"
    },
    "OtherAmounts": {
      "type": "object",
      "properties": {
        "workPlaceGiving": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "exemptForeignExemptIncome": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "deductibleAmountOfUndeductedAnnuityPrice": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "OtherAmounts"
      },
      "title": "OtherAmounts"
    },
    "ODataQueryOptions[PayRateTemplate]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayRateTemplate>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayRateTemplate>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<PayRateTemplate>"
    },
    "PayRunEmployeeExpenseResponse": {
      "type": "object",
      "properties": {
        "employeeExpenses": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EmployeeExpenseModel"
            },
            "xml": {
              "name": "EmployeeExpenseModel",
              "wrapped": true
            },
            "title": "List<EmployeeExpenseModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunEmployeeExpenseResponse"
      },
      "example": {
        "employeeExpenses": {
          "12345": [
            {
              "employeeExpenseCategoryId": "98",
              "employeeExpenseCategoryName": "My expense category",
              "notes": "Some notes",
              "amount": 12.34,
              "taxCode": "42rty",
              "taxRate": 0.5,
              "taxCodeDisplayName": "Tax Code Display",
              "id": 0,
              "externalId": null,
              "locationId": "39",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunEmployeeExpenseResponse"
    },
    "EmployeeExpenseModel": {
      "type": "object",
      "properties": {
        "employeeExpenseCategoryId": {
          "type": "string",
          "title": "String"
        },
        "employeeExpenseCategoryName": {
          "type": "string",
          "title": "String"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "taxRate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "taxCodeDisplayName": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeExpenseModel"
      },
      "title": "EmployeeExpenseModel"
    },
    "SubmitPayRunEmployeeExpenseRequest": {
      "type": "object",
      "properties": {
        "locationIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "employeeExpenseCategoryIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "expenses": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EmployeeExpenseModel"
            },
            "xml": {
              "name": "EmployeeExpenseModel",
              "wrapped": true
            },
            "title": "List<EmployeeExpenseModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunEmployeeExpenseRequest"
      },
      "title": "SubmitPayRunEmployeeExpenseRequest"
    },
    "PayRunDetailsModel": {
      "type": "object",
      "properties": {
        "payRun": {
          "$ref": "#/definitions/PayRunModel"
        },
        "payRunTotals": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PayRunTotalGridModel"
          },
          "xml": {
            "name": "PayRunTotalGridModel",
            "wrapped": true
          },
          "title": "IList<PayRunTotalGridModel>"
        },
        "grandTotal": {
          "$ref": "#/definitions/PayRunGrandTotalModel"
        }
      },
      "xml": {
        "name": "PayRunDetailsModel"
      },
      "title": "PayRunDetailsModel"
    },
    "PayRunModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "dateFinalised": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payPeriodStarting": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "payPeriodEnding": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "isFinalised": {
          "type": "boolean",
          "title": "Boolean"
        },
        "paySlipsPublished": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notation": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunModel"
      },
      "title": "PayRunModel"
    },
    "PayRunTotalGridModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithholdingAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithholdingPercent": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "sfssAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "helpAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContributionMinusSuperAdjustments": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "allSuperContributionsTotal": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossPlusSuper": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "payConditionRuleSetName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "isTermination": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notation": {
          "type": "string",
          "title": "String"
        },
        "employeeStartDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "employeeExternalReferenceId": {
          "type": "string",
          "title": "String"
        },
        "isExcluded": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        },
        "superAdjustmentsAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "salarySacrificeSuperAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "memberVoluntarySuperAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "nonSuperDeductionTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superPaymentsTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "bankPaymentsTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "terminationDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "earliestTerminationDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "previousTerminationDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "employeeExpensesTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerLiabilitiesTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isEmployeeUnder18": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employerContributionAdjustmentsAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygAdjustmentsAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContributionsCapApplied": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isComplete": {
          "type": "boolean",
          "title": "Boolean"
        },
        "paygPaymentTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PayRunTotalGridModel"
      },
      "title": "PayRunTotalGridModel"
    },
    "PayRunGrandTotalModel": {
      "type": "object",
      "properties": {
        "numberOfEmployees": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithholdingAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfssAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "helpAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employeeExpensesTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerLiabilitiesTotal": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PayRunGrandTotalModel"
      },
      "title": "PayRunGrandTotalModel"
    },
    "TerminateEmployeeRequest": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "TerminateEmployeeRequest"
      },
      "title": "TerminateEmployeeRequest"
    },
    "ApiPaySlipModel": {
      "type": "object",
      "properties": {
        "totalAccruedLeave": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipLeaveModel"
          },
          "xml": {
            "name": "ApiPaySlipLeaveModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipLeaveModel>"
        },
        "accruedLeave": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipLeaveModel"
          },
          "xml": {
            "name": "ApiPaySlipLeaveModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipLeaveModel>"
        },
        "leaveTaken": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipLeaveModel"
          },
          "xml": {
            "name": "ApiPaySlipLeaveModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipLeaveModel>"
        },
        "paygAdjustments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipPaygAdjustmentModel"
          },
          "xml": {
            "name": "ApiPaySlipPaygAdjustmentModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipPaygAdjustmentModel>"
        },
        "superAdjustments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipSuperAdjustmentModel"
          },
          "xml": {
            "name": "ApiPaySlipSuperAdjustmentModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipSuperAdjustmentModel>"
        },
        "earningsLines": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipEarningsLineModel"
          },
          "xml": {
            "name": "ApiPaySlipEarningsLineModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipEarningsLineModel>"
        },
        "deductions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipDeductionModel"
          },
          "xml": {
            "name": "ApiPaySlipDeductionModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipDeductionModel>"
        },
        "superPayments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipSuperPaymentModel"
          },
          "xml": {
            "name": "ApiPaySlipSuperPaymentModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipSuperPaymentModel>"
        },
        "bankPayments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiPaySlipBankPaymentModel"
          },
          "xml": {
            "name": "ApiPaySlipBankPaymentModel",
            "wrapped": true
          },
          "title": "IList<ApiPaySlipBankPaymentModel>"
        },
        "grossYTDDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiYearToDateEarningsBreakdownModel"
          },
          "xml": {
            "name": "ApiYearToDateEarningsBreakdownModel",
            "wrapped": true
          },
          "title": "IList<ApiYearToDateEarningsBreakdownModel>"
        },
        "employeeExpenses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ApiEmployeeExpenseGridModel"
          },
          "xml": {
            "name": "ApiEmployeeExpenseGridModel",
            "wrapped": true
          },
          "title": "IList<ApiEmployeeExpenseGridModel>"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithholdingAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfssAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "helpAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductionAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "businessName": {
          "type": "string",
          "title": "String"
        },
        "businessAddress": {
          "type": "string",
          "title": "String"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "contactName": {
          "type": "string",
          "title": "String"
        },
        "payPeriodStarting": {
          "type": "string",
          "title": "String"
        },
        "payPeriodEnding": {
          "type": "string",
          "title": "String"
        },
        "message": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeFirstName": {
          "type": "string",
          "title": "String"
        },
        "employeeSurname": {
          "type": "string",
          "title": "String"
        },
        "employeePostalStreetAddress": {
          "type": "string",
          "title": "String"
        },
        "employeePostalAddressLine2": {
          "type": "string",
          "title": "String"
        },
        "employeePostalSuburbName": {
          "type": "string",
          "title": "String"
        },
        "employeePostalSuburbPostcode": {
          "type": "string",
          "title": "String"
        },
        "employeePostalSuburbState": {
          "type": "string",
          "title": "String"
        },
        "notation": {
          "type": "string",
          "title": "String"
        },
        "isPublished": {
          "type": "boolean",
          "title": "Boolean"
        },
        "grossYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarningsYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "basePayRate": {
          "type": "string",
          "title": "String"
        },
        "baseRate": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "hourlyRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductionsYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductionsYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfssYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "helpYTD": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employeeBaseRate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employeeBaseRateUnit": {
          "enum": [
            "Hourly",
            "Annually",
            "Fixed",
            "Daily"
          ],
          "type": "string",
          "title": "RateUnitEnum"
        }
      },
      "xml": {
        "name": "ApiPaySlipModel"
      },
      "title": "ApiPaySlipModel"
    },
    "ApiPaySlipLeaveModel": {
      "type": "object",
      "properties": {
        "leaveCategory": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ApiPaySlipLeaveModel"
      },
      "title": "ApiPaySlipLeaveModel"
    },
    "ApiPaySlipPaygAdjustmentModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ApiPaySlipPaygAdjustmentModel"
      },
      "title": "ApiPaySlipPaygAdjustmentModel"
    },
    "ApiPaySlipSuperAdjustmentModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ApiPaySlipSuperAdjustmentModel"
      },
      "title": "ApiPaySlipSuperAdjustmentModel"
    },
    "ApiPaySlipEarningsLineModel": {
      "type": "object",
      "properties": {
        "payCategoryName": {
          "type": "string",
          "title": "String"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isFixed": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isTaxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ApiPaySlipEarningsLineModel"
      },
      "title": "ApiPaySlipEarningsLineModel"
    },
    "ApiPaySlipDeductionModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxStatus": {
          "type": "string",
          "title": "String"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ApiPaySlipDeductionModel"
      },
      "title": "ApiPaySlipDeductionModel"
    },
    "ApiPaySlipSuperPaymentModel": {
      "type": "object",
      "properties": {
        "fundName": {
          "type": "string",
          "title": "String"
        },
        "memberNumber": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ApiPaySlipSuperPaymentModel"
      },
      "title": "ApiPaySlipSuperPaymentModel"
    },
    "ApiPaySlipBankPaymentModel": {
      "type": "object",
      "properties": {
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "lodgementReference": {
          "type": "string",
          "title": "String"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ApiPaySlipBankPaymentModel"
      },
      "title": "ApiPaySlipBankPaymentModel"
    },
    "ApiYearToDateEarningsBreakdownModel": {
      "type": "object",
      "properties": {
        "payCategoryName": {
          "type": "string",
          "title": "String"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ApiYearToDateEarningsBreakdownModel"
      },
      "title": "ApiYearToDateEarningsBreakdownModel"
    },
    "ApiEmployeeExpenseGridModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeExpenseCategoryName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ApiEmployeeExpenseGridModel"
      },
      "title": "ApiEmployeeExpenseGridModel"
    },
    "PayRunEarningsLineResponse": {
      "type": "object",
      "properties": {
        "earningsLines": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EarningsLineModel"
            },
            "xml": {
              "name": "EarningsLineModel",
              "wrapped": true
            },
            "title": "List<EarningsLineModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunEarningsLineResponse"
      },
      "example": {
        "earningsLines": {
          "12345": [
            {
              "payCategoryId": "1",
              "payCategoryName": "Full Time - Standard",
              "units": 40.0,
              "notes": "Some notes",
              "rate": 31.25,
              "earnings": 1250.0,
              "super": 0.0,
              "sfss": 0.0,
              "help": 65.12,
              "payg": 263.0,
              "lumpSumNumberOfPayPeriods": 0.0,
              "timesheetLineId": null,
              "id": 0,
              "externalId": null,
              "locationId": "39",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            },
            {
              "payCategoryId": "3",
              "payCategoryName": "Bonus",
              "units": 1.0,
              "notes": "Some notes",
              "rate": 1000.0,
              "earnings": 1000.0,
              "super": 106.38,
              "sfss": 0.0,
              "help": 0.0,
              "payg": 229.0,
              "lumpSumNumberOfPayPeriods": 1.0,
              "timesheetLineId": null,
              "id": 0,
              "externalId": null,
              "locationId": "39",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunEarningsLineResponse"
    },
    "EarningsLineModel": {
      "type": "object",
      "properties": {
        "payCategoryId": {
          "type": "string",
          "title": "String"
        },
        "payCategoryName": {
          "type": "string",
          "title": "String"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "earnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "super": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfss": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "help": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "payg": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "lumpSumNumberOfPayPeriods": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "timesheetLineId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EarningsLineModel"
      },
      "title": "EarningsLineModel"
    },
    "SubmitPayRunEarningsLineRequest": {
      "type": "object",
      "properties": {
        "locationIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "payCategoryIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "earningsLines": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EarningsLineModel"
            },
            "xml": {
              "name": "EarningsLineModel",
              "wrapped": true
            },
            "title": "List<EarningsLineModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunEarningsLineRequest"
      },
      "title": "SubmitPayRunEarningsLineRequest"
    },
    "PayRunTotalModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithheld": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfssWithheld": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "helpWithheld": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalEmployeeExpenses": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalEmployerLiabilities": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "isPublished": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "notation": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunTotalModel"
      },
      "title": "PayRunTotalModel"
    },
    "LeaveAccrualResponse": {
      "type": "object",
      "properties": {
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leave": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/LeaveAccrualModel"
            },
            "xml": {
              "name": "LeaveAccrualModel",
              "wrapped": true
            },
            "title": "List<LeaveAccrualModel>"
          },
          "title": "Dictionary<String,List`1>"
        }
      },
      "xml": {
        "name": "LeaveAccrualResponse"
      },
      "example": {
        "payRunId": 999,
        "leave": {
          "12345": [
            {
              "id": 1234,
              "leaveCategoryName": "Annual Leave",
              "leaveCategoryId": "123",
              "amount": 3.07654,
              "notes": null,
              "accrualType": "AutomaticallyAccrued"
            },
            {
              "id": 1235,
              "leaveCategoryName": "Sick Leave",
              "leaveCategoryId": "124",
              "amount": 1.0345,
              "notes": "Some notes",
              "accrualType": "AutomaticallyAccrued"
            }
          ]
        }
      },
      "title": "LeaveAccrualResponse"
    },
    "LeaveAccrualModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "leaveCategoryId": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "accrualType": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "LeaveAccrualModel"
      },
      "title": "LeaveAccrualModel"
    },
    "SubmitLeaveAccrualsModel": {
      "type": "object",
      "properties": {
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        },
        "leave": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SaveLeaveAccrualModel"
            },
            "xml": {
              "name": "SaveLeaveAccrualModel",
              "wrapped": true
            },
            "title": "List<SaveLeaveAccrualModel>"
          },
          "title": "Dictionary<String,List`1>"
        }
      },
      "xml": {
        "name": "SubmitLeaveAccrualsModel"
      },
      "title": "SubmitLeaveAccrualsModel"
    },
    "SaveLeaveAccrualModel": {
      "type": "object",
      "properties": {
        "accrualType": {
          "enum": [
            "LeaveAccrued",
            "LeaveTaken",
            "LeaveAdjustment"
          ],
          "type": "string",
          "title": "SaveLeaveAccrualTypeEnum"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "applyLeaveLoading": {
          "type": "boolean",
          "title": "Boolean"
        },
        "adjustEarnings": {
          "type": "boolean",
          "title": "Boolean"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SaveLeaveAccrualModel"
      },
      "title": "SaveLeaveAccrualModel"
    },
    "PayRunPaygAdjustmentResponse": {
      "type": "object",
      "properties": {
        "paygAdjustments": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/PaygAdjustmentModel"
            },
            "xml": {
              "name": "PaygAdjustmentModel",
              "wrapped": true
            },
            "title": "List<PaygAdjustmentModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunPaygAdjustmentResponse"
      },
      "example": {
        "paygAdjustments": {
          "12345": [
            {
              "notes": "Some notes",
              "amount": 12.34,
              "id": 0,
              "externalId": "Axb34",
              "locationId": "34456",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunPaygAdjustmentResponse"
    },
    "PaygAdjustmentModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PaygAdjustmentModel"
      },
      "title": "PaygAdjustmentModel"
    },
    "SubmitPayRunPaygAdjustmentRequest": {
      "type": "object",
      "properties": {
        "paygAdjustments": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/PaygAdjustmentModel"
            },
            "xml": {
              "name": "PaygAdjustmentModel",
              "wrapped": true
            },
            "title": "List<PaygAdjustmentModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunPaygAdjustmentRequest"
      },
      "title": "SubmitPayRunPaygAdjustmentRequest"
    },
    "PayRunSuperAdjustmentResponse": {
      "type": "object",
      "properties": {
        "superAdjustments": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SuperAdjustmentModel"
            },
            "xml": {
              "name": "SuperAdjustmentModel",
              "wrapped": true
            },
            "title": "List<SuperAdjustmentModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunSuperAdjustmentResponse"
      },
      "example": {
        "superAdjustments": {
          "12345": [
            {
              "notes": "Some notes",
              "amount": 12.34,
              "contributionType": "Employer Contribution",
              "id": 0,
              "externalId": "Axb34",
              "locationId": "34456",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunSuperAdjustmentResponse"
    },
    "SuperAdjustmentModel": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "contributionType": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SuperAdjustmentModel"
      },
      "title": "SuperAdjustmentModel"
    },
    "SubmitPayRunSuperAdjustmentRequest": {
      "type": "object",
      "properties": {
        "superAdjustments": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SuperAdjustmentModel"
            },
            "xml": {
              "name": "SuperAdjustmentModel",
              "wrapped": true
            },
            "title": "List<SuperAdjustmentModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunSuperAdjustmentRequest"
      },
      "title": "SubmitPayRunSuperAdjustmentRequest"
    },
    "PayRunUnlockRequest": {
      "type": "object",
      "properties": {
        "comments": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunUnlockRequest"
      },
      "title": "PayRunUnlockRequest"
    },
    "ODataQueryOptions[PayRun]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayRun>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayRun>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<PayRun>"
    },
    "PayRunCreateRequest": {
      "type": "object",
      "properties": {
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payPeriodEnding": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "timesheetImportOption": {
          "enum": [
            "None",
            "ThisPayPeriod",
            "AllOutstanding"
          ],
          "type": "string",
          "title": "Nullable<TimesheetImportOption>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "callbackUrl": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunCreateRequest"
      },
      "title": "PayRunCreateRequest"
    },
    "PayRunNotationModel": {
      "type": "object",
      "properties": {
        "notation": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunNotationModel"
      },
      "title": "PayRunNotationModel"
    },
    "PayRunEmployerLiabilityResponse": {
      "type": "object",
      "properties": {
        "employerLiabilities": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EmployerLiabilityModel"
            },
            "xml": {
              "name": "EmployerLiabilityModel",
              "wrapped": true
            },
            "title": "List<EmployerLiabilityModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunEmployerLiabilityResponse"
      },
      "example": {
        "employerLiabilities": {
          "12345": [
            {
              "employerLiabilityCategoryId": "98",
              "employerLiabilityCategoryName": "My employer liability category",
              "notes": "Some notes",
              "amount": 12.34,
              "id": 0,
              "externalId": "Axb34",
              "locationId": "34456",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunEmployerLiabilityResponse"
    },
    "EmployerLiabilityModel": {
      "type": "object",
      "properties": {
        "employerLiabilityCategoryId": {
          "type": "string",
          "title": "String"
        },
        "employerLiabilityCategoryName": {
          "type": "string",
          "title": "String"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployerLiabilityModel"
      },
      "title": "EmployerLiabilityModel"
    },
    "SubmitPayRunEmployerLiabilityRequest": {
      "type": "object",
      "properties": {
        "employerLiabilityCategoryIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "employerLiabilities": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/EmployerLiabilityModel"
            },
            "xml": {
              "name": "EmployerLiabilityModel",
              "wrapped": true
            },
            "title": "List<EmployerLiabilityModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunEmployerLiabilityRequest"
      },
      "title": "SubmitPayRunEmployerLiabilityRequest"
    },
    "FinalisePayRunOptions": {
      "type": "object",
      "properties": {
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "exportJournals": {
          "type": "boolean",
          "title": "Boolean"
        },
        "publishPaySlips": {
          "enum": [
            "Manual",
            "Immediate",
            "Scheduled"
          ],
          "type": "string",
          "title": "PublishPaySlipsPreference"
        },
        "publishPaySlipsDateTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "suppressNotifications": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "FinalisePayRunOptions"
      },
      "title": "FinalisePayRunOptions"
    },
    "PayRunFinaliseResult": {
      "type": "object",
      "properties": {
        "journalExportResult": {
          "$ref": "#/definitions/JournalExportResult"
        },
        "journalExportFailedMessage": {
          "type": "string",
          "title": "String"
        },
        "removedEmployees": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "notifications": {
          "$ref": "#/definitions/PaySlipNotificationResponse"
        },
        "paySlipsPublished": {
          "type": "boolean",
          "title": "Boolean"
        },
        "publishPreference": {
          "enum": [
            "Manual",
            "Immediate",
            "Scheduled"
          ],
          "type": "string",
          "title": "PublishPaySlipsPreference"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "exportJournalsPreference": {
          "type": "boolean",
          "title": "Boolean"
        },
        "publishPaySlipsScheduledDateTimeUtc": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "publishPreferenceTimeOfDay": {
          "type": "string",
          "title": "Nullable<TimeSpan>"
        }
      },
      "xml": {
        "name": "PayRunFinaliseResult"
      },
      "title": "PayRunFinaliseResult"
    },
    "JournalExportResult": {
      "type": "object",
      "properties": {
        "status": {
          "enum": [
            "NotExported",
            "Success",
            "FailureUnknownError",
            "FailureAccountsNotConfigured",
            "FailureInvalidAccounts",
            "FailureAccountPeriodClosed",
            "FailureNotAuthenticated",
            "FailureAlreadyExported",
            "FailureFunctionDisabled",
            "FailureCannotUseAccountsPayableAccount",
            "FailureVendorMessage"
          ],
          "type": "string",
          "title": "JournalExportStatus"
        },
        "message": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "JournalExportResult"
      },
      "title": "JournalExportResult"
    },
    "PaySlipNotificationResponse": {
      "type": "object",
      "properties": {
        "totalEmailNotificationsSent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "totalSmsNotificationsSent": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "errors": {
          "$ref": "#/definitions/PayRunWarningResult"
        },
        "hasPartiallySentNotifications": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "PaySlipNotificationResponse"
      },
      "title": "PaySlipNotificationResponse"
    },
    "PayRunWarningResult": {
      "type": "object",
      "properties": {
        "warningMessage": {
          "type": "string",
          "title": "String"
        },
        "warnings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PayRunWarning"
          },
          "xml": {
            "name": "PayRunWarning",
            "wrapped": true
          },
          "title": "List<PayRunWarning>"
        },
        "templateName": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunWarningResult"
      },
      "title": "PayRunWarningResult"
    },
    "PayRunWarning": {
      "type": "object",
      "properties": {
        "warningType": {
          "enum": [
            "Aba",
            "MoreLeaveThanAccrued",
            "UnpaidEarnings",
            "Birthday",
            "Anniversary",
            "NegativeEarnings",
            "PreviouslyTerminated",
            "TerminatedWithExpenseReimbursements",
            "ExpiredQualification",
            "DuplicateEarningsLines",
            "TaxCodeMissing",
            "Bpay"
          ],
          "type": "string",
          "title": "PayRunWarningType"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "warning": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "payRunTotalId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunWarning"
      },
      "title": "PayRunWarning"
    },
    "JournalItemResponse": {
      "type": "object",
      "properties": {
        "externalAccountReferenceId": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "amountUnrounded": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "reference": {
          "type": "string",
          "title": "String"
        },
        "journalItemType": {
          "enum": [
            "Asset",
            "PaygExpense",
            "PaygLiability",
            "SuperExpense",
            "SuperLiability",
            "DefaultExpense",
            "WagesExpense",
            "DefaultSalarySacrificeExpense",
            "DefaultSalarySacrificeLiability",
            "DefaultDeductionExpense",
            "DefaultDeductionLiability",
            "DefaultEmployerLiabilityExpense",
            "DefaultEmployerLiabilityLiability",
            "DeductionExpense",
            "DeductionLiability",
            "DeductionAsset",
            "DefaultEmployeeExpense",
            "EmployeeExpense",
            "PreTaxDeductionLiability",
            "PostTaxDeductionLiability",
            "EmployerLiabilityExpense",
            "EmployerLiabilityLiability",
            "W1ExemptWagesExpense",
            "PreTaxDeductionAsset"
          ],
          "type": "string",
          "title": "JournalItemType"
        },
        "taxCode": {
          "type": "string",
          "title": "String"
        },
        "accountCode": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "details": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "isCredit": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isDebit": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "JournalItemResponse"
      },
      "title": "JournalItemResponse"
    },
    "SetPayRunUIUnlockStateRequest": {
      "type": "object",
      "properties": {
        "enableUIUnlock": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SetPayRunUIUnlockStateRequest"
      },
      "title": "SetPayRunUIUnlockStateRequest"
    },
    "PayRunTotalResponse": {
      "type": "object",
      "properties": {
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payRunTotals": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/PayRunTotalModel"
          },
          "title": "Dictionary<String,PayRunTotalModel>"
        }
      },
      "xml": {
        "name": "PayRunTotalResponse"
      },
      "title": "PayRunTotalResponse"
    },
    "PayRunTotalNotationModel": {
      "type": "object",
      "properties": {
        "notation": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "PayRunTotalNotationModel"
      },
      "title": "PayRunTotalNotationModel"
    },
    "PayRunDeductionResponse": {
      "type": "object",
      "properties": {
        "deductions": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/DeductionModel"
            },
            "xml": {
              "name": "DeductionModel",
              "wrapped": true
            },
            "title": "List<DeductionModel>"
          },
          "readOnly": true,
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PayRunDeductionResponse"
      },
      "example": {
        "deductions": {
          "12345": [
            {
              "deductionCategoryId": "98",
              "deductionCategoryName": "My deduction category",
              "amount": 12.34,
              "notes": "Some notes",
              "paymentReference": "Payment Reference",
              "payToBankAccountBSB": null,
              "payToBankAccountNumber": null,
              "payToSuperFundName": "My Super Account",
              "payToSuperFundMemberNumber": "100000",
              "payTo": "SuperFund",
              "id": 0,
              "externalId": null,
              "locationId": "39",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            },
            {
              "deductionCategoryId": "98",
              "deductionCategoryName": "My deduction category",
              "amount": 16.12,
              "notes": "Some notes",
              "paymentReference": "Payment Reference",
              "payToBankAccountBSB": "100000",
              "payToBankAccountNumber": "987654321",
              "payToSuperFundName": null,
              "payToSuperFundMemberNumber": null,
              "payTo": "BankAccount",
              "id": 0,
              "externalId": null,
              "locationId": "39",
              "locationName": "My Location",
              "employeeId": "12345",
              "employeeName": "Bob Bobberson",
              "employeeExternalId": "EMP01"
            }
          ]
        },
        "payRunId": 999
      },
      "title": "PayRunDeductionResponse"
    },
    "DeductionModel": {
      "type": "object",
      "properties": {
        "deductionCategoryId": {
          "type": "string",
          "title": "String"
        },
        "deductionCategoryName": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "paymentReference": {
          "type": "string",
          "title": "String"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "payToBankAccountBSB": {
          "type": "string",
          "title": "String"
        },
        "payToBankAccountNumber": {
          "type": "string",
          "title": "String"
        },
        "payToSuperFundName": {
          "type": "string",
          "title": "String"
        },
        "payToSuperFundMemberNumber": {
          "type": "string",
          "title": "String"
        },
        "payTo": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "type": "string",
          "title": "String"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "DeductionModel"
      },
      "title": "DeductionModel"
    },
    "SubmitPayRunDeductionRequest": {
      "type": "object",
      "properties": {
        "deductionCategoryIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "deductions": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/DeductionModel"
            },
            "xml": {
              "name": "DeductionModel",
              "wrapped": true
            },
            "title": "List<DeductionModel>"
          },
          "title": "Dictionary<String,List`1>"
        },
        "payRunId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "suppressCalculations": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "SubmitPayRunDeductionRequest"
      },
      "title": "SubmitPayRunDeductionRequest"
    },
    "ODataQueryOptions[PayCycle]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayCycle>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<PayCycle>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<PayCycle>"
    },
    "PayScheduleModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "frequency": {
          "enum": [
            "Weekly",
            "Fortnightly",
            "Monthly",
            "AdHoc",
            "Initial"
          ],
          "type": "string",
          "title": "PayCycleFrequencyEnum"
        },
        "employeeSelectionStrategy": {
          "enum": [
            "None",
            "PayRunDefault",
            "TimesheetLocations"
          ],
          "type": "string",
          "title": "Nullable<PayRunEmployeeSelectionStrategy>"
        },
        "lastDatePaid": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "lastPayRun": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "type": "string",
          "title": "String"
        },
        "abaDetailsId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locations": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "List<Int32>"
        }
      },
      "xml": {
        "name": "PayScheduleModel"
      },
      "title": "PayScheduleModel"
    },
    "PublicHolidayModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "date": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "states": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "locationIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "ICollection<Int32>"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "note": {
          "type": "string",
          "title": "String"
        },
        "isSystem": {
          "type": "boolean",
          "title": "Boolean"
        },
        "notAPublicHoliday": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "PublicHolidayModel"
      },
      "title": "PublicHolidayModel"
    },
    "ODataQueryOptions[Qualification]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Qualification>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<Qualification>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<Qualification>"
    },
    "QualificationModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "QualificationModel"
      },
      "title": "QualificationModel"
    },
    "ReportRequestWithPayScheduleModel": {
      "type": "object",
      "properties": {
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "ReportRequestWithPayScheduleModel"
      },
      "title": "ReportRequestWithPayScheduleModel"
    },
    "SuperAccrualExportModel": {
      "type": "object",
      "properties": {
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "accrualDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "accrualType": {
          "type": "string",
          "title": "String"
        },
        "accrualAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "SuperAccrualExportModel"
      },
      "title": "SuperAccrualExportModel"
    },
    "SuperContributionsReportExportModel": {
      "type": "object",
      "properties": {
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "superFundName": {
          "type": "string",
          "title": "String"
        },
        "superFundNumber": {
          "type": "string",
          "title": "String"
        },
        "paymentType": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "SuperContributionsReportExportModel"
      },
      "title": "SuperContributionsReportExportModel"
    },
    "LeaveBalancesReportRequestModel": {
      "type": "object",
      "properties": {
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leaveTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "groupBy": {
          "enum": [
            "AccrualLocation",
            "DefaultLocation"
          ],
          "type": "string",
          "title": "LeaveReportDisplayEnum"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "asAtDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        }
      },
      "xml": {
        "name": "LeaveBalancesReportRequestModel"
      },
      "title": "LeaveBalancesReportRequestModel"
    },
    "LeaveBalancesReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "accruedAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "accruedAmountInDays": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveValue": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "loadingValue": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leavePlusLoading": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "LeaveBalancesReportExportModel"
      },
      "title": "LeaveBalancesReportExportModel"
    },
    "DeductionsReportRequestModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "deductionCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "disableRollupReporting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "DeductionsReportRequestModel"
      },
      "title": "DeductionsReportRequestModel"
    },
    "DeductionsReportExportModel": {
      "type": "object",
      "properties": {
        "payRun": {
          "type": "string",
          "title": "String"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "amounts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DeductionsReportDeductionAmountModel"
          },
          "xml": {
            "name": "DeductionsReportDeductionAmountModel",
            "wrapped": true
          },
          "title": "List<DeductionsReportDeductionAmountModel>"
        }
      },
      "xml": {
        "name": "DeductionsReportExportModel"
      },
      "title": "DeductionsReportExportModel"
    },
    "DeductionsReportDeductionAmountModel": {
      "type": "object",
      "properties": {
        "deductionCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "deductionCategoryName": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "DeductionsReportDeductionAmountModel"
      },
      "title": "DeductionsReportDeductionAmountModel"
    },
    "ActivityReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "paygWithholding": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superContributions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "ActivityReportExportModel"
      },
      "title": "ActivityReportExportModel"
    },
    "LeaveHistoryApiReportModel": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "leaveCategoryId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "LeaveHistoryApiReportModel"
      },
      "title": "LeaveHistoryApiReportModel"
    },
    "LeaveHistoryReportGroupModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "leaveCategoryType": {
          "type": "string",
          "title": "String"
        },
        "openingBalance": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "closingBalance": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveHistoryDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LeaveHistoryReportDetailModel"
          },
          "xml": {
            "name": "LeaveHistoryReportDetailModel",
            "wrapped": true
          },
          "title": "List<LeaveHistoryReportDetailModel>"
        }
      },
      "xml": {
        "name": "LeaveHistoryReportGroupModel"
      },
      "title": "LeaveHistoryReportGroupModel"
    },
    "LeaveHistoryReportDetailModel": {
      "type": "object",
      "properties": {
        "payPeriod": {
          "type": "string",
          "title": "String"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "leaveAccrued": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveTaken": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "LeaveHistoryReportDetailModel"
      },
      "title": "LeaveHistoryReportDetailModel"
    },
    "EmployeeDetailsReportField": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "title": "String"
        },
        "displayText": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "EmployeeDetailsReportField"
      },
      "title": "EmployeeDetailsReportField"
    },
    "PayCategoriesReportRequestModel": {
      "type": "object",
      "properties": {
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "groupByEarningsLocation": {
          "type": "boolean",
          "title": "Boolean"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "PayCategoriesReportRequestModel"
      },
      "title": "PayCategoriesReportRequestModel"
    },
    "PayCategoriesReportExportModel": {
      "type": "object",
      "properties": {
        "payCategory": {
          "type": "string",
          "title": "String"
        },
        "payRun": {
          "type": "string",
          "title": "String"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "superAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PayCategoriesReportExportModel"
      },
      "title": "PayCategoriesReportExportModel"
    },
    "PaygReportRequestModel": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "title": "String"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "PaygReportRequestModel"
      },
      "title": "PaygReportRequestModel"
    },
    "PaygReportExportModel": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "title": "String"
        },
        "month": {
          "type": "string",
          "title": "String"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarningsLessPreTaxDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "payg": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PaygReportExportModel"
      },
      "title": "PaygReportExportModel"
    },
    "DetailedActivityReportExportModel": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "title": "String"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "hours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDedutions": {
          "type": "object",
          "title": "Object"
        },
        "taxExemptEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "payg": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfss": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "help": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "super": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerLiabilities": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossPlusSuper": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "DetailedActivityReportExportModel"
      },
      "title": "DetailedActivityReportExportModel"
    },
    "PayrollTaxReportRequestModel": {
      "type": "object",
      "properties": {
        "groupBy": {
          "enum": [
            "EarningsLocation",
            "DefaultLocation"
          ],
          "type": "string",
          "title": "PayrollTaxGroupByEnum"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "PayrollTaxReportRequestModel"
      },
      "title": "PayrollTaxReportRequestModel"
    },
    "PayrollTaxReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "type": {
          "type": "string",
          "title": "String"
        },
        "state": {
          "type": "string",
          "title": "String"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employeePayrollTaxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "payCategoryPayrollTaxExempt": {
          "type": "boolean",
          "title": "Boolean"
        },
        "terminationPayment": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowance": {
          "type": "boolean",
          "title": "Boolean"
        },
        "etp": {
          "type": "boolean",
          "title": "Boolean"
        },
        "genuineRedundancy": {
          "type": "boolean",
          "title": "Boolean"
        },
        "lumpSumD": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "PayrollTaxReportExportModel"
      },
      "title": "PayrollTaxReportExportModel"
    },
    "TimesheetReportRequestModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "includeCosts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "statuses": {
          "type": "array",
          "items": {
            "enum": [
              "Missing",
              "Submitted",
              "Approved",
              "Rejected",
              "Processed"
            ],
            "type": "string",
            "title": "TimesheetLineStatusType"
          },
          "xml": {
            "name": "TimesheetLineStatusType",
            "wrapped": true
          },
          "title": "IList<TimesheetLineStatusType>"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "TimesheetReportRequestModel"
      },
      "title": "TimesheetReportRequestModel"
    },
    "TimesheetReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "employeeExternalId": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "start": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "startTime": {
          "type": "string",
          "title": "TimeSpan"
        },
        "end": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "type": "string",
          "title": "TimeSpan"
        },
        "duration": {
          "type": "string",
          "readOnly": true,
          "title": "TimeSpan"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "unitType": {
          "type": "string",
          "title": "String"
        },
        "workType": {
          "type": "string",
          "title": "String"
        },
        "shiftConditions": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "classification": {
          "type": "string",
          "title": "String"
        },
        "numberOfBreaks": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "breakDuration": {
          "type": "string",
          "title": "TimeSpan"
        },
        "comments": {
          "type": "string",
          "title": "String"
        },
        "consolidatedWithTimesheetLineId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "reviewedBy": {
          "type": "string",
          "title": "String"
        },
        "gross": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "super": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "payg": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "employerLiabilities": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "totalCost": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "dateReviewed": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "shiftConditionShortCodes": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimesheetBreakModel"
          },
          "xml": {
            "name": "TimesheetBreakModel",
            "wrapped": true
          },
          "title": "IList<TimesheetBreakModel>"
        }
      },
      "xml": {
        "name": "TimesheetReportExportModel"
      },
      "title": "TimesheetReportExportModel"
    },
    "PaymentHistoryReportRequestModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "PaymentHistoryReportRequestModel"
      },
      "title": "PaymentHistoryReportRequestModel"
    },
    "PaymentHistoryReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "datePaid": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "accountType": {
          "type": "string",
          "title": "String"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalAllowances": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalDeductions": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "amount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "PaymentHistoryReportExportModel"
      },
      "title": "PaymentHistoryReportExportModel"
    },
    "BirthdayReportExportModel": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "title": "String"
        },
        "dateOfBirth": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "employmentStatus": {
          "type": "string",
          "title": "String"
        },
        "age": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "BirthdayReportExportModel"
      },
      "title": "BirthdayReportExportModel"
    },
    "GrossToNetReportRequest": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "payCategoryIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "List<Int32>"
        },
        "payScheduleId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "GrossToNetReportRequest"
      },
      "title": "GrossToNetReportRequest"
    },
    "GrossToNetReportLineItem": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "primaryLocationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "primaryLocation": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "totalHours": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "grossEarnings": {
          "type": "object",
          "additionalProperties": {
            "format": "double",
            "type": "number",
            "title": "Decimal"
          },
          "title": "Dictionary<String,Decimal>"
        },
        "totalGrossEarnings": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "totalTaxExemptEarnings": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "preTaxDeductions": {
          "type": "object",
          "additionalProperties": {
            "format": "double",
            "type": "number",
            "title": "Decimal"
          },
          "title": "Dictionary<String,Decimal>"
        },
        "totalPreTaxDeductions": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "taxableEarnings": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "payg": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "sfss": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "help": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "postTaxDeductions": {
          "type": "object",
          "additionalProperties": {
            "format": "double",
            "type": "number",
            "title": "Decimal"
          },
          "title": "Dictionary<String,Decimal>"
        },
        "totalPostTaxDeductions": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "netEarnings": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "expenses": {
          "type": "object",
          "additionalProperties": {
            "format": "double",
            "type": "number",
            "title": "Decimal"
          },
          "title": "Dictionary<String,Decimal>"
        },
        "totalExpenses": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "bankPayments": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        },
        "sgc": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employerContribution": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalGrossPlusSuper": {
          "format": "double",
          "type": "number",
          "readOnly": true,
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "GrossToNetReportLineItem"
      },
      "title": "GrossToNetReportLineItem"
    },
    "ReportLeaveLiabilityRequestModel": {
      "type": "object",
      "properties": {
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "leaveTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "includeApprovedLeave": {
          "type": "boolean",
          "title": "Boolean"
        },
        "asAtDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "employingEntityId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "ReportLeaveLiabilityRequestModel"
      },
      "title": "ReportLeaveLiabilityRequestModel"
    },
    "LeaveLiabilityReportExportModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "startDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "lastPaidDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "calculatedWeeks": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "location": {
          "type": "string",
          "title": "String"
        },
        "leaveCategoryName": {
          "type": "string",
          "title": "String"
        },
        "approvedLeaveAmount": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "accruedAmount": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "accruedAmountInDays": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveValue": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "leaveLoadingDollarValue": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        }
      },
      "xml": {
        "name": "LeaveLiabilityReportExportModel"
      },
      "title": "LeaveLiabilityReportExportModel"
    },
    "RosterShiftFilterModel": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "resourceView": {
          "enum": [
            "Employee",
            "Location"
          ],
          "type": "string",
          "title": "ResourceViewEnum"
        },
        "shiftStatus": {
          "enum": [
            "All",
            "Published",
            "Unpublished",
            "Accepted"
          ],
          "type": "string",
          "title": "RosterShiftStatus"
        },
        "shiftStatuses": {
          "type": "array",
          "items": {
            "enum": [
              "All",
              "Published",
              "Unpublished",
              "Accepted"
            ],
            "type": "string",
            "title": "RosterShiftStatus"
          },
          "xml": {
            "name": "RosterShiftStatus",
            "wrapped": true
          },
          "title": "IList<RosterShiftStatus>"
        },
        "selectedLocations": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "selectedEmployees": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "selectedRoles": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        },
        "includeSublocations": {
          "type": "boolean",
          "title": "Boolean"
        },
        "currentView": {
          "enum": [
            "resourceDay",
            "resourceWeek",
            "resourceNextWeeks"
          ],
          "type": "string",
          "title": "RosterViewMode"
        },
        "budgetWarningPercent": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "employeeGroupId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "unassignedShiftsOnly": {
          "type": "boolean",
          "title": "Boolean"
        },
        "showCosts": {
          "type": "boolean",
          "title": "Boolean"
        },
        "groupBy": {
          "enum": [
            "Business",
            "Location"
          ],
          "type": "string",
          "title": "RosterGroupByEnum"
        },
        "groupByThen": {
          "enum": [
            "Employee",
            "Role",
            "StartingTime"
          ],
          "type": "string",
          "title": "RosterGroupByThenEnum"
        },
        "excludeUnassignedEmployees": {
          "type": "boolean",
          "title": "Boolean"
        },
        "selectAllRoles": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "RosterShiftFilterModel"
      },
      "title": "RosterShiftFilterModel"
    },
    "RosterShiftGenerateTimesheetModel": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "isDifferent": {
          "type": "boolean",
          "title": "Boolean"
        },
        "fullyQualifiedLocationName": {
          "type": "string",
          "title": "String"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "noteAuthor": {
          "type": "string",
          "title": "String"
        },
        "notes": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeName": {
          "type": "string",
          "title": "String"
        },
        "initials": {
          "type": "string",
          "title": "String"
        },
        "locationName": {
          "type": "string",
          "title": "String"
        },
        "published": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isAccepted": {
          "type": "boolean",
          "title": "Boolean"
        },
        "selectedQualifications": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RosterShiftBreakModel"
          },
          "xml": {
            "name": "RosterShiftBreakModel",
            "wrapped": true
          },
          "title": "IList<RosterShiftBreakModel>"
        },
        "workTypeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classificationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "classification": {
          "type": "string",
          "title": "String"
        },
        "workType": {
          "type": "string",
          "title": "String"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer",
            "title": "Int32"
          },
          "title": "IList<Int32>"
        },
        "roleId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "datePublished": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "resourceId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "RosterShiftGenerateTimesheetModel"
      },
      "title": "RosterShiftGenerateTimesheetModel"
    },
    "RosterShiftBreakModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "readOnly": true,
          "title": "DateTime"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "readOnly": true,
          "title": "DateTime"
        },
        "startDateTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "endDateTime": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        }
      },
      "xml": {
        "name": "RosterShiftBreakModel"
      },
      "title": "RosterShiftBreakModel"
    },
    "StubRosterShiftViewModel": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "StubRosterShiftViewModel"
      },
      "title": "StubRosterShiftViewModel"
    },
    "ODataQueryOptions[SuperFundProduct]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<SuperFundProduct>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<SuperFundProduct>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<SuperFundProduct>"
    },
    "SelfManagedSuperFundModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "fundName": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "electronicServiceAddress": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SelfManagedSuperFundModel"
      },
      "title": "SelfManagedSuperFundModel"
    },
    "SuperProductEditModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "abn": {
          "type": "string",
          "title": "String"
        },
        "productCode": {
          "type": "string",
          "title": "String"
        },
        "productType": {
          "type": "string",
          "title": "String"
        },
        "businessName": {
          "type": "string",
          "title": "String"
        },
        "displayName": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "productName": {
          "type": "string",
          "title": "String"
        },
        "accountNumber": {
          "type": "string",
          "title": "String"
        },
        "bsb": {
          "type": "string",
          "title": "String"
        },
        "accountName": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "electronicServiceAddress": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        },
        "externalReferenceId": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "SuperProductEditModel"
      },
      "title": "SuperProductEditModel"
    },
    "KioskCreateEmployeeModel": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string",
          "title": "String"
        },
        "surname": {
          "type": "string",
          "title": "String"
        },
        "email": {
          "type": "string",
          "title": "String"
        },
        "mobileNumber": {
          "type": "string",
          "title": "String"
        },
        "pin": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "KioskCreateEmployeeModel"
      },
      "title": "KioskCreateEmployeeModel"
    },
    "CheckKioskEmployeeIdModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "CheckKioskEmployeeIdModel"
      },
      "title": "CheckKioskEmployeeIdModel"
    },
    "CheckKioskPinModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "pin": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "CheckKioskPinModel"
      },
      "title": "CheckKioskPinModel"
    },
    "ChangeKioskPinModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "oldPin": {
          "type": "string",
          "title": "String"
        },
        "newPin": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "ChangeKioskPinModel"
      },
      "title": "ChangeKioskPinModel"
    },
    "PinResetModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        }
      },
      "xml": {
        "name": "PinResetModel"
      },
      "title": "PinResetModel"
    },
    "TimeAndAttendanceKioskModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "name": {
          "type": "string",
          "title": "String"
        },
        "timeZone": {
          "type": "string",
          "title": "String"
        },
        "allowHigherClassificationSelection": {
          "type": "boolean",
          "title": "Boolean"
        },
        "branding": {
          "$ref": "#/definitions/WhiteLabelBrandingModel"
        },
        "isLocationRequired": {
          "type": "boolean",
          "title": "Boolean"
        },
        "isWorkTypeRequired": {
          "type": "boolean",
          "title": "Boolean"
        },
        "restrictLocationsForEmployees": {
          "type": "boolean",
          "title": "Boolean"
        },
        "allowEmployeeShiftSelection": {
          "type": "boolean",
          "title": "Nullable<Boolean>"
        },
        "clockOnWindowMinutes": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "clockOffWindowMinutes": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "ianaTimeZone": {
          "type": "string",
          "readOnly": true,
          "title": "String"
        },
        "isPhotoRequired": {
          "type": "boolean",
          "title": "Nullable<Boolean>"
        }
      },
      "xml": {
        "name": "TimeAndAttendanceKioskModel"
      },
      "title": "TimeAndAttendanceKioskModel"
    },
    "ODataQueryOptions[TimesheetLine]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<TimesheetLine>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<TimesheetLine>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<TimesheetLine>"
    },
    "TimesheetLineModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "startTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endTime": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "units": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "workTypeId": {
          "type": "string",
          "title": "String"
        },
        "locationId": {
          "type": "string",
          "title": "String"
        },
        "comments": {
          "type": "string",
          "title": "String"
        },
        "breaks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimesheetBreakModel"
          },
          "xml": {
            "name": "TimesheetBreakModel",
            "wrapped": true
          },
          "title": "IList<TimesheetBreakModel>"
        },
        "status": {
          "type": "string",
          "title": "String"
        },
        "rate": {
          "format": "double",
          "type": "number",
          "title": "Nullable<Decimal>"
        },
        "leaveCategoryId": {
          "type": "string",
          "title": "String"
        },
        "payCategoryId": {
          "type": "string",
          "title": "String"
        },
        "classificationId": {
          "type": "string",
          "title": "String"
        },
        "externalId": {
          "type": "string",
          "title": "String"
        },
        "source": {
          "enum": [
            "None",
            "Saasu",
            "Xero",
            "MYOB",
            "Deputy",
            "EmployeeTimePunch",
            "ClickSuper",
            "IntegratedTimesheets",
            "FileImport",
            "FileExport",
            "QuickBooks",
            "Harmony",
            "AwardStore",
            "Attache",
            "IntegratedRostering",
            "ReckonAccounts",
            "API",
            "MicroPower",
            "RosterLive",
            "NetSuite",
            "Kounta",
            "TimeAndAttendanceKiosk",
            "DetailedFileExport",
            "JonasPremier",
            "WageEasy",
            "Maestrano",
            "WorkZone",
            "EmployeePortal",
            "RosterTemplate",
            "Onboarding",
            "Admin",
            "WorkZoneClockOnOff"
          ],
          "type": "string",
          "title": "ExternalService"
        },
        "attachmentId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "shiftConditionIds": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "title": "IList<String>"
        }
      },
      "xml": {
        "name": "TimesheetLineModel"
      },
      "title": "TimesheetLineModel"
    },
    "SubmitTimesheetsRequest": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "replaceExisting": {
          "type": "boolean",
          "title": "Boolean"
        },
        "approved": {
          "type": "boolean",
          "title": "Boolean"
        },
        "employeeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "locationIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "workTypeIdType": {
          "enum": [
            "Standard",
            "External"
          ],
          "type": "string",
          "title": "IdType"
        },
        "timesheets": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/TimesheetLineModel"
            },
            "xml": {
              "name": "TimesheetLineModel",
              "wrapped": true
            },
            "title": "IList<TimesheetLineModel>"
          },
          "title": "IDictionary<String,IList`1>"
        }
      },
      "xml": {
        "name": "SubmitTimesheetsRequest"
      },
      "example": {
        "fromDate": "2017-06-01T00:00:00",
        "toDate": "2017-06-30T00:00:00",
        "replaceExisting": false,
        "approved": true,
        "employeeIdType": "External",
        "locationIdType": "Standard",
        "workTypeIdType": "External",
        "timesheets": {
          "emP3316": [
            {
              "id": 0,
              "employeeId": 0,
              "startTime": "2017-06-11T10:00:00",
              "endTime": "2017-06-11T13:00:00",
              "units": null,
              "workTypeId": null,
              "locationId": null,
              "comments": null,
              "breaks": [],
              "status": null,
              "rate": null,
              "leaveCategoryId": null,
              "payCategoryId": null,
              "classificationId": null,
              "externalId": null,
              "source": "None",
              "attachmentId": null,
              "shiftConditionIds": null
            }
          ],
          "emP3317": [
            {
              "id": 0,
              "employeeId": 0,
              "startTime": "2017-06-13T09:00:00",
              "endTime": "2017-06-13T17:00:00",
              "units": 8.0,
              "workTypeId": "WT1485",
              "locationId": "123456",
              "comments": "Some Comments",
              "breaks": [
                {
                  "startTime": "2017-06-13T11:00:00",
                  "endTime": "2017-06-13T12:00:00"
                }
              ],
              "status": null,
              "rate": 20.0,
              "leaveCategoryId": null,
              "payCategoryId": null,
              "classificationId": null,
              "externalId": null,
              "source": "None",
              "attachmentId": null,
              "shiftConditionIds": null
            },
            {
              "id": 0,
              "employeeId": 0,
              "startTime": "2017-06-15T09:00:00",
              "endTime": "2017-06-15T17:00:00",
              "units": 8.0,
              "workTypeId": "WT1485",
              "locationId": "123456",
              "comments": "Some Comments",
              "breaks": [
                {
                  "startTime": "2017-06-15T11:00:00",
                  "endTime": "2017-06-15T12:00:00"
                }
              ],
              "status": null,
              "rate": 20.0,
              "leaveCategoryId": null,
              "payCategoryId": null,
              "classificationId": null,
              "externalId": null,
              "source": "None",
              "attachmentId": null,
              "shiftConditionIds": null
            }
          ]
        }
      },
      "title": "SubmitTimesheetsRequest"
    },
    "UnavailabilityFilter": {
      "type": "object",
      "properties": {
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        },
        "defaultLocationId": {
          "format": "int32",
          "type": "integer",
          "title": "Nullable<Int32>"
        }
      },
      "xml": {
        "name": "UnavailabilityFilter"
      },
      "title": "UnavailabilityFilter"
    },
    "UnavailabilityModel": {
      "type": "object",
      "properties": {
        "employeeId": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "fromDate": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "toDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "endDate": {
          "format": "date-time",
          "type": "string",
          "title": "Nullable<DateTime>"
        },
        "reason": {
          "type": "string",
          "title": "String"
        },
        "recurring": {
          "type": "boolean",
          "title": "Boolean"
        },
        "recurringDay": {
          "enum": [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "type": "string",
          "title": "Nullable<DayOfWeek>"
        },
        "isAllDay": {
          "type": "boolean",
          "readOnly": true,
          "title": "Boolean"
        },
        "viewOnly": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "UnavailabilityModel"
      },
      "title": "UnavailabilityModel"
    },
    "UserModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "email": {
          "type": "string",
          "title": "String"
        },
        "displayName": {
          "type": "string",
          "title": "String"
        },
        "timeZone": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "UserModel"
      },
      "title": "UserModel"
    },
    "NewUserModel": {
      "type": "object",
      "properties": {
        "username": {
          "type": "string",
          "title": "String"
        },
        "displayName": {
          "type": "string",
          "title": "String"
        },
        "timeZone": {
          "type": "string",
          "title": "String"
        },
        "apiOnly": {
          "type": "boolean",
          "title": "Boolean"
        }
      },
      "xml": {
        "name": "NewUserModel"
      },
      "title": "NewUserModel"
    },
    "WebHook": {
      "required": [
        "webHookUri"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "String"
        },
        "webHookUri": {
          "type": "string",
          "title": "Uri"
        },
        "secret": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "isPaused": {
          "type": "boolean",
          "title": "Boolean"
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "string",
            "title": "String"
          },
          "readOnly": true,
          "title": "ISet<String>"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "title": "String"
          },
          "readOnly": true,
          "title": "IDictionary<String,String>"
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "title": "Object"
          },
          "readOnly": true,
          "title": "IDictionary<String,Object>"
        }
      },
      "xml": {
        "name": "WebHook"
      },
      "title": "WebHook"
    },
    "WhiteLabelModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "name": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "WhiteLabelModel"
      },
      "title": "WhiteLabelModel"
    },
    "InvoiceModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer",
          "title": "Int32"
        },
        "invoiceNumber": {
          "type": "string",
          "title": "String"
        },
        "date": {
          "format": "date-time",
          "type": "string",
          "title": "DateTime"
        },
        "totalExcludingGst": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "gst": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalIncludingGst": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "cultureName": {
          "type": "string",
          "title": "String"
        },
        "currency": {
          "type": "string",
          "title": "String"
        },
        "lineItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceLineItemModel"
          },
          "xml": {
            "name": "InvoiceLineItemModel",
            "wrapped": true
          },
          "title": "List<InvoiceLineItemModel>"
        }
      },
      "xml": {
        "name": "InvoiceModel"
      },
      "title": "InvoiceModel"
    },
    "InvoiceLineItemModel": {
      "type": "object",
      "properties": {
        "abn": {
          "type": "string",
          "title": "String"
        },
        "description": {
          "type": "string",
          "title": "String"
        },
        "unitPriceIncludingGst": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "quantity": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "totalIncludingGst": {
          "format": "double",
          "type": "number",
          "title": "Decimal"
        },
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InvoiceLineItemDetailModel"
          },
          "xml": {
            "name": "InvoiceLineItemDetailModel",
            "wrapped": true
          },
          "title": "List<InvoiceLineItemDetailModel>"
        }
      },
      "xml": {
        "name": "InvoiceLineItemModel"
      },
      "title": "InvoiceLineItemModel"
    },
    "InvoiceLineItemDetailModel": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "title": "String"
        }
      },
      "xml": {
        "name": "InvoiceLineItemDetailModel"
      },
      "title": "InvoiceLineItemDetailModel"
    },
    "ODataQueryOptions[WorkType]": {
      "type": "object",
      "properties": {
        "ifMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<WorkType>"
        },
        "ifNoneMatch": {
          "type": "object",
          "readOnly": true,
          "title": "ETag<WorkType>"
        },
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "request": {
          "type": "object",
          "readOnly": true,
          "title": "HttpRequestMessage"
        },
        "rawValues": {
          "$ref": "#/definitions/ODataRawQueryOptions",
          "readOnly": true
        },
        "selectExpand": {
          "$ref": "#/definitions/SelectExpandQueryOption",
          "readOnly": true
        },
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        },
        "orderBy": {
          "$ref": "#/definitions/OrderByQueryOption",
          "readOnly": true
        },
        "skip": {
          "$ref": "#/definitions/SkipQueryOption",
          "readOnly": true
        },
        "top": {
          "$ref": "#/definitions/TopQueryOption",
          "readOnly": true
        },
        "inlineCount": {
          "$ref": "#/definitions/InlineCountQueryOption",
          "readOnly": true
        },
        "validator": {
          "$ref": "#/definitions/ODataQueryValidator"
        }
      },
      "xml": {
        "name": "ODataQueryOptions`1"
      },
      "title": "ODataQueryOptions<WorkType>"
    }
  },
  "securityDefinitions": {
    "basic": {
      "type": "basic",
      "description": "Your API key should be the username and the password can be left blank"
    },
    "apiKey": {
      "type": "apiKey",
      "description": "API Key Authentication",
      "name": "apiKey",
      "in": "header"
    },
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth2 Implicit Grant",
      "flow": "implicit",
      "authorizationUrl": "https://{yourwhitelabel}.yourpayroll.com.au/oauth/authorise",
      "tokenUrl": "https://{yourwhitelabel}.yourpayroll.com.au/oauth/token",
      "scopes": {
        "read": "Read access to protected resources",
        "write": "Write access to protected resources"
      }
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "tags": [
    {
      "name": "User",
      "description": "User"
    },
    {
      "name": "Authentication",
      "description": "Authentication"
    },
    {
      "name": "Business",
      "description": "Business"
    },
    {
      "name": "PayRun",
      "description": "Pay Run"
    },
    {
      "name": "PublicHoliday",
      "description": "Public Holiday"
    },
    {
      "name": "TimeAndAttendance",
      "description": "Time and Attendance"
    },
    {
      "name": "EmployeeQualifications",
      "description": "Employee Qualifications"
    },
    {
      "name": "LeaveRequests",
      "description": "Leave Requests"
    },
    {
      "name": "Timesheets",
      "description": "Timesheets"
    },
    {
      "name": "Location",
      "description": "Location"
    },
    {
      "name": "DeductionCategories",
      "description": "Deduction Categories"
    },
    {
      "name": "EmployeeExpenseCategories",
      "description": "Employee Expense Categories"
    },
    {
      "name": "EmployerLiabilityCategories",
      "description": "Employer Liability Categories"
    },
    {
      "name": "LeaveAllowance",
      "description": "Leave Allowances"
    },
    {
      "name": "Employee",
      "description": "Employee"
    },
    {
      "name": "EmployeeDocument",
      "description": "Employee Documents"
    },
    {
      "name": "EmployeeGroups",
      "description": "Employee Groups"
    },
    {
      "name": "AbaSettings",
      "description": "ABA Settings"
    },
    {
      "name": "EmployingEntities",
      "description": "Employing Entities"
    },
    {
      "name": "EmploymentAgreement",
      "description": "Employment Agreement"
    },
    {
      "name": "LeaveCategories",
      "description": "Leave Categories"
    },
    {
      "name": "PayCategory",
      "description": "Pay Category"
    },
    {
      "name": "PaymentSummary",
      "description": "Payment Summaries"
    },
    {
      "name": "PayRateTemplate",
      "description": "Pay Rate Templates"
    },
    {
      "name": "PaySchedule",
      "description": "Pay Schedules"
    },
    {
      "name": "Qualifications",
      "description": "Qualifications"
    },
    {
      "name": "RosterShift",
      "description": "Roster Shifts"
    },
    {
      "name": "SuperFund",
      "description": "Super Funds"
    },
    {
      "name": "WorkType",
      "description": "Work Types"
    },
    {
      "name": "EmployeeAccess",
      "description": "Employee Access"
    },
    {
      "name": "EmployeeExpenseRequest",
      "description": "Employee Expense Requests"
    },
    {
      "name": "EmployeeBankAccount",
      "description": "Employee Bank Accounts"
    },
    {
      "name": "EmployeeSuperFund",
      "description": "Employee Super Funds"
    },
    {
      "name": "EmployeeRecurringTransactions",
      "description": "Pay Run Inclusions"
    },
    {
      "name": "Unavailability",
      "description": "Unavailability"
    },
    {
      "name": "Reporting",
      "description": "Reporting"
    },
    {
      "name": "Ess",
      "description": "Employee Self Service"
    },
    {
      "name": "LookupData",
      "description": "Lookup Data"
    },
    {
      "name": "Webhook",
      "description": "Webhook"
    },
    {
      "name": "WhiteLabel",
      "description": "White Label Only"
    }
  ],
  "x-navigateMethodsByName": true
}