{
  "x-generator": "NSwag v13.8.2.0 (NJsonSchema v10.2.1.0 (Newtonsoft.Json v11.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "Aussiepay API",
    "description": "OpenAPI Definition for the Aussiepay API",
    "version": "12.20"
  },
  "servers": [
    {
      "url": "https://api.epayroll.com.au/v12.20"
    }
  ],
  "paths": {
    "/Authorities/{id}/Positions": {
      "get": {
        "tags": [
          "Authorities"
        ],
        "summary": "Get authority positions",
        "description": "Returns a list of the organisation chart positions that the authority has been assigned to. If the chartId parameter\nis provided, then the results will be filtered to the specified organisation chart; otherwise positions from all organisation charts in the\nemployer group will be returned.",
        "operationId": "Authorities_GetPositions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the authority.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "chartId",
            "in": "query",
            "description": "The identifier of the organisation chart.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "reportingPositionId": 12345,
                      "status": "Active",
                      "code": "29FEA876-30F6-49F8-8501-D5DBF0BEF048",
                      "name": "Sales Director",
                      "id": 12346
                    },
                    {
                      "status": "Active",
                      "code": "3E0E4689-EEFC-40AC-9604-D04C198AE614",
                      "name": "CEO",
                      "id": 12345
                    },
                    {
                      "reportingPositionId": 12345,
                      "status": "Active",
                      "code": "EB00B76E-04A9-41D7-B18E-9BC7A334F2B9",
                      "name": "Finance Director",
                      "id": 12347
                    },
                    {
                      "reportingPositionId": 12346,
                      "status": "Active",
                      "code": "22A8B7A6-7A9B-42CF-A375-F418751289EE",
                      "name": "Marketing Assistant",
                      "id": 12348
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Authorities/{id}/Positions/{positionId}/Approver/{approverType}": {
      "get": {
        "tags": [
          "Authorities"
        ],
        "summary": "Finds the approver.",
        "operationId": "Authorities_FindApprover",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the authority.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "description": "The position identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          },
          {
            "name": "approverType",
            "in": "path",
            "required": true,
            "description": "The approver role type.",
            "schema": {
              "$ref": "#/components/schemas/UserRole"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Authorities": {
      "get": {
        "tags": [
          "Authorities"
        ],
        "operationId": "Authorities_Get",
        "parameters": [
          {
            "name": "paymentGroupIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-position": 1
          },
          {
            "name": "costCentreIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-position": 2
          },
          {
            "name": "positionIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-position": 3
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 5
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "title": "Ms",
                      "employee": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "emailType": "HTML",
                      "roles": [
                        "ExpenseApprover",
                        "LeaveApprover"
                      ],
                      "address": {
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "state": {
                          "name": "NSW",
                          "id": 2
                        },
                        "postcode": "2067",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "0412 345 678",
                      "workPhone": "02 1234 5678",
                      "workExtension": "x9",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 12345
                    },
                    {
                      "title": "Mr",
                      "emailType": "HTML",
                      "roles": [
                        "RunPayrollAuthority",
                        "SubmitPayrollAuthority",
                        "VerifyPayrollAuthority"
                      ],
                      "address": {
                        "address1": "1 Short Street",
                        "suburb": "Morningside",
                        "state": {
                          "name": "QLD",
                          "id": 7
                        },
                        "postcode": "4005",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "07 1234 5678",
                      "dateOfBirth": "1972-07-14T00:00:00",
                      "familyName": "Joe",
                      "givenName": "Bloggs",
                      "email": "joe.bloggs@acme.inc",
                      "status": "Active",
                      "code": "JB005",
                      "name": "BLOGGS, Joe",
                      "id": 23456
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Authorities/Search": {
      "get": {
        "tags": [
          "Authorities"
        ],
        "summary": "Search for authorities",
        "description": "Returns all the Authority resources that match the provided search parameters and that the current user has access to.",
        "operationId": "Authorities_Search",
        "parameters": [
          {
            "name": "AuthorityId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "AuthorityStatus",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveStatus"
                }
              ]
            }
          },
          {
            "name": "AuthorityEmail",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployeeToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "EmployeeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "EmployeeEmail",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TaxFileNumber",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "EmployeeStatus",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ActiveStatus"
                }
              ]
            }
          },
          {
            "name": "WebRole",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UserRole"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "title": "Ms",
                      "employee": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "emailType": "HTML",
                      "roles": [
                        "ExpenseApprover",
                        "LeaveApprover"
                      ],
                      "address": {
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "state": {
                          "name": "NSW",
                          "id": 2
                        },
                        "postcode": "2067",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "0412 345 678",
                      "workPhone": "02 1234 5678",
                      "workExtension": "x9",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 12345
                    },
                    {
                      "title": "Mr",
                      "emailType": "HTML",
                      "roles": [
                        "RunPayrollAuthority",
                        "SubmitPayrollAuthority",
                        "VerifyPayrollAuthority"
                      ],
                      "address": {
                        "address1": "1 Short Street",
                        "suburb": "Morningside",
                        "state": {
                          "name": "QLD",
                          "id": 7
                        },
                        "postcode": "4005",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "07 1234 5678",
                      "dateOfBirth": "1972-07-14T00:00:00",
                      "familyName": "Joe",
                      "givenName": "Bloggs",
                      "email": "joe.bloggs@acme.inc",
                      "status": "Active",
                      "code": "JB005",
                      "name": "BLOGGS, Joe",
                      "id": 23456
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Authorities/{id}": {
      "get": {
        "tags": [
          "Authorities"
        ],
        "summary": "Get an authority",
        "description": "Returns the Authority resource identified by the provided unique identifier.",
        "operationId": "Authorities_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the authority to search for.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "title": "Ms",
                    "employee": {
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 54321
                    },
                    "emailType": "HTML",
                    "roles": [
                      "ExpenseApprover",
                      "LeaveApprover"
                    ],
                    "address": {
                      "address1": "Unit 32",
                      "address2": "200-210 Windy Road",
                      "suburb": "Epping",
                      "state": {
                        "name": "NSW",
                        "id": 2
                      },
                      "postcode": "2067",
                      "country": {
                        "name": "Australia",
                        "id": 13
                      }
                    },
                    "mobilePhone": "0412 345 678",
                    "workPhone": "02 1234 5678",
                    "workExtension": "x9",
                    "dateOfBirth": "1981-02-14T00:00:00",
                    "familyName": "Kim",
                    "givenName": "Alice",
                    "email": "alice.kim@acme.inc",
                    "status": "Active",
                    "code": "AK002",
                    "name": "KIM, Alice",
                    "id": 12345
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/change-requests": {
      "get": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Get change requests",
        "operationId": "ChangeRequests_Get",
        "parameters": [
          {
            "name": "Statuses",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/ChangeRequestStatus"
              }
            }
          },
          {
            "name": "LastModified",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Create a change request",
        "operationId": "ChangeRequests_Post",
        "requestBody": {
          "x-name": "command",
          "description": "The command to create a change request.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateChangeRequestCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/change-requests/{id}": {
      "get": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Get a change request",
        "operationId": "ChangeRequests_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the change request.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Update a change request",
        "operationId": "ChangeRequests_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the change request.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command to update a change request.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateChangeRequestCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/change-requests/{id}/remarks": {
      "get": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Get change request remarks",
        "operationId": "ChangeRequests_GetRemarks",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the change request.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/change-requests/{id}/actions/cancel": {
      "put": {
        "tags": [
          "ChangeRequests"
        ],
        "summary": "Cancel a change request",
        "operationId": "ChangeRequests_Cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the change request.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/CostCentres": {
      "get": {
        "tags": [
          "CostCentres"
        ],
        "summary": "Get all cost centres",
        "description": "Returns all Cost Centres that the current user has permissions to retrieve.",
        "operationId": "CostCentres_GetEmployerCostCentres",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "name": "Warehousing",
                      "code": "WH2",
                      "isExpired": false
                    },
                    {
                      "id": 12346,
                      "name": "Logistics",
                      "code": "LG",
                      "isExpired": false
                    },
                    {
                      "id": 12344,
                      "name": "Warehousing : OLD : DO NOT USE",
                      "code": "WH",
                      "isExpired": true
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/CostCentres/Search": {
      "get": {
        "tags": [
          "CostCentres"
        ],
        "summary": "Search for cost centres",
        "description": "Returns all the cost centres that match the provided search parameters and that the current user has access to.",
        "operationId": "CostCentres_SearchEmployerCostCentres",
        "parameters": [
          {
            "name": "CostCentreId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "CostCentreCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "CostCentreName",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "CostCentreToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "name": "Warehousing",
                      "code": "WH2",
                      "isExpired": false
                    },
                    {
                      "id": 12346,
                      "name": "Logistics",
                      "code": "LG",
                      "isExpired": false
                    },
                    {
                      "id": 12344,
                      "name": "Warehousing : OLD : DO NOT USE",
                      "code": "WH",
                      "isExpired": true
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/CostCentres/{id}": {
      "get": {
        "tags": [
          "CostCentres"
        ],
        "summary": "Get a cost centre",
        "description": "Returns the cost centre with the specified unique identifier.",
        "operationId": "CostCentres_GetEmployerCostCentre",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The cost centre's unique identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 12345,
                    "name": "Warehousing",
                    "code": "WH2",
                    "isExpired": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get all countries",
        "description": "Returns a collection of all the defined Country resources.",
        "operationId": "Countries_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 13,
                      "name": "Australia",
                      "currencySymbol": 36,
                      "currencyText": "AUD",
                      "sortOrder": 13,
                      "isPriority": true,
                      "isoCode2": "AU"
                    },
                    {
                      "id": 164,
                      "name": "New Zealand",
                      "currencySymbol": 36,
                      "currencyText": "NZD",
                      "sortOrder": 164,
                      "isPriority": true,
                      "isoCode2": "NZ"
                    },
                    {
                      "id": 185,
                      "name": "Philippines",
                      "currencySymbol": 8369,
                      "currencyText": "PHP",
                      "sortOrder": 185,
                      "isPriority": false,
                      "isoCode2": "PH"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{id}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get a country",
        "description": "Returns the Country resource that matches the specified id.",
        "operationId": "Countries_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the country to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 13,
                    "name": "Australia",
                    "currencySymbol": 36,
                    "currencyText": "AUD",
                    "sortOrder": 13,
                    "isPriority": true,
                    "isoCode2": "AU"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{isoCode}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get a country by ISO code",
        "description": "Returns the Country resource that matches the specified isoCode.",
        "operationId": "Countries_GetByIsoCode",
        "parameters": [
          {
            "name": "isoCode",
            "in": "path",
            "required": true,
            "description": "The two-character ISO code of the country to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 13,
                    "name": "Australia",
                    "currencySymbol": 36,
                    "currencyText": "AUD",
                    "sortOrder": 13,
                    "isPriority": true,
                    "isoCode2": "AU"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{id}/States": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get all country states",
        "description": "Returns a collection of State resources for the states or territories configured for the specified country.",
        "operationId": "Countries_GetStatesByCountry",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The country identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Australian Capital Territory",
                      "sortOrder": 1,
                      "name": "ACT",
                      "id": 2
                    },
                    {
                      "description": "New South Wales",
                      "sortOrder": 2,
                      "name": "NSW",
                      "id": 1
                    },
                    {
                      "description": "Northern Territories",
                      "sortOrder": 3,
                      "name": "NT",
                      "id": 3
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{id}/States/{stateId}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get a country state",
        "description": "Returns a geographic state defined in the specified country.",
        "operationId": "Countries_GetStateByCountryAndId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The country identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "stateId",
            "in": "path",
            "required": true,
            "description": "The state identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Australian Capital Territory",
                    "sortOrder": 1,
                    "name": "ACT",
                    "id": 2
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{id}/EmploymentStates": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get employment states",
        "description": "Returns a collection of Employment State resources for the states or territories configured for the specified country.",
        "operationId": "Countries_GetEmploymentStatesByCountryId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The country identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Australian Capital Territory",
                      "group": "ACT",
                      "state": "ACT",
                      "name": "ACT",
                      "id": 1
                    },
                    {
                      "description": "College of Law - ACT",
                      "group": "ACT",
                      "state": "CAC",
                      "name": "CAC",
                      "id": 2
                    },
                    {
                      "description": "Government LSL - ACT",
                      "group": "ACT",
                      "state": "GAC",
                      "name": "GAC",
                      "id": 3
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{id}/EmploymentStates/{stateId}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get employment state by IDs",
        "description": "Returns the specified employment state for the country specified by its identifier.",
        "operationId": "Countries_GetEmploymentStateByCountryIdAndId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The country identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "stateId",
            "in": "path",
            "required": true,
            "description": "The state identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Australian Capital Territory",
                    "group": "ACT",
                    "state": "ACT",
                    "name": "ACT",
                    "id": 1
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{isoCode}/States": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get states by ISO code",
        "description": "Returns a collection of State resources for the states or territories configured for the specified country.",
        "operationId": "Countries_GetStatesByIsoCode",
        "parameters": [
          {
            "name": "isoCode",
            "in": "path",
            "required": true,
            "description": "The ISO code of the country.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Australian Capital Territory",
                      "sortOrder": 1,
                      "name": "ACT",
                      "id": 2
                    },
                    {
                      "description": "New South Wales",
                      "sortOrder": 2,
                      "name": "NSW",
                      "id": 1
                    },
                    {
                      "description": "Northern Territories",
                      "sortOrder": 3,
                      "name": "NT",
                      "id": 3
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{isoCode}/States/{stateId}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get state by ISO code and ID",
        "description": "Returns a collection of State resources for the states or territories configured for the specified country.",
        "operationId": "Countries_GetStateByIsoCodeAndId",
        "parameters": [
          {
            "name": "isoCode",
            "in": "path",
            "required": true,
            "description": "The ISO code of the country.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "stateId",
            "in": "path",
            "required": true,
            "description": "The state identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Australian Capital Territory",
                    "sortOrder": 1,
                    "name": "ACT",
                    "id": 2
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{isoCode}/EmploymentStates": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get employment states by ISO code",
        "description": "Returns a collection of Employment State resources for the states or territories configured for the specified country.",
        "operationId": "Countries_GetEmploymentStatesByIsoCode",
        "parameters": [
          {
            "name": "isoCode",
            "in": "path",
            "required": true,
            "description": "The ISO code of the country.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Australian Capital Territory",
                      "group": "ACT",
                      "state": "ACT",
                      "name": "ACT",
                      "id": 1
                    },
                    {
                      "description": "College of Law - ACT",
                      "group": "ACT",
                      "state": "CAC",
                      "name": "CAC",
                      "id": 2
                    },
                    {
                      "description": "Government LSL - ACT",
                      "group": "ACT",
                      "state": "GAC",
                      "name": "GAC",
                      "id": 3
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Countries/{isoCode}/EmploymentStates/{stateId}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get employment state by ISO code and ID",
        "description": "Returns the specified employment state for the country specified by its identifier.",
        "operationId": "Countries_GetEmploymentStateByIsoCodeAndId",
        "parameters": [
          {
            "name": "isoCode",
            "in": "path",
            "required": true,
            "description": "The ISO code of the country.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "stateId",
            "in": "path",
            "required": true,
            "description": "The state identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Australian Capital Territory",
                    "sortOrder": 1,
                    "name": "ACT",
                    "id": 2
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/CredentialIssuers": {
      "get": {
        "tags": [
          "CredentialIssuers"
        ],
        "summary": "Get credentials issuers.",
        "description": "Returns a list of the entities that are authortised to issue credentials such as driving licenses.",
        "operationId": "CredentialIssuers_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "classification": {
                        "id": 23456,
                        "name": "State",
                        "description": "State"
                      },
                      "name": "NSW",
                      "description": "New South Wales"
                    },
                    {
                      "id": 12346,
                      "classification": {
                        "id": 23456,
                        "name": "State",
                        "description": "State"
                      },
                      "name": "QLD",
                      "description": "Queensland"
                    },
                    {
                      "id": 12347,
                      "classification": {
                        "id": 23457,
                        "name": "Visa",
                        "description": "Visa"
                      },
                      "name": "Visa Subclass 888",
                      "description": "Business Innovation and Investment (permanent) visa (subclass 888)"
                    },
                    {
                      "id": 12348,
                      "classification": {
                        "id": 23458,
                        "name": "Country",
                        "description": "Country"
                      },
                      "name": "Australia",
                      "description": "Australia"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Credentials/{id}": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "Get credentials",
        "operationId": "Credentials_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the credentials.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Credentials"
        ],
        "summary": "Update credentials",
        "description": "Updates the provided credentials.",
        "operationId": "Credentials_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the Credential.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "updateCredential",
          "description": "The details of the Credential that wil be updated.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CredentialUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Credentials/Search": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "Search credentials",
        "operationId": "Credentials_Search",
        "parameters": [
          {
            "name": "CredentialId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "RegistrationNumber",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "CredentialIssuerId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "CredentialTypeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Credentials": {
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "Create credentials",
        "description": "Returns the URI of the credentials in the Location header.",
        "operationId": "Credentials_Post",
        "requestBody": {
          "x-name": "command",
          "description": "The details of the Credential that should be created.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CredentialCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/CredentialTypes": {
      "get": {
        "tags": [
          "CredentialTypes"
        ],
        "summary": "Get all credential types",
        "description": "Return a list of the credential types available to be assigned to credentials.",
        "operationId": "CredentialTypes_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "code": "WWC",
                      "description": "Working With Children Check"
                    },
                    {
                      "id": 12346,
                      "code": "APP",
                      "description": "Apprentice"
                    },
                    {
                      "id": 12346,
                      "code": "PSPT",
                      "description": "Passport"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/CostCentres": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee cost centres",
        "description": "Returns the employee cost centres that the current user has permissions to retrieve. If no date range filters are applied,\nthen only the cost centres that are currently active will be returned; if date range filters are applied, then all cost\ncentre data that passes the filters will be returned, potentially including both historic and future values.",
        "operationId": "Employees_GetEmployeeCostCentres",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "from",
            "in": "query",
            "description": "The start of the optional data range filter to apply to the search results.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "to",
            "in": "query",
            "description": "The end of the optional data range filter to apply to the search results.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "costCentre": {
                        "name": "Warehousing",
                        "id": 103
                      },
                      "startDate": "2016-02-14T00:00:00",
                      "defaultHours": 40.0,
                      "isExpired": false
                    },
                    {
                      "id": 12346,
                      "costCentre": {
                        "name": "Logistics",
                        "id": 102
                      },
                      "startDate": "2015-01-01T00:00:00",
                      "defaultHours": 20.0,
                      "isExpired": false
                    },
                    {
                      "id": 12344,
                      "costCentre": {
                        "name": "Warehousing : OLD : DO NOT USE",
                        "id": 101
                      },
                      "startDate": "2015-01-01T00:00:00",
                      "endDate": "2016-02-13T23:59:59",
                      "defaultHours": 40.0,
                      "isExpired": false
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Employees"
        ],
        "summary": "Create an employee cost centre",
        "description": "Assigns a cost centre to an employee.",
        "operationId": "Employees_PostEmployeeCostCentre",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The data to be used when assigning the cost centre to the employee.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeCostCentreCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/CostCentres/{employeeCostCentreId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get an employee cost centre",
        "description": "Returns the employee cost centre that matches the provided EmployeeId and CostCentreId, if the current user has permissions to retrieve it. If no date range filters are applied,\nthen only the cost centre that is currently active will be returned; if date range filters are applied, then the cost centre data that passes the filters will be returned.",
        "operationId": "Employees_GetEmployeeCostCentre",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "employeeCostCentreId",
            "in": "path",
            "required": true,
            "description": "The identifier of the cost centre to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 12345,
                    "costCentre": {
                      "name": "Warehousing",
                      "id": 103
                    },
                    "startDate": "2016-02-14T00:00:00",
                    "defaultHours": 40.0,
                    "isExpired": false
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update an employee cost centre",
        "operationId": "Employees_UpdateEmployeeCostCentre",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee cost centre.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "employeeCostCentreId",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee cost centre that is being updated",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The data to be used when updating the cost centre assigned to the employee.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeCostCentreUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employees"
        ],
        "summary": "Delete an employee cost centre",
        "operationId": "Employees_DeleteEmployeeCostCentre",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee whose cost centre will be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "employeeCostCentreId",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee cost centre that will be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/ExpenseApplications": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get expense applications",
        "description": "Returns a list of expense applications for the specified employee; the list may optionally\n            be filtered using the provided search parameters.",
        "operationId": "Employees_GetExpenseApplications",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "Status",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/ExpenseApplicationStatus"
              }
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "SortOrder",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SortDirection"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 231421321,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "expenseType": {
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Expenses",
                          "id": 11002
                        },
                        "isActive": true,
                        "name": "Car Allowance",
                        "id": 10272
                      },
                      "applied": "2016-04-09T00:00:00",
                      "amount": 456.78,
                      "status": "Processing",
                      "position": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "isGst": false
                    },
                    {
                      "id": 231421321,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "expenseType": {
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Expenses",
                          "id": 11002
                        },
                        "isActive": false,
                        "name": "Expense Reimbursement",
                        "id": 10272
                      },
                      "applied": "2016-12-29T00:00:00",
                      "amount": 898.45,
                      "status": "Accepted",
                      "position": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "isGst": true
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/ExpenseApplications/{expenseId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get expense application",
        "description": "Returns a single expense application that match the identifier provided.",
        "operationId": "Employees_GetExpenseApplication",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "description": "The identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 231421321,
                    "employee": {
                      "emailType": "Text",
                      "gender": 0,
                      "startDate": "0001-01-01T00:00:00",
                      "familyName": "KIM",
                      "givenName": "Alice",
                      "status": "Active",
                      "name": "KIM, Alice",
                      "id": 54321
                    },
                    "expenseType": {
                      "paycode": {
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 11002
                      },
                      "isActive": true,
                      "name": "Car Allowance",
                      "id": 10272
                    },
                    "applied": "2016-04-09T00:00:00",
                    "amount": 456.78,
                    "status": "Processing",
                    "position": {
                      "status": 0,
                      "name": "Administration",
                      "id": 45678
                    },
                    "isGst": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/ExpenseTypes": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee Expense types",
        "description": "Returns a list of the Expense types that the specified employee can use",
        "operationId": "Employees_GetExpenseTypes",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Bonus",
                      "id": 1000000526
                    },
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Purchases",
                      "id": 1000000660
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/FinancialYears": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee financial years",
        "description": "Returns a list of the financial years that the specified employee has payment transactions",
        "operationId": "Employees_GetFinancialYears",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "year": 2024,
                      "start": "2024-01-07T00:00:00",
                      "end": "2025-06-30T23:59:59",
                      "isCurrent": false
                    },
                    {
                      "year": 2025,
                      "start": "2025-01-07T00:00:00",
                      "end": "2026-06-30T23:59:59",
                      "isCurrent": false
                    },
                    {
                      "year": 2026,
                      "start": "2026-01-07T00:00:00",
                      "end": "2027-06-30T23:59:59",
                      "isCurrent": true
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/Holidays": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee holidays",
        "description": "Returns the holidays for the specified employee.",
        "operationId": "Employees_GetHolidays",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Search from",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Search to",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/InitialAccruals": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee initial accruals",
        "description": "Returns the initial accruals for the specified employee.",
        "operationId": "Employees_GetInitialAccruals",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "employeeId": 12345,
                    "annualLeave": 107.25,
                    "longServiceLeave": 0.0,
                    "rosteredDaysOff": 0.0,
                    "sickLeave": 2.75
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/LeaveBalance": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee leave balances",
        "description": "Returns the leave balances for all leave .",
        "operationId": "Employees_GetLeaveBalances",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "paycode": {
                        "name": "Annual Leave",
                        "id": 1000001009
                      },
                      "balance": 12.45
                    },
                    {
                      "paycode": {
                        "name": "FACS Leave",
                        "id": 10000010010
                      },
                      "balance": 5.72
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/LeavePaycodes": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee Leave paycodes",
        "description": "Returns a list of the Leave paycodes that the specified employee can use",
        "operationId": "Employees_GetLeavePaycodes",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Paycode for annual leave",
                      "paycode": {
                        "description": "Paycode for annual leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "Both",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Annual Leave",
                        "id": 1000101
                      },
                      "colourCode": "#ff0000",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "AnnualLeave",
                      "name": "Annual Leave",
                      "id": 2000201
                    },
                    {
                      "description": "Paycode for personal leave",
                      "paycode": {
                        "description": "Paycode for personal leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "Both",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 2,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Personal Leave",
                        "id": 1000102
                      },
                      "colourCode": "#00ff00",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "PersonalLeave",
                      "name": "Personal Leave",
                      "id": 2000202
                    },
                    {
                      "description": "Paycode for long service leave",
                      "paycode": {
                        "description": "Paycode for long service leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "Both",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 3,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Long Service Leave",
                        "id": 1000103
                      },
                      "colourCode": "#0000ff",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "LongServiceLeave",
                      "name": "Long Service Leave",
                      "id": 2000203
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentDetails": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get all employee payment details",
        "description": "Returns all the payment details that the current user has access to for the selected employee.",
        "operationId": "Employees_GetAllPaymentDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "inputSheetView": {
                        "payCycle": {
                          "type": "Weekly",
                          "initialStartDate": "0001-01-01T00:00:00",
                          "isExpired": false,
                          "isUpdated": false,
                          "name": "Weekly",
                          "id": 3456
                        },
                        "name": "Weekly",
                        "id": 23456
                      },
                      "superFund": {
                        "name": "Friendly Super",
                        "id": 6789
                      },
                      "salary": 45150.0,
                      "hourlyRate": 34.25,
                      "standardHours": 38.5,
                      "paycodes": [
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Annual Leave",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Annual Leave",
                          "id": 4567
                        },
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Ordinary Hours",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Ordinary Hours",
                          "id": 4568
                        }
                      ],
                      "paymentGroup": {
                        "employeeId": 0,
                        "employmentBasisType": 0,
                        "employmentStatusType": 0,
                        "authorisedLeaveInCredit": false,
                        "name": "",
                        "id": 5678
                      },
                      "isPaymentActive": false,
                      "from": "2010-03-13T00:00:00",
                      "to": "2014-06-05T00:00:00"
                    },
                    {
                      "id": 12346,
                      "inputSheetView": {
                        "payCycle": {
                          "type": "Weekly",
                          "initialStartDate": "0001-01-01T00:00:00",
                          "isExpired": false,
                          "isUpdated": false,
                          "name": "Weekly",
                          "id": 3456
                        },
                        "name": "Weekly",
                        "id": 23456
                      },
                      "superFund": {
                        "name": "Friendly Super",
                        "id": 6789
                      },
                      "salary": 48024.0,
                      "hourlyRate": 37.8,
                      "standardHours": 38.5,
                      "paycodes": [
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Annual Leave",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Annual Leave",
                          "id": 4567
                        },
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Ordinary Hours",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Ordinary Hours",
                          "id": 4568
                        }
                      ],
                      "paymentGroup": {
                        "employeeId": 0,
                        "employmentBasisType": 0,
                        "employmentStatusType": 0,
                        "authorisedLeaveInCredit": false,
                        "name": "",
                        "id": 5678
                      },
                      "isPaymentActive": true,
                      "from": "2014-06-06T00:00:00"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentDetails/Search": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Search for employee payment details",
        "description": "Returns all matching payment details that the current user has access to for the selected employee.",
        "operationId": "Employees_GetPaymentDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "PaymentDetailId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "inputSheetView": {
                        "payCycle": {
                          "type": "Weekly",
                          "initialStartDate": "0001-01-01T00:00:00",
                          "isExpired": false,
                          "isUpdated": false,
                          "name": "Weekly",
                          "id": 3456
                        },
                        "name": "Weekly",
                        "id": 23456
                      },
                      "superFund": {
                        "name": "Friendly Super",
                        "id": 6789
                      },
                      "salary": 45150.0,
                      "hourlyRate": 34.25,
                      "standardHours": 38.5,
                      "paycodes": [
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Annual Leave",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Annual Leave",
                          "id": 4567
                        },
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Ordinary Hours",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Ordinary Hours",
                          "id": 4568
                        }
                      ],
                      "paymentGroup": {
                        "employeeId": 0,
                        "employmentBasisType": 0,
                        "employmentStatusType": 0,
                        "authorisedLeaveInCredit": false,
                        "name": "",
                        "id": 5678
                      },
                      "isPaymentActive": false,
                      "from": "2010-03-13T00:00:00",
                      "to": "2014-06-05T00:00:00"
                    },
                    {
                      "id": 12346,
                      "inputSheetView": {
                        "payCycle": {
                          "type": "Weekly",
                          "initialStartDate": "0001-01-01T00:00:00",
                          "isExpired": false,
                          "isUpdated": false,
                          "name": "Weekly",
                          "id": 3456
                        },
                        "name": "Weekly",
                        "id": 23456
                      },
                      "superFund": {
                        "name": "Friendly Super",
                        "id": 6789
                      },
                      "salary": 48024.0,
                      "hourlyRate": 37.8,
                      "standardHours": 38.5,
                      "paycodes": [
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Annual Leave",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Annual Leave",
                          "id": 4567
                        },
                        {
                          "defaultValue": 0.0,
                          "description": "Paycode for Ordinary Hours",
                          "type": "Payment",
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Ordinary Hours",
                          "id": 4568
                        }
                      ],
                      "paymentGroup": {
                        "employeeId": 0,
                        "employmentBasisType": 0,
                        "employmentStatusType": 0,
                        "authorisedLeaveInCredit": false,
                        "name": "",
                        "id": 5678
                      },
                      "isPaymentActive": true,
                      "from": "2014-06-06T00:00:00"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentDetails/{paymentDetailsId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment details",
        "description": "Returns the requested payment details.",
        "operationId": "Employees_GetPaymentDetails2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentDetailsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 12345,
                    "inputSheetView": {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 3456
                      },
                      "name": "Weekly",
                      "id": 23456
                    },
                    "superFund": {
                      "name": "Friendly Super",
                      "id": 6789
                    },
                    "salary": 45150.0,
                    "hourlyRate": 34.25,
                    "standardHours": 38.5,
                    "paycodes": [
                      {
                        "defaultValue": 0.0,
                        "description": "Paycode for Annual Leave",
                        "type": "Payment",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Annual Leave",
                        "id": 4567
                      },
                      {
                        "defaultValue": 0.0,
                        "description": "Paycode for Ordinary Hours",
                        "type": "Payment",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Ordinary Hours",
                        "id": 4568
                      }
                    ],
                    "paymentGroup": {
                      "employeeId": 0,
                      "employmentBasisType": 0,
                      "employmentStatusType": 0,
                      "authorisedLeaveInCredit": false,
                      "name": "",
                      "id": 5678
                    },
                    "isPaymentActive": false,
                    "from": "2010-03-13T00:00:00",
                    "to": "2014-06-05T00:00:00"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update employee payment details",
        "description": "Updates the payment details for an employee.",
        "operationId": "Employees_UpdatePaymentDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentDetailsId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the payment details.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command containing the payment details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeePaymentDetailsUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentMethods": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment methods",
        "description": "Returns a list of the payment methods that have been configured for the specified employee. An employee must have one primary payment method,\n            and may have multiple secondary payment methods.",
        "operationId": "Employees_GetAllPaymentMethods",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Employees"
        ],
        "summary": "Add employee payment method",
        "description": "Adds the provided payment method to the specified employee.",
        "operationId": "Employees_Add",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The payment method details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeePaymentMethodCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentMethods/{paymentMethodId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment method",
        "description": "Returns the requested payment method for the specified employee.",
        "operationId": "Employees_GetOnePaymentMethod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "description": "The payment method identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update employee payment method",
        "description": "Updates the provided payment method for the specified employee.",
        "operationId": "Employees_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "description": "The payment method identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The updated payment method.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PaymentMethodUpdateTemplate"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employees"
        ],
        "summary": "Delete employee payment method",
        "description": "Deletes the specified payment method for the specified employee. Primary payment methods cannot be deleted.",
        "operationId": "Employees_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentMethodId",
            "in": "path",
            "required": true,
            "description": "The payment method identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaygPaymentSummaries/Search": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment summaries by search filter",
        "description": "Returns all Employee Payment Summaries that the current user has permissions to retrieve.",
        "operationId": "Employees_SearchEmployeePaygPaymentSummaries",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "CreatedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "CreatedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "FinancialYear",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 1000265983,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "ANCHETA",
                      "givenName": "Lovely Marian",
                      "employeeId": 1000001234,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 6946.0,
                      "grossPay": 30243.58,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    },
                    {
                      "id": 1000265984,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "BANNISTER",
                      "givenName": "Alan",
                      "employeeId": 1000001235,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 39300.0,
                      "grossPay": 117772.85,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/PaymentSummaries": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment summaries",
        "description": "Returns all Employee Payment Summaries that the current user has permissions to retrieve.",
        "operationId": "Employees_GetEmployeePaygPaymentSummaries",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 1000265983,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "ANCHETA",
                      "givenName": "Lovely Marian",
                      "employeeId": 1000001234,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 6946.0,
                      "grossPay": 30243.58,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    },
                    {
                      "id": 1000265984,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "BANNISTER",
                      "givenName": "Alan",
                      "employeeId": 1000001235,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 39300.0,
                      "grossPay": 117772.85,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{employeeId}/PaymentSummaries/{paymentSummaryId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payment summary details",
        "description": "Returns all Employee Payment Summaries that the current user has permissions to retrieve.",
        "operationId": "Employees_GetEmployeePaygPaymentSummaryDetail",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "paymentSummaryId",
            "in": "path",
            "required": true,
            "description": "The payment summary identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "paygPaymentSummaries": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address2",
                        "fbtExemptY": "",
                        "fbtExemptN": "",
                        "employeeID": 1,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1  ",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "startDate": "2017-06-01T00:00:00",
                        "endDate": "2017-06-30T00:00:00",
                        "tfn": "111 111 111",
                        "totalTaxWitheld": 13641.0,
                        "grossPayments": 31482.0,
                        "cdep": 0.0,
                        "employerSGC": 0.0,
                        "fbt": 0.0,
                        "totalAllowances": 0.0,
                        "lumpSumA": 0.0,
                        "lumpSumB": 0.0,
                        "lumpSumD": 0.0,
                        "lumpSumE": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, John",
                        "branchNumber": "001",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "allowances": [
                          {
                            "description": "Allowance",
                            "dollars": 5876.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "deductions": [
                          {
                            "description": " Deduction",
                            "dollars": 100.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "workplaceGivings": [
                          {
                            "description": "Workplace giving",
                            "dollars": 10.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "fbtExempt": false,
                        "workingholidaygroup": 0
                      }
                    ],
                    "paygPaymentSummaryEtps": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address 2",
                        "employeeID": 45398,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "tfn": "111 111 111",
                        "taxWithheld": 12825.0,
                        "taxableComponent": 48076.0,
                        "taxFreeComponent": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, Jane",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "branchNumber": "001",
                        "lookupCodeID": 0,
                        "etpCode": "O",
                        "paidDate": "2017-01-01T00:00:00",
                        "paygPaymentSummaryID": 0,
                        "transitionalTerminationPayment": "N",
                        "partOfPayment": "N",
                        "deathBenefit": "N",
                        "startDate": "0001-01-01T00:00:00",
                        "endDate": "0001-01-01T00:00:00"
                      }
                    ],
                    "employeeShareSchemes": [
                      {
                        "employeeShareSchemes": [
                          {
                            "employerName": "Company A",
                            "employerAddress1": "Address 1",
                            "employerAddress2": "Address 2",
                            "employeeID": 1,
                            "employeeName": "DOE, John",
                            "employeeAddress1": "Address 1",
                            "employeeAddress2": "Address 2",
                            "financialYear": 2016,
                            "financialYearNext": 2017,
                            "tfn": "111 111 111",
                            "d": 0.0,
                            "e": 0.0,
                            "f": 27159.67,
                            "g": 0.0,
                            "c": 0.0,
                            "employerABN": "11 111 111 111",
                            "authorisedBy": "DOE, Jane",
                            "branchNumber": "001",
                            "authorisedDate": "2017-06-30T00:00:00"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/Payslips": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee payslips",
        "description": "Returns a list of the payslips that have been generated for the specified employee; the list may be\nfiltered by specifying one or more search parameters.",
        "operationId": "Employees_GetPayslips",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "PaymentMethod",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/EmployeePaymentMethodType"
                }
              ]
            }
          },
          {
            "name": "NetPayFrom",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal",
              "nullable": true
            }
          },
          {
            "name": "NetPayTo",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal",
              "nullable": true
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-04-24T00:00:00",
                      "startDate": "2017-04-17T00:00:00",
                      "endDate": "2017-04-30T00:00:00",
                      "netPay": 2000.0,
                      "id": 4
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-04-11T00:00:00",
                      "startDate": "2017-03-27T00:00:00",
                      "endDate": "2017-04-09T00:00:00",
                      "netPay": 2001.0,
                      "id": 3
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-03-28T00:00:00",
                      "startDate": "2017-03-13T00:00:00",
                      "endDate": "2017-03-26T00:00:00",
                      "netPay": 2002.0,
                      "id": 2
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-03-14T00:00:00",
                      "startDate": "2017-02-27T00:00:00",
                      "endDate": "2017-03-12T00:00:00",
                      "netPay": 2003.0,
                      "id": 1
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{employeeId}/Payslips/{payslipId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get an employee payslip",
        "description": "Returns the details of the payslip. The payslip can be accessed by any user with the EmployeeAuthority role and the appropriate cost centres.",
        "operationId": "Employees_GetPayslip",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "payslipId",
            "in": "path",
            "required": true,
            "description": "The identifier of the payslip.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 4,
                    "paidDate": "2017-05-04T00:00:00",
                    "payPeriodFrom": "2017-04-17T00:00:00",
                    "payPeriodTo": "2017-04-30T00:00:00",
                    "paycycle": "Fortnightly",
                    "employerName": "Test Pty Limited",
                    "employerABN": "111111111111",
                    "employee": {
                      "name": "DOE, John",
                      "id": 123
                    },
                    "location": "10 - MyChoice",
                    "occupation": "Coordinator",
                    "hourlyRate": 23.1084,
                    "salary": 45662.1,
                    "isShowSalary": true,
                    "employeeID": 0,
                    "items": [
                      {
                        "description": "Ordinary Hours",
                        "costCentreID": 0,
                        "rate": 23.1084,
                        "units": 76.0,
                        "value": 1756.24,
                        "rdoHours": 0.0,
                        "itemType": "PaycodeBeforeTaxNonNotation"
                      },
                      {
                        "description": "Gross Package",
                        "costCentreID": 0,
                        "value": 1756.24,
                        "itemType": "GrossPackage"
                      },
                      {
                        "description": "Gross Pay",
                        "costCentreID": 0,
                        "value": 1756.24,
                        "itemType": "GrossPay"
                      },
                      {
                        "description": "Tax",
                        "costCentreID": 0,
                        "value": -280.0,
                        "itemType": "Tax"
                      },
                      {
                        "description": "Net Pay",
                        "costCentreID": 0,
                        "value": 1476.24,
                        "itemType": "NetPay"
                      },
                      {
                        "description": "9.5% (HOSTPLUS Superannuation Fund - Industry)",
                        "costCentreID": 0,
                        "value": 166.84,
                        "itemType": "FulfilmentsNoTax"
                      }
                    ],
                    "paymentAdvices": [
                      {
                        "accountName": "John Doe",
                        "paymentMethod": "EFT",
                        "amount": 1476.24,
                        "bankBSB": "062347",
                        "accountNumber": "10172028"
                      }
                    ],
                    "leaves": [
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued AL (Hours)",
                        "hours": 94.709
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued PL (Hours)",
                        "hours": 62.554
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued RDO (Hours)",
                        "hours": 0.0
                      }
                    ],
                    "ytdItems": [
                      {
                        "description": "Gross Package",
                        "itemType": "GrossPackage",
                        "amount": 37837.73
                      },
                      {
                        "description": "Gross Pay",
                        "itemType": "GrossPay",
                        "amount": 37837.73
                      },
                      {
                        "description": "Tax",
                        "itemType": "Tax",
                        "amount": -5968.0
                      },
                      {
                        "description": "Payments After Tax",
                        "itemType": "PaymentsAfterTax",
                        "amount": 130.0
                      },
                      {
                        "description": "Net Pay",
                        "itemType": "NetPay",
                        "amount": 31999.73
                      },
                      {
                        "description": "Employer Super",
                        "itemType": "EmployerSuper",
                        "amount": 3570.38
                      }
                    ],
                    "superPaymentItems": [
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-04-07T00:00:00",
                        "accountingMonthYear": "2017-03-01T00:00:00",
                        "amount": 333.68
                      },
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-03-13T00:00:00",
                        "accountingMonthYear": "2017-02-01T00:00:00",
                        "amount": 333.68
                      },
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-02-13T00:00:00",
                        "accountingMonthYear": "2017-01-01T00:00:00",
                        "amount": 333.68
                      }
                    ],
                    "leaveYTDItems": [
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued AL (Hours)",
                        "leaveHours": 94.709,
                        "ytdDescription": "Gross Package",
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 37837.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "GrossPay",
                        "ytdItemType": "GrossPay",
                        "ytdAmount": 37837.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 94.709,
                        "ytdDescription": "Tax",
                        "ytdItemType": "Tax",
                        "ytdAmount": -5968.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Payments After Tax",
                        "ytdItemType": "PaymentsAfterTax",
                        "ytdAmount": 130.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Net Pay",
                        "ytdItemType": "NetPay",
                        "ytdAmount": 31999.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Employer Super",
                        "ytdItemType": "EmployerSuper",
                        "ytdAmount": 3570.38
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued PL (Hours)",
                        "leaveHours": 62.554,
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 0.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued RDO (Hours)",
                        "leaveHours": 0.0,
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 0.0
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/TaxationDetails": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get all employee taxation details",
        "description": "Returns the taxation details for the specified employee.",
        "operationId": "Employees_GetTaxationDetails",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/TaxationDetails/{taxationDetailId}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee taxation details",
        "description": "Returns the specified taxation details for the specified employee.",
        "operationId": "Employees_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "taxationDetailId",
            "in": "path",
            "required": true,
            "description": "The taxation detail identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update employee taxation details",
        "operationId": "Employees_PutTaxationDetail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "taxationDetailId",
            "in": "path",
            "required": true,
            "description": "The taxation detail identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The details of the employee's updated taxation details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeTaxationDetailsUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/Terminations": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee termination",
        "description": "Returns an employee's termination record.",
        "operationId": "Employees_GetTerminations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Employees"
        ],
        "summary": "Add employee termination",
        "description": "Creates an employee termination record.",
        "operationId": "Employees_PostTermination",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The details of the employee termination.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeTerminationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employees",
        "description": "Returns a list of all the employees that match the provided query parameters and that the current user has permissions to retrieve.",
        "operationId": "Employees_GetAll",
        "parameters": [
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployeeToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "EmployeeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TaxFileNumber",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "IsTfnDeclarationSent",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "AuthorityId",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "OnlyGetBasicInfo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "authority": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 12345
                      },
                      "emailType": "HTML",
                      "roles": [
                        "LeaveUser",
                        "SynchroniseUser",
                        "EmployeeSelfServiceUser"
                      ],
                      "address": {
                        "state": "NSW",
                        "country": "Australia",
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "postcode": "2067"
                      },
                      "mobilePhone": "0412 345 678",
                      "homePhone": "02 8765 4321",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "taxFileNumber": "123 456 789",
                      "costCentres": [
                        {
                          "id": 1,
                          "costCentre": {
                            "name": "Administration",
                            "id": 101
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "defaultHours": 40.0,
                          "isExpired": false
                        },
                        {
                          "id": 3,
                          "costCentre": {
                            "name": "Annual Leave",
                            "id": 103
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "defaultHours": 0.0,
                          "isExpired": false
                        },
                        {
                          "id": 2,
                          "costCentre": {
                            "name": "Annual Leave (old)",
                            "id": 101
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "endDate": "2015-01-31T00:00:00",
                          "defaultHours": 0.0,
                          "isExpired": false
                        }
                      ],
                      "gender": 0,
                      "startDate": "0001-01-01T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": 0,
                      "code": "AK047",
                      "name": "KIM, Alice",
                      "id": 54321
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Employees"
        ],
        "summary": "Create an employee",
        "description": "Creates a new employee resource and returns its URI in the Location header. A matching authority resource will also be created and linked to the employee resource.",
        "operationId": "Employees_Post",
        "requestBody": {
          "x-name": "data",
          "description": "The employee that will be created.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/Search": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employees by search",
        "description": "Returns a list of all the employees that match the provided search parameters.",
        "operationId": "Employees_Search",
        "parameters": [
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployeeToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "EmployeeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TaxFileNumber",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "IsTfnDeclarationSent",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "AuthorityId",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "OnlyGetBasicInfo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "authority": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 12345
                      },
                      "emailType": "HTML",
                      "roles": [
                        "LeaveUser",
                        "SynchroniseUser",
                        "EmployeeSelfServiceUser"
                      ],
                      "address": {
                        "state": "NSW",
                        "country": "Australia",
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "postcode": "2067"
                      },
                      "mobilePhone": "0412 345 678",
                      "homePhone": "02 8765 4321",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "taxFileNumber": "123 456 789",
                      "costCentres": [
                        {
                          "id": 1,
                          "costCentre": {
                            "name": "Administration",
                            "id": 101
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "defaultHours": 40.0,
                          "isExpired": false
                        },
                        {
                          "id": 3,
                          "costCentre": {
                            "name": "Annual Leave",
                            "id": 103
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "defaultHours": 0.0,
                          "isExpired": false
                        },
                        {
                          "id": 2,
                          "costCentre": {
                            "name": "Annual Leave (old)",
                            "id": 101
                          },
                          "startDate": "2014-02-14T00:00:00",
                          "endDate": "2015-01-31T00:00:00",
                          "defaultHours": 0.0,
                          "isExpired": false
                        }
                      ],
                      "gender": 0,
                      "startDate": "0001-01-01T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": 0,
                      "code": "AK047",
                      "name": "KIM, Alice",
                      "id": 54321
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee",
        "description": "Returns the specified employee record, if it can be found and the user has sufficient permissions.",
        "operationId": "Employees_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "authority": {
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 12345
                    },
                    "emailType": "HTML",
                    "roles": [
                      "LeaveUser",
                      "SynchroniseUser",
                      "EmployeeSelfServiceUser"
                    ],
                    "address": {
                      "state": "NSW",
                      "country": "Australia",
                      "address1": "Unit 32",
                      "address2": "200-210 Windy Road",
                      "suburb": "Epping",
                      "postcode": "2067"
                    },
                    "mobilePhone": "0412 345 678",
                    "homePhone": "02 8765 4321",
                    "dateOfBirth": "1981-02-14T00:00:00",
                    "taxFileNumber": "123 456 789",
                    "costCentres": [
                      {
                        "id": 1,
                        "costCentre": {
                          "name": "Administration",
                          "id": 101
                        },
                        "startDate": "2014-02-14T00:00:00",
                        "defaultHours": 40.0,
                        "isExpired": false
                      },
                      {
                        "id": 3,
                        "costCentre": {
                          "name": "Annual Leave",
                          "id": 103
                        },
                        "startDate": "2014-02-14T00:00:00",
                        "defaultHours": 0.0,
                        "isExpired": false
                      },
                      {
                        "id": 2,
                        "costCentre": {
                          "name": "Annual Leave (old)",
                          "id": 101
                        },
                        "startDate": "2014-02-14T00:00:00",
                        "endDate": "2015-01-31T00:00:00",
                        "defaultHours": 0.0,
                        "isExpired": false
                      }
                    ],
                    "gender": 0,
                    "startDate": "0001-01-01T00:00:00",
                    "familyName": "Kim",
                    "givenName": "Alice",
                    "email": "alice.kim@acme.inc",
                    "status": 0,
                    "code": "AK047",
                    "name": "KIM, Alice",
                    "id": 54321
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update an employee",
        "description": "Updates the specified employee with the provided details.",
        "operationId": "Employees_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The updated employee data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmployeeUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/IncomeStream": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get Employee Income Streams.",
        "operationId": "Employees_GetIncomeStream",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    [
                      {
                        "employeeId": 1234,
                        "incomeStreamType": "SAW"
                      },
                      {
                        "employeeId": 5678,
                        "incomeStreamType": "FEI"
                      }
                    ],
                    [
                      {
                        "employeeId": 8596,
                        "incomeStreamType": "CHP"
                      },
                      {
                        "employeeId": 3659,
                        "incomeStreamType": "LAB"
                      }
                    ]
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/IncomeStream": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get an Employee's income stream using employeeId.",
        "operationId": "Employees_GetIncomeStreamById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the employee.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "employeeId": 1234,
                    "incomeStreamType": "SAW"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/taxtreatmentcodes": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee tax treatment code",
        "operationId": "Employees_GetTaxTreatmentCodes",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "employeeId": 185839,
                    "taxTreatmentCode": "FFS1XX"
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employees/{id}/taxtreatmentcodes": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Get employee tax treatment code",
        "operationId": "Employees_GetTaxTreatmentCodesByEmployeeId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "employeeId": 185839,
                    "taxTreatmentCode": "FFS1XX"
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Locations": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get all employer pay locations",
        "description": "Returns all the pay locations that have been set upfor the specified employer.",
        "operationId": "Employers_GetLocations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "state": "NSW",
                      "name": "Sydney (George Street)",
                      "id": 12345
                    },
                    {
                      "state": "NSW",
                      "name": "Sydney (Haymarket)",
                      "id": 12346
                    },
                    {
                      "state": "VIC",
                      "name": "Melbourne",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{employerId}/Locations/Search": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Search for employer pay locations",
        "description": "Returns the matching pay locations that have been set up for the specified employer.",
        "operationId": "Employers_SearchLocations",
        "parameters": [
          {
            "name": "employerId",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "Id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "Name",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "state": "NSW",
                      "name": "Sydney (George Street)",
                      "id": 12345
                    },
                    {
                      "state": "NSW",
                      "name": "Sydney (Haymarket)",
                      "id": 12346
                    },
                    {
                      "state": "VIC",
                      "name": "Melbourne",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Locations/{locationId}": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get an employer pay location",
        "description": "Returns the specified employer pay location.",
        "operationId": "Employers_GetLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "description": "The location identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "state": "NSW",
                    "name": "Sydney (George Street)",
                    "id": 12345
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Settings": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get all the employer settings",
        "description": "Returns all the settings that have been set up for the specified employer.",
        "operationId": "Employers_GetSettings",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Allow Timesheet administrator to assign work rules to timesheet templates",
                      "code": "AllowWorkRules",
                      "enabled": true,
                      "isTextInput": false,
                      "id": 12345
                    },
                    {
                      "description": "Restrict payroll administrators to particular pay cycles",
                      "code": "EnablePaycycleSecurity",
                      "enabled": false,
                      "isTextInput": false,
                      "id": 12345
                    },
                    {
                      "description": "Number of days that the system should wait before sending Approver Notification",
                      "code": "ApproverRemindDays",
                      "enabled": false,
                      "isTextInput": true,
                      "textInput": "7",
                      "id": 12345
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Superfunds": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get all superfunds",
        "description": "Returns a list of all the superfunds that have been set up for the employer.",
        "operationId": "Employers_SuperfundsGetAll",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "usi": "12938719284",
                      "spin": "1230123123",
                      "sfn": 894782342,
                      "type": "None",
                      "abn": "64971749321",
                      "paymentMethod": 0,
                      "offering": 0,
                      "isExpired": false,
                      "name": "Commonwealth Life Superannuation Mastertrust",
                      "id": 1000001001
                    },
                    {
                      "usi": "97427834242",
                      "spin": "1928371283",
                      "sfn": 2346237423,
                      "type": "None",
                      "abn": "63002916458",
                      "paymentMethod": 0,
                      "offering": 0,
                      "isExpired": false,
                      "name": "Westpac Mining Industry Fund",
                      "id": 1000001002
                    },
                    {
                      "esa": {
                        "id": 15
                      },
                      "bsb": "012-345",
                      "account": "012345678",
                      "type": "None",
                      "abn": "79885561301",
                      "paymentMethod": 0,
                      "offering": 0,
                      "isExpired": false,
                      "name": "NAB SMSF",
                      "id": 1000001003
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Employers"
        ],
        "summary": "Add a self-managed superfund",
        "description": "Adds a self-managed superfund to the superfunds supported by the employer.",
        "operationId": "Employers_Post",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SuperFundCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Superfunds/{superfundId}": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get a superfund",
        "description": "Returns the specified superfund for the employer.",
        "operationId": "Employers_SuperfundsGetOne",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "superfundId",
            "in": "path",
            "required": true,
            "description": "The superfund identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "usi": "12938719284",
                    "spin": "1230123123",
                    "sfn": 894782342,
                    "type": "None",
                    "abn": "64971749321",
                    "paymentMethod": 0,
                    "offering": 0,
                    "isExpired": false,
                    "name": "Commonwealth Life Superannuation Mastertrust",
                    "id": 1000001001
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}/Roles": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get employer roles",
        "description": "Returns a list of the roles that have been assigned to the employer. Only roles which have been assigned to the employer\n            may be assigned to employees.",
        "operationId": "Employers_GetRoles",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The employer identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    "AuthorityAdministrator",
                    "EmployeeAuthority",
                    "EmployeeSelfServiceUser",
                    "EmployerAuthority",
                    "ExpenseAdministrator",
                    "ExpenseApprover",
                    "ExpenseUser",
                    "LeaveAdministrator",
                    "LeaveApprover",
                    "LeaveUser"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get all employers",
        "description": "Returns a list of all the employers that match the provided search parameters, and that the current user has access to.",
        "operationId": "Employers_Get",
        "parameters": [
          {
            "name": "EmployerId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployerGroupId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployerToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "ABN",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Role",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/UserRole"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "token": "ff35c3b2-f009-4201-b972-4c373b11f06a",
                      "tradingName": "Acme Products Inc",
                      "abn": "123 456 789",
                      "group": {
                        "channel": {
                          "isBlogEnabled": false,
                          "displayServiceAgreement": false,
                          "numberOfFreeMonth": 0,
                          "allowDirectDebit": false,
                          "parentChannelID": 0,
                          "name": "Acme Enterprises",
                          "id": 101
                        },
                        "name": "Acme Inc",
                        "id": 42
                      },
                      "contact": {
                        "phone": "0223456789",
                        "fax": "0212345678",
                        "name": "Ron Manager",
                        "address": {
                          "address1": "72 Elm Street",
                          "suburb": "Sydney",
                          "state": {
                            "name": "NSW",
                            "id": 3
                          },
                          "postcode": "2067",
                          "country": {
                            "name": "Australia",
                            "id": 13
                          }
                        }
                      },
                      "name": "Acme Products",
                      "id": 1
                    },
                    {
                      "token": "34535e6e-4499-4743-a377-1d0d3ceee11c",
                      "tradingName": "Acme Trading Pty Ltd",
                      "abn": "123 456 789",
                      "group": {
                        "channel": {
                          "isBlogEnabled": false,
                          "displayServiceAgreement": false,
                          "numberOfFreeMonth": 0,
                          "allowDirectDebit": false,
                          "parentChannelID": 0,
                          "name": "Acme Enterprises",
                          "id": 101
                        },
                        "name": "Acme Inc",
                        "id": 42
                      },
                      "contact": {
                        "phone": "0223456789",
                        "fax": "0212345678",
                        "name": "Ron Manager",
                        "address": {
                          "address1": "72 Elm Street",
                          "suburb": "Sydney",
                          "state": {
                            "name": "NSW",
                            "id": 3
                          },
                          "postcode": "2067",
                          "country": {
                            "name": "Australia",
                            "id": 13
                          }
                        }
                      },
                      "additionalDetails": {
                        "allowWorkRulesFlag": true,
                        "disableClientEmailNotifications": false
                      },
                      "name": "Acme Trading",
                      "id": 1
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/Search": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Search for employers",
        "operationId": "Employers_Search",
        "parameters": [
          {
            "name": "EmployerId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployerGroupId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployerToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "ABN",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Role",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/UserRole"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "token": "ff35c3b2-f009-4201-b972-4c373b11f06a",
                      "tradingName": "Acme Products Inc",
                      "abn": "123 456 789",
                      "group": {
                        "channel": {
                          "isBlogEnabled": false,
                          "displayServiceAgreement": false,
                          "numberOfFreeMonth": 0,
                          "allowDirectDebit": false,
                          "parentChannelID": 0,
                          "name": "Acme Enterprises",
                          "id": 101
                        },
                        "name": "Acme Inc",
                        "id": 42
                      },
                      "contact": {
                        "phone": "0223456789",
                        "fax": "0212345678",
                        "name": "Ron Manager",
                        "address": {
                          "address1": "72 Elm Street",
                          "suburb": "Sydney",
                          "state": {
                            "name": "NSW",
                            "id": 3
                          },
                          "postcode": "2067",
                          "country": {
                            "name": "Australia",
                            "id": 13
                          }
                        }
                      },
                      "name": "Acme Products",
                      "id": 1
                    },
                    {
                      "token": "34535e6e-4499-4743-a377-1d0d3ceee11c",
                      "tradingName": "Acme Trading Pty Ltd",
                      "abn": "123 456 789",
                      "group": {
                        "channel": {
                          "isBlogEnabled": false,
                          "displayServiceAgreement": false,
                          "numberOfFreeMonth": 0,
                          "allowDirectDebit": false,
                          "parentChannelID": 0,
                          "name": "Acme Enterprises",
                          "id": 101
                        },
                        "name": "Acme Inc",
                        "id": 42
                      },
                      "contact": {
                        "phone": "0223456789",
                        "fax": "0212345678",
                        "name": "Ron Manager",
                        "address": {
                          "address1": "72 Elm Street",
                          "suburb": "Sydney",
                          "state": {
                            "name": "NSW",
                            "id": 3
                          },
                          "postcode": "2067",
                          "country": {
                            "name": "Australia",
                            "id": 13
                          }
                        }
                      },
                      "additionalDetails": {
                        "allowWorkRulesFlag": true,
                        "disableClientEmailNotifications": false
                      },
                      "name": "Acme Trading",
                      "id": 1
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Employers/{id}": {
      "get": {
        "tags": [
          "Employers"
        ],
        "summary": "Get an employer",
        "operationId": "Employers_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "token": "ff35c3b2-f009-4201-b972-4c373b11f06a",
                    "tradingName": "Acme Products Inc",
                    "abn": "123 456 789",
                    "group": {
                      "channel": {
                        "isBlogEnabled": false,
                        "displayServiceAgreement": false,
                        "numberOfFreeMonth": 0,
                        "allowDirectDebit": false,
                        "parentChannelID": 0,
                        "name": "Acme Enterprises",
                        "id": 101
                      },
                      "name": "Acme Inc",
                      "id": 42
                    },
                    "contact": {
                      "phone": "0223456789",
                      "fax": "0212345678",
                      "name": "Ron Manager",
                      "address": {
                        "address1": "72 Elm Street",
                        "suburb": "Sydney",
                        "state": {
                          "name": "NSW",
                          "id": 3
                        },
                        "postcode": "2067",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      }
                    },
                    "name": "Acme Products",
                    "id": 1
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Documents": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get all documents",
        "description": "Returns a list of the documents that have been attached to the specified expense application, such as copies of receipts.",
        "operationId": "ExpenseApplications_GetDocuments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "uploadedBy": {
                        "name": "KIM, Alice",
                        "id": 1000012345
                      },
                      "fileName": "this is my expenses for the month",
                      "description": "Expense attachment for $10.61 (include GST) at 04/23/2017",
                      "fileExtension": "PDF",
                      "fileSize": 1223,
                      "uploaded": "2017-04-20T17:05:02",
                      "id": 9
                    },
                    {
                      "uploadedBy": {
                        "name": "KIM, Alice",
                        "id": 1000012345
                      },
                      "fileName": "Expense Reimbursement",
                      "description": "Expense attachment for $90.23 (exclude GST) at 08/23/2017",
                      "fileExtension": "JPG",
                      "fileSize": 1223,
                      "uploaded": "2017-04-20T17:06:45",
                      "id": 10
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Add a document",
        "description": "Attaches a document to an expense application, such as a copy of a receipt.",
        "operationId": "ExpenseApplications_PostDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationDocumentCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Documents/{documentId}": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get a document",
        "description": "Downloads a document that has been attached to an expense application, such as a copy of a receipt.",
        "operationId": "ExpenseApplications_GetDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application document.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Events": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get all events",
        "description": "Returns a list of the events that have occurred during the lifetime of the specified expense application.",
        "operationId": "ExpenseApplications_GetEvents",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "triggeredBy": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kimg@biginc.com",
                        "status": 0,
                        "code": "AK0002",
                        "id": 234567
                      },
                      "triggered": "2017-02-14T09:15:27",
                      "status": "Processing",
                      "id": 123456
                    },
                    {
                      "triggeredBy": {
                        "familyName": "Smith",
                        "givenName": "John",
                        "email": "john.smith@biginc.com",
                        "status": 0,
                        "code": "JS0101",
                        "id": 234567
                      },
                      "triggered": "2017-02-17T11:09:47",
                      "status": "Accepted",
                      "id": 123458
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Events/{eventId}": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get an event",
        "description": "Returns a specified event that occurred during the lifetime of the specified expense application.",
        "operationId": "ExpenseApplications_GetEvent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The event identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "triggeredBy": {
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kimg@biginc.com",
                      "status": 0,
                      "code": "AK0002",
                      "id": 234567
                    },
                    "triggered": "2017-02-14T09:15:27",
                    "status": "Processing",
                    "id": 123456
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Approvals": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get all approvals",
        "description": "Returns a list of the approvals that have occurred during the lifetime of the specified expense application.",
        "operationId": "ExpenseApplications_GetApprovals",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "approver": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "position": {
                        "status": 0,
                        "name": "Finance",
                        "id": 100002345
                      },
                      "approved": "2006-02-16T15:02:42.263",
                      "id": 31
                    },
                    {
                      "approver": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "position": {
                        "status": 0,
                        "name": "Finance",
                        "id": 100002346
                      },
                      "approved": "2006-03-30T15:33:28.053",
                      "id": 32
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Approvals/{approvalId}": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get an approval",
        "description": "Returns a specified approval that occurred during the lifetime of the specified expense application.",
        "operationId": "ExpenseApplications_GetApproval",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "approvalId",
            "in": "path",
            "required": true,
            "description": "The approval identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "approver": {
                      "status": 0,
                      "name": "KIM, Alice",
                      "id": 1000054321
                    },
                    "position": {
                      "status": 0,
                      "name": "Finance",
                      "id": 100002345
                    },
                    "approved": "2006-02-16T15:02:42.263",
                    "id": 31
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Comments": {
      "post": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Add a comment",
        "description": "Adds a comment to the expense application.",
        "operationId": "ExpenseApplications_PostComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The expense application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The data to insert.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationCommentCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get all comments",
        "description": "Returns a list of all the comments that have been attached to the specified expense application.",
        "operationId": "ExpenseApplications_GetComments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "commentedBy": {
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "commented": "2006-02-16T15:02:42.263",
                      "comments": "Applying for an expense for $100 (include GST)",
                      "id": 31
                    },
                    {
                      "commentedBy": {
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "commented": "2006-03-30T15:33:28.053",
                      "comments": "Waiting approval from Peter PARKER (12345)",
                      "id": 32
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Comments/{commentId}": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get a comment",
        "description": "Returns a comment that has been attached to the specified expense application.",
        "operationId": "ExpenseApplications_GetComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "commentId",
            "in": "path",
            "required": true,
            "description": "The identifier of the comment.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "commentedBy": {
                      "name": "KIM, Alice",
                      "id": 1000054321
                    },
                    "commented": "2006-02-16T15:02:42.263",
                    "comments": "Applying for an expense for $100 (include GST)",
                    "id": 31
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Delete a comment",
        "description": "Deletes the specified comment from the expense application.",
        "operationId": "ExpenseApplications_DeleteComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "commentId",
            "in": "path",
            "required": true,
            "description": "The identifier of the comment.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get expense applications",
        "description": "Returns a list of all expense applications; if no search parameters are provided, then the list will be filtered to contain all applications\nthat are not cancelled, declined, or paid out.",
        "operationId": "ExpenseApplications_Get",
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "Status",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/ExpenseApplicationStatus"
              }
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "SortOrder",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SortDirection"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 231421321,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "expenseType": {
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Expenses",
                          "id": 11002
                        },
                        "isActive": true,
                        "name": "Car Allowance",
                        "id": 10272
                      },
                      "applied": "2016-04-09T00:00:00",
                      "amount": 456.78,
                      "status": "Processing",
                      "position": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "isGst": false
                    },
                    {
                      "id": 231421321,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "expenseType": {
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 0,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Expenses",
                          "id": 11002
                        },
                        "isActive": false,
                        "name": "Expense Reimbursement",
                        "id": 10272
                      },
                      "applied": "2016-12-29T00:00:00",
                      "amount": 898.45,
                      "status": "Accepted",
                      "position": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "isGst": true
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Create an expense application",
        "description": "Creates a new expense application.",
        "operationId": "ExpenseApplications_Post",
        "requestBody": {
          "x-name": "command",
          "description": "The expense application details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}": {
      "get": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Get an expense application",
        "description": "Returns a single expense application that matches the identifier provided.",
        "operationId": "ExpenseApplications_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 231421321,
                    "employee": {
                      "emailType": "Text",
                      "gender": 0,
                      "startDate": "0001-01-01T00:00:00",
                      "familyName": "KIM",
                      "givenName": "Alice",
                      "status": "Active",
                      "name": "KIM, Alice",
                      "id": 54321
                    },
                    "expenseType": {
                      "paycode": {
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 11002
                      },
                      "isActive": true,
                      "name": "Car Allowance",
                      "id": 10272
                    },
                    "applied": "2016-04-09T00:00:00",
                    "amount": 456.78,
                    "status": "Processing",
                    "position": {
                      "status": 0,
                      "name": "Administration",
                      "id": 45678
                    },
                    "isGst": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Update an expense application",
        "description": "Updates the specified expense application.",
        "operationId": "ExpenseApplications_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The expense application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The updated expense application.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseApplications/{id}/Actions/Cancel": {
      "put": {
        "tags": [
          "ExpenseApplications"
        ],
        "summary": "Cancel an expense application",
        "description": "Cancels the specified expense application.",
        "operationId": "ExpenseApplications_Cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The expense application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The updated expense application.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationCancelCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpensePaycodes": {
      "get": {
        "tags": [
          "ExpensePaycodes"
        ],
        "summary": "Get expense paycodes",
        "description": "Returns a collection of the expense paycodes that have been defined for the customer, optionally filtered by the provided search parameters.",
        "operationId": "ExpensePaycodes_Get",
        "parameters": [
          {
            "name": "Name",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Description",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Units",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaycodeUnitsType"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaycodeType"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "SortOrder",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SortDirection"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Expense Reimbursement",
                      "type": "Allowance",
                      "unitType": "Dollars",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 1,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Expenses",
                      "id": 1000000526
                    },
                    {
                      "description": "Staff Purchases",
                      "type": "Payment",
                      "unitType": "Dollars",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 2,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Purchases",
                      "id": 1000000660
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpensePaycodes/{id}": {
      "get": {
        "tags": [
          "ExpensePaycodes"
        ],
        "summary": "Get an expense paycode",
        "description": "Returns the expense paycode that matches the specified identifier.",
        "operationId": "ExpensePaycodes_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense paycode.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Expense Reimbursement",
                    "type": "Allowance",
                    "unitType": "Dollars",
                    "requiresOwnLine": false,
                    "sickLeaveIncrementType": 0,
                    "annualLeaveIncrementType": 0,
                    "longServiceLeaveIncrementType": 0,
                    "carersLeaveIncrementType": false,
                    "sortOrder": 1,
                    "oteFlag": false,
                    "qualifyingEarningsFlag": false,
                    "expiredFlag": false,
                    "name": "Expenses",
                    "id": 1000000526
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseTypes": {
      "get": {
        "tags": [
          "ExpenseTypes"
        ],
        "summary": "Get expense types",
        "description": "Returns a list of the expense types that are available to be used in an expense application.",
        "operationId": "ExpenseTypes_GetAll",
        "parameters": [
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "SortOrder",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SortDirection"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Bonus",
                      "id": 1000000526
                    },
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Purchases",
                      "id": 1000000660
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/ExpenseTypes/{id}": {
      "get": {
        "tags": [
          "ExpenseTypes"
        ],
        "summary": "Get an expense type",
        "description": "Returns the expense type that matches the specified identifier.",
        "operationId": "ExpenseTypes_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the expense type to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Bonus",
                      "id": 1000000526
                    },
                    {
                      "paycode": {
                        "description": "Expense Reimbursement",
                        "type": "Allowance",
                        "unitType": "Dollars",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Expenses",
                        "id": 1000000526
                      },
                      "isActive": true,
                      "name": "Purchases",
                      "id": 1000000660
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/FinancialYears": {
      "get": {
        "tags": [
          "FinancialYears"
        ],
        "summary": "Get all financial years",
        "description": "Returns a list of the financial years for which data is held for the employer.",
        "operationId": "FinancialYears_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "year": 2024,
                      "start": "2024-01-07T00:00:00",
                      "end": "2025-06-30T23:59:59",
                      "isCurrent": false
                    },
                    {
                      "year": 2025,
                      "start": "2025-01-07T00:00:00",
                      "end": "2026-06-30T23:59:59",
                      "isCurrent": false
                    },
                    {
                      "year": 2026,
                      "start": "2026-01-07T00:00:00",
                      "end": "2027-06-30T23:59:59",
                      "isCurrent": true
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/FinancialYears/{financialYear}/EmployeeShareSchemes": {
      "get": {
        "tags": [
          "FinancialYears"
        ],
        "summary": "Get employee share scheme data",
        "description": "Returns a list of the employee share scheme data for the specified financial year.",
        "operationId": "FinancialYears_Get2",
        "parameters": [
          {
            "name": "financialYear",
            "in": "path",
            "required": true,
            "description": "The financial year for which employee share scheme data should be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "financialYear": 2016,
                      "employeeCode": "ALCH0041",
                      "givenName": "Alice",
                      "familyName": "CHEN",
                      "taxedEligible": 2425.76,
                      "taxedIneligible": 167.94,
                      "deferralSchemes": 4892.08,
                      "discount": 1001.79
                    },
                    {
                      "financialYear": 2016,
                      "employeeCode": "BOJO0192",
                      "givenName": "Bob",
                      "familyName": "JONES",
                      "taxedEligible": 2453.51,
                      "taxedIneligible": 166.33,
                      "deferralSchemes": 5001.96,
                      "discount": 977.0,
                      "tfnWithheld": 199.81
                    },
                    {
                      "financialYear": 2016,
                      "employeeCode": "JOSM0015",
                      "givenName": "Jo",
                      "familyName": "SMITH",
                      "taxedEligible": 2495.79,
                      "taxedIneligible": 178.18,
                      "deferralSchemes": 4887.2,
                      "discount": 1009.84,
                      "tfnWithheld": 198.98
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "FinancialYears"
        ],
        "summary": "Updates employee share scheme data",
        "description": "Updates the employee share scheme data for the specified financial year.",
        "operationId": "FinancialYears_Put",
        "parameters": [
          {
            "name": "financialYear",
            "in": "path",
            "required": true,
            "description": "The financial year.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the request parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateEmployeeShareSchemeCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/FulfilmentOfferings/ESA": {
      "get": {
        "tags": [
          "FulfilmentOfferings"
        ],
        "summary": "Get all ESAs",
        "description": "Returns a list of all the Electronic Service Addresses that have been set up for self-managed superfunds.",
        "operationId": "FulfilmentOfferings_GetEsa",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/FulfilmentOfferings/ESA/{id}": {
      "get": {
        "tags": [
          "FulfilmentOfferings"
        ],
        "summary": "Get an ESA",
        "description": "Returns a list of all the Electronic Service Addresses that have been set up for self-managed superfunds.",
        "operationId": "FulfilmentOfferings_GetEsa2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the Electronic Service Address that should be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/GlobalVariables/{type}": {
      "get": {
        "tags": [
          "GlobalVariables"
        ],
        "summary": "Get a paycycle.",
        "description": "Returns the requested Global variables.",
        "operationId": "GlobalVariables_Get",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The global variable type.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "type": "Weekly",
                    "initialStartDate": "2012-01-01T00:00:00",
                    "payPeriods": [
                      {
                        "start": 0,
                        "end": 0,
                        "paidDay": {
                          "days": 7,
                          "isEndOfMonth": false
                        },
                        "processedDay": {
                          "days": 4,
                          "isEndOfMonth": false
                        },
                        "accountingDay": {
                          "days": 5,
                          "isEndOfMonth": false
                        }
                      }
                    ],
                    "isExpired": true,
                    "isUpdated": true,
                    "name": "Weekly",
                    "id": 12345
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Heartbeat": {
      "head": {
        "tags": [
          "Heartbeat"
        ],
        "summary": "Check API status (GET)",
        "description": "Provides a lightweight method for checking that the API is currently online and processing requests.\nWhere possible, use this endpoint in preference to the GET /Heartbeat endpoint.",
        "operationId": "Heartbeat_Head",
        "responses": {
          "200": {
            "description": "The API is currently online, and processing requests."
          },
          "503": {
            "description": "The API is currently offline, either for maintenance, or due to temporary overloading."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "Heartbeat"
        ],
        "summary": "Check API status (HEAD)",
        "description": "Provides a lightweight method for checking that the API is currently online and processing requests.\nWhere possible, use the HEAD /Heartbeat endpoint in preference to this endpoint.",
        "operationId": "Heartbeat_Get",
        "responses": {
          "200": {
            "description": "The API is currently online, and processing requests."
          },
          "503": {
            "description": "The API is currently offline, either for maintenance, or due to temporary overloading."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/InputsheetViews": {
      "get": {
        "tags": [
          "InputSheetViews"
        ],
        "summary": "Get all inputsheet views",
        "description": "Returns all the inputsheet views that the current user has access to.",
        "operationId": "InputSheetViews_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 23456
                      },
                      "expiry": "2016-02-14T00:00:00",
                      "name": "Weekly",
                      "id": 12345
                    },
                    {
                      "payCycle": {
                        "type": "Monthly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Monthly",
                        "id": 23457
                      },
                      "name": "Monthly",
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/InputsheetViews/Search": {
      "get": {
        "tags": [
          "InputSheetViews"
        ],
        "summary": "Search for inputsheet views",
        "description": "Returns all matching inputsheet views that the current user has access to.",
        "operationId": "InputSheetViews_Search",
        "parameters": [
          {
            "name": "InputsheetViewId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 23456
                      },
                      "expiry": "2016-02-14T00:00:00",
                      "name": "Weekly",
                      "id": 12345
                    },
                    {
                      "payCycle": {
                        "type": "Monthly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Monthly",
                        "id": 23457
                      },
                      "name": "Monthly",
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/InputsheetViews/{id}": {
      "get": {
        "tags": [
          "InputSheetViews"
        ],
        "summary": "Get an inputsheet view",
        "description": "Returns the requested inputsheet view.",
        "operationId": "InputSheetViews_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the inputsheet view.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "payCycle": {
                      "type": "Weekly",
                      "initialStartDate": "0001-01-01T00:00:00",
                      "isExpired": false,
                      "isUpdated": false,
                      "name": "Weekly",
                      "id": 23456
                    },
                    "expiry": "2016-02-14T00:00:00",
                    "name": "Weekly",
                    "id": 12345
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Jobs": {
      "delete": {
        "tags": [
          "Jobs"
        ],
        "summary": "Cancel a Job",
        "operationId": "Jobs_Cancel",
        "responses": {
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Jobs/{id}/status": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get job status",
        "operationId": "Jobs_GetStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Job identifier",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "status": "Queued"
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Comments": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get all comments",
        "description": "Returns all the comments associated with the leave application.",
        "operationId": "LeaveApplications_GetComments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "commentedBy": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "commented": "2006-02-16T15:02:42.263",
                      "comments": "Applying for leave from 20/02/2006 to 22/02/2006 for 14 hours",
                      "id": 31
                    },
                    {
                      "commentedBy": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "commented": "2006-03-30T15:33:28.053",
                      "comments": "Waiting approval from Peter PARKER (12345)",
                      "id": 32
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Add a comment",
        "description": "Adds a new comment to the specified leave application.",
        "operationId": "LeaveApplications_PostComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The details of the comment that should be added",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationCommentCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Comments/{commentId}": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get a comment",
        "description": "Returns the specified comment from the specified leave application.",
        "operationId": "LeaveApplications_GetComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "commentId",
            "in": "path",
            "required": true,
            "description": "The comment identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "commentedBy": {
                      "status": 0,
                      "name": "KIM, Alice",
                      "id": 1000054321
                    },
                    "commented": "2006-02-16T15:02:42.263",
                    "comments": "Applying for leave from 20/02/2006 to 22/02/2006 for 14 hours",
                    "id": 31
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Documents": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get all documents",
        "description": "Returns a list of the documents that have been attached to the specified leave application, such as copies of medical certificates.",
        "operationId": "LeaveApplications_GetDocuments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "fileName": "medical-certificate",
                      "description": "Leave attachment for 06/12/2013 to 07/12/2013 for 3 hours",
                      "fileExtension": ".pdf",
                      "fileSize": 123456,
                      "ipAddress": "12.34.56.78",
                      "uploaded": "0001-01-01T00:00:00",
                      "id": 1
                    },
                    {
                      "fileName": "confirmation-of-permission",
                      "description": "Leave attachment for 06/12/2013 to 07/12/2013 for 3 hours",
                      "fileExtension": ".doc",
                      "fileSize": 234567,
                      "ipAddress": "12.34.56.78",
                      "uploaded": "0001-01-01T00:00:00",
                      "id": 2
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Add a document",
        "description": "Attaches a document to a leave application, such as a copy of a medical certificate.",
        "operationId": "LeaveApplications_PostDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command containing the document parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationDocumentCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Documents/{documentId}": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get a document",
        "description": "Downloads a document that has been attached to an leave application, such as a copy of a medical certificate.",
        "operationId": "LeaveApplications_GetDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application document.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Events": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get all events",
        "description": "Returns a list of the events that have occurred in relation to the specified leave application.",
        "operationId": "LeaveApplications_GetEvents",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "triggeredBy": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 234567
                      },
                      "triggered": "2017-02-14T09:15:27",
                      "status": "Processing",
                      "id": 123456
                    },
                    {
                      "triggeredBy": {
                        "status": 0,
                        "name": "SMITH, John",
                        "id": 234567
                      },
                      "triggered": "2017-02-17T11:09:47",
                      "status": "Processing",
                      "id": 123458
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Events/{eventId}": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get an event",
        "description": "Returns a specified event that has occurred in relation to the specified leave application.",
        "operationId": "LeaveApplications_GetEvent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The identifier of leave application event.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "triggeredBy": {
                      "status": 0,
                      "name": "KIM, Alice",
                      "id": 234567
                    },
                    "triggered": "2017-02-14T09:15:27",
                    "status": "Processing",
                    "id": 123456
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Approvals": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get all approvals",
        "description": "Returns a list of the approvals that have occurred in relation to the specified leave application.",
        "operationId": "LeaveApplications_GetApprovals",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "approver": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "position": {
                        "status": 0,
                        "name": "Finance",
                        "id": 100002345
                      },
                      "approved": "2006-02-16T15:02:42.263",
                      "id": 31
                    },
                    {
                      "approver": {
                        "status": 0,
                        "name": "KIM, Alice",
                        "id": 1000054321
                      },
                      "position": {
                        "status": 0,
                        "name": "Finance",
                        "id": 100002346
                      },
                      "approved": "2006-03-30T15:33:28.053",
                      "id": 32
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Approvals/{approvalId}": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get an approval",
        "description": "Returns a specified approval that has occurred in relation to the specified leave application.",
        "operationId": "LeaveApplications_GetApproval",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave application.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "approvalId",
            "in": "path",
            "required": true,
            "description": "The identifier of leave application approval.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "approver": {
                      "status": 0,
                      "name": "KIM, Alice",
                      "id": 1000054321
                    },
                    "position": {
                      "status": 0,
                      "name": "Finance",
                      "id": 100002345
                    },
                    "approved": "2006-02-16T15:02:42.263",
                    "id": 31
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get leave applications",
        "description": "Returns a list of all leave applications; if no search parameters are provided, then the list will be filtered to contain all applications\nthat are not cancelled, declined, or paid out.",
        "operationId": "LeaveApplications_Get",
        "parameters": [
          {
            "name": "AppliedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "AppliedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "LeavePaycodeId",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "Status",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "$ref": "#/components/schemas/LeaveApplicationStatus"
              }
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "SortOrder",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SortDirection"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "leavePaycode": {
                        "name": "Annual Leave",
                        "id": 34567
                      },
                      "paycode": {
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "id": 56789
                      },
                      "dateApplied": "2016-02-14T00:00:00",
                      "dateFrom": "2016-02-21T00:00:00",
                      "dateTo": "2016-02-28T00:00:00",
                      "hoursApplied": 38.0,
                      "status": "Processing",
                      "organisationChartPosition": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "workingDaysPerWeek": 5,
                      "useLeaveStartEndNomenclature": false,
                      "allowLeaveTimeInput": false
                    },
                    {
                      "id": 12346,
                      "employee": {
                        "emailType": "Text",
                        "gender": 0,
                        "startDate": "0001-01-01T00:00:00",
                        "familyName": "KIM",
                        "givenName": "Alice",
                        "status": "Active",
                        "name": "KIM, Alice",
                        "id": 23456
                      },
                      "leavePaycode": {
                        "name": "Long Service Leave",
                        "id": 34568
                      },
                      "paycode": {
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "id": 56789
                      },
                      "dateApplied": "2015-12-31T00:00:00",
                      "dateFrom": "2015-12-31T00:00:00",
                      "dateTo": "2016-01-13T00:00:00",
                      "hoursApplied": 76.0,
                      "status": "Accepted",
                      "organisationChartPosition": {
                        "status": 0,
                        "name": "Administration",
                        "id": 45678
                      },
                      "workingDaysPerWeek": 5,
                      "useLeaveStartEndNomenclature": false,
                      "allowLeaveTimeInput": false
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Create a leave application",
        "description": "Creates a new leave application.",
        "operationId": "LeaveApplications_Post",
        "requestBody": {
          "x-name": "command",
          "description": "The leave application details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Get a leave application",
        "description": "Returns the requested leave application, if it exists and the current user has access to it",
        "operationId": "LeaveApplications_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 12345,
                    "employee": {
                      "emailType": "Text",
                      "gender": 0,
                      "startDate": "0001-01-01T00:00:00",
                      "familyName": "KIM",
                      "givenName": "Alice",
                      "status": "Active",
                      "name": "KIM, Alice",
                      "id": 54321
                    },
                    "leavePaycode": {
                      "name": "Annual Leave",
                      "id": 34567
                    },
                    "paycode": {
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 0,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "id": 56789
                    },
                    "dateApplied": "2016-02-14T00:00:00",
                    "dateFrom": "2016-02-21T00:00:00",
                    "dateTo": "2016-02-28T00:00:00",
                    "hoursApplied": 38.0,
                    "status": "Processing",
                    "organisationChartPosition": {
                      "status": 0,
                      "name": "Administration",
                      "id": 45678
                    },
                    "workingDaysPerWeek": 5,
                    "useLeaveStartEndNomenclature": false,
                    "allowLeaveTimeInput": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Update a leave application",
        "description": "Updates the specified leave application.",
        "operationId": "LeaveApplications_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The updated leave application.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Redirect": {
      "put": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Redirect a leave application",
        "description": "Redirects an existing leave application to a new leave approver",
        "operationId": "LeaveApplications_Redirect",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "The leave application details",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationRedirectRequest"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/Calculate": {
      "post": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Calculate leave breakdown",
        "description": "Calculates the number of hours, days, public holidays etc which are covered by a possible leave application.",
        "operationId": "LeaveApplications_Calculate",
        "requestBody": {
          "x-name": "query",
          "description": "The leave calculation parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveCalculationQuery"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/AllowedOnHold": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Calculate leave on hold",
        "description": "Determines whether a leave application can be placed on hold.",
        "operationId": "LeaveApplications_CheckIfAllowedOnHold",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/Project": {
      "post": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Calculate leave projection",
        "description": "Calculates a leave projection - the amount of leave that will be available to an employee on a given date in the future. This takes into account their current leave balance, their leave accrual rates, public holidays etc.",
        "operationId": "LeaveApplications_CalculateLeaveProjection",
        "requestBody": {
          "x-name": "query",
          "description": "The leave projection calculation parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveProjectionQuery"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/HoursPerDay": {
      "get": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Calculate leave hours",
        "description": "Calculate the distribution of applied leave hours among working days within the leave",
        "operationId": "LeaveApplications_HoursPerDay",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveApplications/{id}/Actions/Cancel": {
      "put": {
        "tags": [
          "LeaveApplications"
        ],
        "summary": "Cancel a Leave  Application",
        "operationId": "LeaveApplications_CancelLeave",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The leave application identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationCancelActionCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveExpenseConfigurations": {
      "get": {
        "tags": [
          "LeaveExpenseConfigurations"
        ],
        "summary": "Get all configurations",
        "description": "Returns a list of all the leave expense configurations that have been defined.",
        "operationId": "LeaveExpenseConfigurations_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeavePaycodes": {
      "get": {
        "tags": [
          "LeavePaycodes"
        ],
        "summary": "Get all leave paycodes",
        "description": "Returns a list of all the leave paycodes that have been defined in the system.",
        "operationId": "LeavePaycodes_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Paycode for annual leave",
                      "paycode": {
                        "description": "Paycode for annual leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "Both",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Annual Leave",
                        "id": 1000101
                      },
                      "colourCode": "#ff0000",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "AnnualLeave",
                      "name": "Annual Leave",
                      "id": 2000201
                    },
                    {
                      "description": "Paycode for personal leave",
                      "paycode": {
                        "description": "Paycode for personal leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "Both",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 2,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Personal Leave",
                        "id": 1000102
                      },
                      "colourCode": "#00ff00",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "PersonalLeave",
                      "name": "Personal Leave",
                      "id": 2000202
                    },
                    {
                      "description": "Paycode for long service leave",
                      "paycode": {
                        "description": "Paycode for long service leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "Both",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 3,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Long Service Leave",
                        "id": 1000103
                      },
                      "colourCode": "#0000ff",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "LongServiceLeave",
                      "name": "Long Service Leave",
                      "id": 2000203
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeavePaycodes/{id}": {
      "get": {
        "tags": [
          "LeavePaycodes"
        ],
        "summary": "Get a leave paycodes",
        "description": "Returns the specified leave paycode.",
        "operationId": "LeavePaycodes_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave paycode to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Paycode for annual leave",
                    "paycode": {
                      "description": "Paycode for annual leave",
                      "type": "Payment",
                      "beforeTaxFlag": true,
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": "None",
                      "annualLeaveIncrementType": "Both",
                      "longServiceLeaveIncrementType": "None",
                      "carersLeaveIncrementType": false,
                      "unitRate": 1.0,
                      "sortOrder": 1,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Annual Leave",
                      "id": 1000101
                    },
                    "colourCode": "#ff0000",
                    "isActive": true,
                    "deductOrdinaryHoursFlag": true,
                    "leaveType": "AnnualLeave",
                    "name": "Annual Leave",
                    "id": 2000201
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeavePaycodes/Search": {
      "get": {
        "tags": [
          "LeavePaycodes"
        ],
        "summary": "Search for leave paycodes",
        "operationId": "LeavePaycodes_Search",
        "parameters": [
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Paycode for annual leave",
                      "paycode": {
                        "description": "Paycode for annual leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "Both",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 1,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Annual Leave",
                        "id": 1000101
                      },
                      "colourCode": "#ff0000",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "AnnualLeave",
                      "name": "Annual Leave",
                      "id": 2000201
                    },
                    {
                      "description": "Paycode for personal leave",
                      "paycode": {
                        "description": "Paycode for personal leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "Both",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "None",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 2,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Personal Leave",
                        "id": 1000102
                      },
                      "colourCode": "#00ff00",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "PersonalLeave",
                      "name": "Personal Leave",
                      "id": 2000202
                    },
                    {
                      "description": "Paycode for long service leave",
                      "paycode": {
                        "description": "Paycode for long service leave",
                        "type": "Payment",
                        "beforeTaxFlag": true,
                        "unitType": "Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": "None",
                        "annualLeaveIncrementType": "None",
                        "longServiceLeaveIncrementType": "Both",
                        "carersLeaveIncrementType": false,
                        "unitRate": 1.0,
                        "sortOrder": 3,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "Long Service Leave",
                        "id": 1000103
                      },
                      "colourCode": "#0000ff",
                      "isActive": true,
                      "deductOrdinaryHoursFlag": true,
                      "leaveType": "LongServiceLeave",
                      "name": "Long Service Leave",
                      "id": 2000203
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Get all leave schedules",
        "description": "Returns a list of the current leave schedules.",
        "operationId": "LeaveSchedules_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Create a leave schedule",
        "operationId": "LeaveSchedules_Post",
        "requestBody": {
          "x-name": "request",
          "description": "The CreateRosterRequest instance to be used to create the Leave Schedule.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateRosterRequest"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules/{id}": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Get a leave schedule",
        "operationId": "LeaveSchedules_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave schedule to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Update a leave schedule",
        "operationId": "LeaveSchedules_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave schedule.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "The updated leave schedule details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateRosterRequest"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules/Search": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Search for leave schedules",
        "description": "Returns a list of the leave schedules that match the provided search parameters.",
        "operationId": "LeaveSchedules_Search",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "authorityId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules/{id}/TimeEntries/{authorityId}": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Get leave schedule entries",
        "description": "Returns a collection of the time entries that have been set up for the specified leave schedule.",
        "operationId": "LeaveSchedules_GetTimeEntries",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave schedule.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "authorityId",
            "in": "path",
            "required": true,
            "description": "The (optional) identifier of the authority to filter the results by.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules/{id}/Authorities": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Get authorities",
        "description": "Returns a collection of the authorities who have been added to the specified leave schedule.",
        "operationId": "LeaveSchedules_GetAuthorities",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the leave schedule.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/LeaveSchedules/ExistingAuthorities": {
      "get": {
        "tags": [
          "LeaveSchedules"
        ],
        "summary": "Get all authorities",
        "description": "Returns a collection of the authorities who have been added to any leave schedule",
        "operationId": "LeaveSchedules_GetExistingAuthorities",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/MedicareSurcharges": {
      "get": {
        "tags": [
          "MedicareSurcharges"
        ],
        "summary": "Get all medicare surcharges.",
        "operationId": "MedicareSurcharges_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "name": "MedicareSurcharge1",
                      "currentRate": 1.0
                    },
                    {
                      "name": "MedicareSurcharge2",
                      "currentRate": 1.2
                    },
                    {
                      "name": "MedicareSurcharge3",
                      "currentRate": 1.0
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/MedicareSurcharges/{name}": {
      "get": {
        "tags": [
          "MedicareSurcharges"
        ],
        "summary": "Get medicare surcharge by its name.",
        "operationId": "MedicareSurcharges_Get2",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "description": "The medicare name.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "name": "MedicareSurcharge1",
                    "currentRate": 1.0
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "MedicareSurcharges"
        ],
        "summary": "Update medicare surcharge.",
        "operationId": "MedicareSurcharges_Update",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "description": "The medicare name.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The update command of medicare surcharge.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MedicareSurchargeUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get all organisation charts",
        "description": "Returns all organisation charts that the current user has access to.",
        "operationId": "OrganisationCharts_Get",
        "parameters": [
          {
            "name": "Name",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Code",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "name": "Leave Applications",
                      "status": "Active"
                    },
                    {
                      "id": 12349,
                      "name": "Expense Applications",
                      "status": "Active"
                    },
                    {
                      "id": 12452,
                      "name": "Expense Applications (Old)",
                      "status": "Inactive"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get an organisation chart",
        "description": "Returns the requested organisation chart.",
        "operationId": "OrganisationCharts_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "name": "Leave Applications",
                      "status": "Active"
                    },
                    {
                      "id": 12349,
                      "name": "Expense Applications",
                      "status": "Active"
                    },
                    {
                      "id": 12452,
                      "name": "Expense Applications (Old)",
                      "status": "Inactive"
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}/Positions": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get all organisation chart positions",
        "description": "Returns the positions which have been defined for the specified organisation chart.",
        "operationId": "OrganisationCharts_GetPositions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters the returned positions using the specified position name.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "code",
            "in": "query",
            "description": "Filters the returned positions using the specified position code.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "reportingPositionId",
            "in": "query",
            "description": "Filters the returned positions using the identifier of the specified reporting position.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "reportingPositionId": 12345,
                      "status": "Active",
                      "code": "29FEA876-30F6-49F8-8501-D5DBF0BEF048",
                      "name": "Sales Director",
                      "id": 12346
                    },
                    {
                      "status": "Active",
                      "code": "3E0E4689-EEFC-40AC-9604-D04C198AE614",
                      "name": "CEO",
                      "id": 12345
                    },
                    {
                      "reportingPositionId": 12345,
                      "status": "Active",
                      "code": "EB00B76E-04A9-41D7-B18E-9BC7A334F2B9",
                      "name": "Finance Director",
                      "id": 12347
                    },
                    {
                      "reportingPositionId": 12346,
                      "status": "Active",
                      "code": "22A8B7A6-7A9B-42CF-A375-F418751289EE",
                      "name": "Marketing Assistant",
                      "id": 12348
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}/Positions/{positionId}": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get an organisation chart position",
        "description": "Returns the requested position for the specified organisation chart.",
        "operationId": "OrganisationCharts_GetPosition",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "reportingPositionId": 12345,
                    "status": "Active",
                    "code": "29FEA876-30F6-49F8-8501-D5DBF0BEF048",
                    "name": "Sales Director",
                    "id": 12346
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}/Positions/{positionId}/Authorities": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get all organisation chart position authorities",
        "description": "Returns the authorities who have been assigned to a position in an organisation chart.",
        "operationId": "OrganisationCharts_GetAuthorities",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "title": "Ms",
                      "employee": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "emailType": "HTML",
                      "roles": [
                        "ExpenseApprover",
                        "LeaveApprover"
                      ],
                      "address": {
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "state": {
                          "name": "NSW",
                          "id": 2
                        },
                        "postcode": "2067",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "0412 345 678",
                      "workPhone": "02 1234 5678",
                      "workExtension": "x9",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 12345
                    },
                    {
                      "title": "Mr",
                      "emailType": "HTML",
                      "roles": [
                        "RunPayrollAuthority",
                        "SubmitPayrollAuthority",
                        "VerifyPayrollAuthority"
                      ],
                      "address": {
                        "address1": "1 Short Street",
                        "suburb": "Morningside",
                        "state": {
                          "name": "QLD",
                          "id": 7
                        },
                        "postcode": "4005",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "07 1234 5678",
                      "dateOfBirth": "1972-07-14T00:00:00",
                      "familyName": "Joe",
                      "givenName": "Bloggs",
                      "email": "joe.bloggs@acme.inc",
                      "status": "Active",
                      "code": "JB005",
                      "name": "BLOGGS, Joe",
                      "id": 23456
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Create an organisation chart position authority",
        "description": "Inserts the authority specified in the request body into the organisation chart position specified in the URI. If the Priority field is not set in the request body,\nthen the authority will be positioned at the end of the workflow; if the Priority field is set in the request body then the authority will be positioned at the\nspecified location.",
        "operationId": "OrganisationCharts_PostAuthority",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart position.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command containing the authority details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OrganisationChartPositionAuthorityCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}/Authorities": {
      "get": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Get all organisation chart authorities",
        "description": "Returns all the authorities who have been assigned to the organisation chart.",
        "operationId": "OrganisationCharts_GetAuthorities2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "costCentreCode",
            "in": "query",
            "description": "Filters the returned authorities using the specified cost centre code.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "costCentreId",
            "in": "query",
            "description": "Filters the returned authorities using the specified cost centre identifier.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "employeeCode",
            "in": "query",
            "description": "Filters the returned authorities using the specified employee code.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "employeeId",
            "in": "query",
            "description": "Filters the returned authorities using the specified employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "familyName",
            "in": "query",
            "description": "Filters the returned authorities using the specified family name.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "givenName",
            "in": "query",
            "description": "Filters the returned authorities using the specified given name.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "role",
            "in": "query",
            "description": "Filters the returned authorities using the specified role.",
            "schema": {
              "oneOf": [
                {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UserRole"
                    }
                  ]
                }
              ]
            },
            "x-position": 8
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "title": "Ms",
                      "employee": {
                        "familyName": "Kim",
                        "givenName": "Alice",
                        "email": "alice.kim@acme.inc",
                        "status": "Active",
                        "code": "AK002",
                        "name": "KIM, Alice",
                        "id": 54321
                      },
                      "emailType": "HTML",
                      "roles": [
                        "ExpenseApprover",
                        "LeaveApprover"
                      ],
                      "address": {
                        "address1": "Unit 32",
                        "address2": "200-210 Windy Road",
                        "suburb": "Epping",
                        "state": {
                          "name": "NSW",
                          "id": 2
                        },
                        "postcode": "2067",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "0412 345 678",
                      "workPhone": "02 1234 5678",
                      "workExtension": "x9",
                      "dateOfBirth": "1981-02-14T00:00:00",
                      "familyName": "Kim",
                      "givenName": "Alice",
                      "email": "alice.kim@acme.inc",
                      "status": "Active",
                      "code": "AK002",
                      "name": "KIM, Alice",
                      "id": 12345
                    },
                    {
                      "title": "Mr",
                      "emailType": "HTML",
                      "roles": [
                        "RunPayrollAuthority",
                        "SubmitPayrollAuthority",
                        "VerifyPayrollAuthority"
                      ],
                      "address": {
                        "address1": "1 Short Street",
                        "suburb": "Morningside",
                        "state": {
                          "name": "QLD",
                          "id": 7
                        },
                        "postcode": "4005",
                        "country": {
                          "name": "Australia",
                          "id": 13
                        }
                      },
                      "mobilePhone": "07 1234 5678",
                      "dateOfBirth": "1972-07-14T00:00:00",
                      "familyName": "Joe",
                      "givenName": "Bloggs",
                      "email": "joe.bloggs@acme.inc",
                      "status": "Active",
                      "code": "JB005",
                      "name": "BLOGGS, Joe",
                      "id": 23456
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/OrganisationCharts/{id}/Positions/{positionId}/Authorities/{authorityId}": {
      "put": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Update an organisation chart position authority",
        "description": "Updates the authority in the organisation chart position specified in the URI.",
        "operationId": "OrganisationCharts_PutAuthority",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart position.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          },
          {
            "name": "authorityId",
            "in": "path",
            "required": true,
            "description": "The identifier of the authority.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 3
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command containing the authority details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OrganisationChartPositionAuthorityUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "OrganisationCharts"
        ],
        "summary": "Delete an organisation chart position authority",
        "description": "Removes an authority from the organisation chart position specified in the URI.",
        "operationId": "OrganisationCharts_DeleteAuthority",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "positionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the organisation chart position.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          },
          {
            "name": "authorityId",
            "in": "path",
            "required": true,
            "description": "The identifier of the authority.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Get all paycodes",
        "description": "Returns a collection of all the paycodes that have been created.",
        "operationId": "Paycodes_GetAll",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Ordinary Time Earnings",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 1,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Ordinary Hours",
                      "id": 12345
                    },
                    {
                      "description": "Holiday",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": "Increase",
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 2,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Annual Leave",
                      "id": 12346
                    },
                    {
                      "description": "Sick leave",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": "Increase",
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 3,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Personal Leave",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/Search": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Search for paycodes",
        "description": "Returns a collection of all the paycodes that match the provided search parameters.",
        "operationId": "Paycodes_SearchPaycodes",
        "parameters": [
          {
            "name": "PaycodeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Ordinary Time Earnings",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 1,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Ordinary Hours",
                      "id": 12345
                    },
                    {
                      "description": "Holiday",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": "Increase",
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 2,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Annual Leave",
                      "id": 12346
                    },
                    {
                      "description": "Sick leave",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": "Increase",
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 3,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Personal Leave",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/{id}": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Get a paycode",
        "description": "Returns the specified paycode.",
        "operationId": "Paycodes_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the paycode.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Ordinary Time Earnings",
                    "type": "Payment",
                    "unitType": "Hours",
                    "requiresOwnLine": false,
                    "sickLeaveIncrementType": 0,
                    "annualLeaveIncrementType": 0,
                    "longServiceLeaveIncrementType": 0,
                    "carersLeaveIncrementType": false,
                    "sortOrder": 1,
                    "oteFlag": false,
                    "qualifyingEarningsFlag": false,
                    "expiredFlag": false,
                    "name": "Ordinary Hours",
                    "id": 12345
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/Templates": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Get all paycode templates",
        "description": "Returns a collection of all the paycode templates that have been created.",
        "operationId": "Paycodes_GetAllTemplates",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Ordinary Time Earnings",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "bonusFlag": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "name": "Ordinary Hours",
                      "id": 12345
                    },
                    {
                      "description": "Holiday",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "bonusFlag": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": "Increase",
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "name": "Annual Leave",
                      "id": 12346
                    },
                    {
                      "description": "Sick leave",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "bonusFlag": false,
                      "sickLeaveIncrementType": "Increase",
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "name": "Personal Leave",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/Templates/Search": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Search for paycode templates",
        "description": "Returns a collection of all the paycode templates that match the provided search parameters.",
        "operationId": "Paycodes_SearchTemplates",
        "parameters": [
          {
            "name": "PaycodeTemplateId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "description": "Ordinary Time Earnings",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 1,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Ordinary Hours",
                      "id": 12345
                    },
                    {
                      "description": "Holiday",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": 0,
                      "annualLeaveIncrementType": "Increase",
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 2,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Annual Leave",
                      "id": 12346
                    },
                    {
                      "description": "Sick leave",
                      "type": "Payment",
                      "unitType": "Hours",
                      "requiresOwnLine": false,
                      "sickLeaveIncrementType": "Increase",
                      "annualLeaveIncrementType": 0,
                      "longServiceLeaveIncrementType": 0,
                      "carersLeaveIncrementType": false,
                      "sortOrder": 3,
                      "oteFlag": false,
                      "qualifyingEarningsFlag": false,
                      "expiredFlag": false,
                      "name": "Personal Leave",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/Templates/{id}": {
      "get": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Get a paycode template",
        "description": "Returns a collection of all the paycode templates that have been created.",
        "operationId": "Paycodes_GetTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "description": "Ordinary Time Earnings",
                    "type": "Payment",
                    "unitType": "Hours",
                    "requiresOwnLine": false,
                    "bonusFlag": false,
                    "sickLeaveIncrementType": 0,
                    "annualLeaveIncrementType": 0,
                    "longServiceLeaveIncrementType": 0,
                    "carersLeaveIncrementType": false,
                    "name": "Ordinary Hours",
                    "id": 12345
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycodes/{id}/Actions/Remove": {
      "post": {
        "tags": [
          "Paycodes"
        ],
        "summary": "Bulk remove paycode",
        "operationId": "Paycodes_BulkRemove",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The paycode identifier",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The list of employee need to be removed paycode",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BulkRevokePaycodeCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycycles": {
      "get": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Get all paycycles.",
        "description": "Returns a collection of all the paycycles that have been created.",
        "operationId": "Paycycles_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "type": "Weekly",
                      "initialStartDate": "2012-01-01T00:00:00",
                      "payPeriods": [
                        {
                          "start": 0,
                          "end": 0,
                          "paidDay": {
                            "days": 7,
                            "isEndOfMonth": false
                          },
                          "processedDay": {
                            "days": 4,
                            "isEndOfMonth": false
                          },
                          "accountingDay": {
                            "days": 5,
                            "isEndOfMonth": false
                          }
                        }
                      ],
                      "isExpired": true,
                      "isUpdated": true,
                      "name": "Weekly",
                      "id": 12345
                    },
                    {
                      "type": "Fortnightly",
                      "initialStartDate": "2012-01-01T00:00:00",
                      "payPeriods": [
                        {
                          "start": 0,
                          "end": 0,
                          "paidDay": {
                            "days": 15,
                            "isEndOfMonth": false
                          },
                          "processedDay": {
                            "days": 12,
                            "isEndOfMonth": false
                          },
                          "accountingDay": {
                            "days": -1,
                            "isEndOfMonth": false
                          }
                        }
                      ],
                      "isExpired": false,
                      "isUpdated": false,
                      "name": "Fortnightly",
                      "id": 12346
                    },
                    {
                      "type": "Monthly",
                      "initialStartDate": "2016-04-01T00:00:00",
                      "payPeriods": [
                        {
                          "start": 15,
                          "end": 14,
                          "paidDay": {
                            "days": 15,
                            "isEndOfMonth": true
                          },
                          "processedDay": {
                            "days": 30,
                            "isEndOfMonth": false
                          },
                          "accountingDay": {
                            "days": 28,
                            "isEndOfMonth": false
                          }
                        }
                      ],
                      "isExpired": false,
                      "isUpdated": false,
                      "name": "Monthly",
                      "id": 12347
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Create new PayCycle",
        "operationId": "Paycycles_Create",
        "requestBody": {
          "x-name": "command",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PayCycleCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycycles/{id}": {
      "get": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Get a paycycle.",
        "description": "Returns the requested paycycle.",
        "operationId": "Paycycles_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The paycycle identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "type": "Weekly",
                    "initialStartDate": "2012-01-01T00:00:00",
                    "payPeriods": [
                      {
                        "start": 0,
                        "end": 0,
                        "paidDay": {
                          "days": 7,
                          "isEndOfMonth": false
                        },
                        "processedDay": {
                          "days": 4,
                          "isEndOfMonth": false
                        },
                        "accountingDay": {
                          "days": 5,
                          "isEndOfMonth": false
                        }
                      }
                    ],
                    "isExpired": true,
                    "isUpdated": true,
                    "name": "Weekly",
                    "id": 12345
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Update an paycycle",
        "operationId": "Paycycles_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the pay cycle.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "data",
          "description": "The data to be used when updating the pay cycle.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PayCycleUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycycles/Periods": {
      "get": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Get paycycle periods",
        "description": "Returns a list of the paycycle periods within the specified date range. Future payrolls are also calculated via the \npaycycle (their payroll ids will be set to 0).",
        "operationId": "Paycycles_GetPayCyclePeriods",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The search from date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The search to date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "type": "Weekly",
                    "initialStartDate": "2012-01-01T00:00:00",
                    "payPeriods": [
                      {
                        "start": 0,
                        "end": 0,
                        "paidDay": {
                          "days": 7,
                          "isEndOfMonth": false
                        },
                        "processedDay": {
                          "days": 4,
                          "isEndOfMonth": false
                        },
                        "accountingDay": {
                          "days": 5,
                          "isEndOfMonth": false
                        }
                      }
                    ],
                    "isExpired": true,
                    "isUpdated": true,
                    "name": "Weekly",
                    "id": 12345
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycycles/prefill": {
      "get": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Get pre-filled pay cycle values",
        "operationId": "Paycycles_GetPrefilledPayCycle",
        "parameters": [
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PayCycleType"
            }
          },
          {
            "name": "Start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "startDate": "2021-05-01T00:00:00",
                    "endDate": "2021-05-15T00:00:00",
                    "additionalStartDate": "2021-05-16T00:00:00",
                    "additionalEndDate": "2021-05-31T00:00:00"
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Paycycles/project": {
      "get": {
        "tags": [
          "Paycycles"
        ],
        "summary": "Project payrolls for a pay cycle.",
        "operationId": "Paycycles_Project",
        "parameters": [
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PayCycleType"
            }
          },
          {
            "name": "FirstPayPeriodDates",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PayPeriodDates"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "firstPayPeriod": {
                      "payrollDates": {
                        "startDate": "2021-06-14T00:00:00",
                        "endDate": "2021-06-20T00:00:00",
                        "accountingDate": "2021-06-17T00:00:00",
                        "submitDate": "2021-06-17T00:00:00",
                        "releaseDate": "2021-06-17T00:00:00",
                        "accountingDateIsLastDayOfThePayPeriod": false,
                        "submitDateIsLastDayOfThePayPeriod": false,
                        "releaseDateIsLastDayOfThePayPeriod": false,
                        "id": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentGroups": {
      "get": {
        "tags": [
          "PaymentGroups"
        ],
        "summary": "Get all payment groups",
        "description": "Returns all the available payment groups that the current user has access to.",
        "operationId": "PaymentGroups_GetAll",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 23456
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Weekly Full-Time Employees",
                      "id": 12345
                    },
                    {
                      "payCycle": {
                        "type": "Monthly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Monthly",
                        "id": 23457
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Monthly Full-Time Employees",
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentGroups/Search": {
      "get": {
        "tags": [
          "PaymentGroups"
        ],
        "summary": "Search for payment groups",
        "description": "Returns all tmatching payment groups that the current user has access to.",
        "operationId": "PaymentGroups_Search",
        "parameters": [
          {
            "name": "PaymentTemplateId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 23456
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Weekly Full-Time Employees",
                      "id": 12345
                    },
                    {
                      "payCycle": {
                        "type": "Monthly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Monthly",
                        "id": 23457
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Monthly Full-Time Employees",
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentGroups/{id}": {
      "get": {
        "tags": [
          "PaymentGroups"
        ],
        "summary": "Get a payment group",
        "description": "Returns the specified payment group.",
        "operationId": "PaymentGroups_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 23456
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Weekly Full-Time Employees",
                      "id": 12345
                    },
                    {
                      "payCycle": {
                        "type": "Monthly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Monthly",
                        "id": 23457
                      },
                      "employmentBasisType": "None",
                      "employmentStatusType": "FullTime",
                      "ordinaryPaycode": {
                        "defaultValue": 0.0,
                        "description": "Ordinary Hours",
                        "requiresOwnLine": false,
                        "sickLeaveIncrementType": 0,
                        "annualLeaveIncrementType": 0,
                        "longServiceLeaveIncrementType": 0,
                        "carersLeaveIncrementType": false,
                        "sortOrder": 0,
                        "oteFlag": false,
                        "qualifyingEarningsFlag": false,
                        "expiredFlag": false,
                        "name": "OH",
                        "id": 34567
                      },
                      "authorisedLeaveInCredit": false,
                      "name": "Monthly Full-Time Employees",
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentGroups/{paymentGroupId}/Employees": {
      "get": {
        "tags": [
          "PaymentGroups"
        ],
        "summary": "Get a list of employees that belong to a Payment Group.",
        "operationId": "PaymentGroups_GetEmployees",
        "parameters": [
          {
            "name": "paymentGroupId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the Payment Group.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentGroups/{paymentGroupId}/Paycodes": {
      "get": {
        "tags": [
          "PaymentGroups"
        ],
        "summary": "Get a list of Paycodes assigned to a Payment Group.",
        "operationId": "PaymentGroups_GetPaycodes",
        "parameters": [
          {
            "name": "paymentGroupId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the Payment Group.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentSummaries/Search": {
      "get": {
        "tags": [
          "PaymentSummaries"
        ],
        "summary": "Search for payment summaries",
        "description": "Returns a list of the payment summaries that match the provided search parameters.",
        "operationId": "PaymentSummaries_Search",
        "parameters": [
          {
            "name": "CreatedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "CreatedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "FinancialYear",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 1000265983,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "ANCHETA",
                      "givenName": "Lovely Marian",
                      "employeeId": 1000001234,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 6946.0,
                      "grossPay": 30243.58,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    },
                    {
                      "id": 1000265984,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "BANNISTER",
                      "givenName": "Alan",
                      "employeeId": 1000001235,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 39300.0,
                      "grossPay": 117772.85,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentSummaries": {
      "get": {
        "tags": [
          "PaymentSummaries"
        ],
        "summary": "Get all payment summaries",
        "description": "Returns a list of all the payment summaries that are available for the current user.",
        "operationId": "PaymentSummaries_GetAll",
        "parameters": [
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 1000265983,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "ANCHETA",
                      "givenName": "Lovely Marian",
                      "employeeId": 1000001234,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 6946.0,
                      "grossPay": 30243.58,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    },
                    {
                      "id": 1000265984,
                      "employerId": 10101010101,
                      "employerName": "Apple Inc",
                      "tradingName": "Apple Inc",
                      "familyName": "BANNISTER",
                      "givenName": "Alan",
                      "employeeId": 1000001235,
                      "startDate": "2016-01-01T00:00:00",
                      "endDate": "2016-01-01T00:00:00",
                      "taxWithheld": 39300.0,
                      "grossPay": 117772.85,
                      "nIncomeType": 0,
                      "nTotalAllowances": 0.0,
                      "nLumpSumA": 0.0,
                      "nLumpSumB": 0.0,
                      "eLumpSumC": 0.0,
                      "nLumpSumD": 0.0,
                      "nLumpSumE": 0.0,
                      "ncdep": 0.0,
                      "nOtherIncome": 0.0,
                      "nFringeBenefits": 0.0,
                      "eBefore01071983": 0.0,
                      "eAfter30061983": 0.0,
                      "ecgtExempt": 0.0,
                      "eNonQualifying": 0.0,
                      "eUndeductedContributions": 0.0,
                      "eConcessional": 0.0,
                      "ePre01071983": 0.0,
                      "ePost30061983Untaxed": 0.0,
                      "ePost30061983Taxed": 0.0,
                      "ePost30061994Invalid": 0.0,
                      "eAssessable": 0.0,
                      "eDeathBenefitFlag": false,
                      "eDeathBenefitType": false,
                      "etpFlag": 0,
                      "eTotalTaxWithheld": 0.0,
                      "eTaxableComponent": 0.0,
                      "eTaxFreeComponent": 0.0,
                      "eRelatedToPriorPayment": false,
                      "ePaymentDate": "2016-01-01T00:00:00",
                      "dateCreated": "2016-01-01T00:00:00",
                      "eWorkPlaceGiving": 0.0,
                      "eTotalResc": 0.0,
                      "eUnionProfAssocFees": 0.0,
                      "lodgementDate": "2016-01-01T00:00:00",
                      "ignoredReason": "NoReason"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentSummaries/{id}": {
      "get": {
        "tags": [
          "PaymentSummaries"
        ],
        "summary": "Get a payment summary",
        "description": "Returns the specified payment summary, if it can be be located.",
        "operationId": "PaymentSummaries_GetOne",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the payment summary to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "paygPaymentSummaries": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address2",
                        "fbtExemptY": "",
                        "fbtExemptN": "",
                        "employeeID": 1,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1  ",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "startDate": "2017-06-01T00:00:00",
                        "endDate": "2017-06-30T00:00:00",
                        "tfn": "111 111 111",
                        "totalTaxWitheld": 13641.0,
                        "grossPayments": 31482.0,
                        "cdep": 0.0,
                        "employerSGC": 0.0,
                        "fbt": 0.0,
                        "totalAllowances": 0.0,
                        "lumpSumA": 0.0,
                        "lumpSumB": 0.0,
                        "lumpSumD": 0.0,
                        "lumpSumE": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, John",
                        "branchNumber": "001",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "allowances": [
                          {
                            "description": "Allowance",
                            "dollars": 5876.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "deductions": [
                          {
                            "description": " Deduction",
                            "dollars": 100.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "workplaceGivings": [
                          {
                            "description": "Workplace giving",
                            "dollars": 10.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "fbtExempt": false,
                        "workingholidaygroup": 0
                      }
                    ],
                    "paygPaymentSummaryEtps": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address 2",
                        "employeeID": 45398,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "tfn": "111 111 111",
                        "taxWithheld": 12825.0,
                        "taxableComponent": 48076.0,
                        "taxFreeComponent": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, Jane",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "branchNumber": "001",
                        "lookupCodeID": 0,
                        "etpCode": "O",
                        "paidDate": "2017-01-01T00:00:00",
                        "paygPaymentSummaryID": 0,
                        "transitionalTerminationPayment": "N",
                        "partOfPayment": "N",
                        "deathBenefit": "N",
                        "startDate": "0001-01-01T00:00:00",
                        "endDate": "0001-01-01T00:00:00"
                      }
                    ],
                    "employeeShareSchemes": [
                      {
                        "employeeShareSchemes": [
                          {
                            "employerName": "Company A",
                            "employerAddress1": "Address 1",
                            "employerAddress2": "Address 2",
                            "employeeID": 1,
                            "employeeName": "DOE, John",
                            "employeeAddress1": "Address 1",
                            "employeeAddress2": "Address 2",
                            "financialYear": 2016,
                            "financialYearNext": 2017,
                            "tfn": "111 111 111",
                            "d": 0.0,
                            "e": 0.0,
                            "f": 27159.67,
                            "g": 0.0,
                            "c": 0.0,
                            "employerABN": "11 111 111 111",
                            "authorisedBy": "DOE, Jane",
                            "branchNumber": "001",
                            "authorisedDate": "2017-06-30T00:00:00"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/PaymentSummaries/{id}/employeeShareScheme": {
      "get": {
        "tags": [
          "PaymentSummaries"
        ],
        "summary": "Get a payment summary",
        "description": "Returns the specified payment summary, if it can be be located.",
        "operationId": "PaymentSummaries_GetEmployeeShareScheme",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the payment summary to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "paygPaymentSummaries": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address2",
                        "fbtExemptY": "",
                        "fbtExemptN": "",
                        "employeeID": 1,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1  ",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "startDate": "2017-06-01T00:00:00",
                        "endDate": "2017-06-30T00:00:00",
                        "tfn": "111 111 111",
                        "totalTaxWitheld": 13641.0,
                        "grossPayments": 31482.0,
                        "cdep": 0.0,
                        "employerSGC": 0.0,
                        "fbt": 0.0,
                        "totalAllowances": 0.0,
                        "lumpSumA": 0.0,
                        "lumpSumB": 0.0,
                        "lumpSumD": 0.0,
                        "lumpSumE": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, John",
                        "branchNumber": "001",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "allowances": [
                          {
                            "description": "Allowance",
                            "dollars": 5876.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "deductions": [
                          {
                            "description": " Deduction",
                            "dollars": 100.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "workplaceGivings": [
                          {
                            "description": "Workplace giving",
                            "dollars": 10.0,
                            "workingholidaygroup": 0
                          }
                        ],
                        "fbtExempt": false,
                        "workingholidaygroup": 0
                      }
                    ],
                    "paygPaymentSummaryEtps": [
                      {
                        "employerName": "Company A",
                        "employerAddress1": "Address 1",
                        "employerAddress2": "Address 2",
                        "employeeID": 45398,
                        "employeeName": "DOE, John",
                        "employeeAddress1": "Address 1",
                        "employeeAddress2": "Address 2",
                        "financialYear": 2016,
                        "financialYearNext": 2017,
                        "tfn": "111 111 111",
                        "taxWithheld": 12825.0,
                        "taxableComponent": 48076.0,
                        "taxFreeComponent": 0.0,
                        "employerABN": "11 111 111 111",
                        "authorisedBy": "DOE, Jane",
                        "authorisedDate": "2017-06-30T00:00:00",
                        "branchNumber": "001",
                        "lookupCodeID": 0,
                        "etpCode": "O",
                        "paidDate": "2017-01-01T00:00:00",
                        "paygPaymentSummaryID": 0,
                        "transitionalTerminationPayment": "N",
                        "partOfPayment": "N",
                        "deathBenefit": "N",
                        "startDate": "0001-01-01T00:00:00",
                        "endDate": "0001-01-01T00:00:00"
                      }
                    ],
                    "employeeShareSchemes": [
                      {
                        "employeeShareSchemes": [
                          {
                            "employerName": "Company A",
                            "employerAddress1": "Address 1",
                            "employerAddress2": "Address 2",
                            "employeeID": 1,
                            "employeeName": "DOE, John",
                            "employeeAddress1": "Address 1",
                            "employeeAddress2": "Address 2",
                            "financialYear": 2016,
                            "financialYearNext": 2017,
                            "tfn": "111 111 111",
                            "d": 0.0,
                            "e": 0.0,
                            "f": 27159.67,
                            "g": 0.0,
                            "c": 0.0,
                            "employerABN": "11 111 111 111",
                            "authorisedBy": "DOE, Jane",
                            "branchNumber": "001",
                            "authorisedDate": "2017-06-30T00:00:00"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/Stp": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get payrolls for STP approval",
        "description": "Returns a list of the payrolls that are ready for submission to STP.",
        "operationId": "Payrolls_GetPayrollsForStp",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}/Actions/Approve": {
      "put": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Approve a payroll for STP submission",
        "operationId": "Payrolls_Put",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the payroll that should be approved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the list of payroll id.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PayrollApproveCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get all payrolls",
        "description": "Returns the payrolls which were run between the specified dates.",
        "operationId": "Payrolls_Get",
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Adhoc",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "accountingDate": "2016-02-19T00:00:00",
                      "startDate": "2016-02-14T00:00:00",
                      "endDate": "2016-02-20T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-20T21:05:20",
                      "paidDate": "2016-02-21T05:16:00",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12345
                    },
                    {
                      "accountingDate": "2016-02-26T00:00:00",
                      "startDate": "2016-02-21T00:00:00",
                      "endDate": "2016-02-27T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-27T21:03:42",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12346
                    },
                    {
                      "accountingDate": "2016-02-26T00:00:00",
                      "startDate": "2016-02-21T00:00:00",
                      "endDate": "2016-02-27T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "isAdhoc": true,
                      "numberOfEmployees": 0,
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/Search": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Search for payrolls",
        "description": "Returns the payrolls which match the provided search parameters.",
        "operationId": "Payrolls_Search",
        "parameters": [
          {
            "name": "PayrollId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "PayCycleId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "PayCycleType",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PayCycleType"
                }
              ]
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "AdhocFlag",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "EmployeeToken",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "guid",
              "nullable": true
            }
          },
          {
            "name": "EmployeeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "TaxFileNumber",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "InputsheetId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "InputsheetViewId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "InputsheetClosedFlag",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "ProcessedFlag",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "PaidFlag",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "CostCentreId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            }
          },
          {
            "name": "CostCentreCode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PayrollStatus"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "accountingDate": "2016-02-19T00:00:00",
                      "startDate": "2016-02-14T00:00:00",
                      "endDate": "2016-02-20T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-20T21:05:20",
                      "paidDate": "2016-02-21T05:16:00",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12345
                    },
                    {
                      "accountingDate": "2016-02-26T00:00:00",
                      "startDate": "2016-02-21T00:00:00",
                      "endDate": "2016-02-27T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-27T21:03:42",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12346
                    },
                    {
                      "accountingDate": "2016-02-26T00:00:00",
                      "startDate": "2016-02-21T00:00:00",
                      "endDate": "2016-02-27T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "isAdhoc": true,
                      "numberOfEmployees": 0,
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get a payroll",
        "description": "Returns the payroll with the requested unique identifier.",
        "operationId": "Payrolls_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the payroll to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "accountingDate": "2016-02-19T00:00:00",
                    "startDate": "2016-02-14T00:00:00",
                    "endDate": "2016-02-20T23:59:59",
                    "payCycle": {
                      "type": "Weekly",
                      "initialStartDate": "0001-01-01T00:00:00",
                      "isExpired": false,
                      "isUpdated": false,
                      "name": "Weekly",
                      "id": 2345
                    },
                    "processedDate": "2016-02-20T21:05:20",
                    "paidDate": "2016-02-21T05:16:00",
                    "isAdhoc": false,
                    "numberOfEmployees": 0,
                    "id": 12345
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}/InputSheets": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get all payroll inputsheets",
        "description": "Returns the inputsheets which were created for a specific payroll.",
        "operationId": "Payrolls_GetAllInputSheets",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the payroll to retrieve inputsheets from.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": 12345,
                      "payroll": {
                        "name": "Weekly",
                        "id": 23456
                      },
                      "inputSheetView": {
                        "name": "Weekly",
                        "id": 34567
                      },
                      "isClosed": false
                    },
                    {
                      "id": 12346,
                      "payroll": {
                        "name": "Weekly",
                        "id": 23456
                      },
                      "inputSheetView": {
                        "name": "Weekly",
                        "id": 34568
                      },
                      "isClosed": false
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}/InputSheets/{inputsheetId}": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get a payroll inputsheet",
        "description": "Returns the specified inputsheet for a payroll.",
        "operationId": "Payrolls_GetInputSheet",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The payroll identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "inputsheetId",
            "in": "path",
            "required": true,
            "description": "The inputsheet identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 12345,
                    "payroll": {
                      "name": "Weekly",
                      "id": 23456
                    },
                    "inputSheetView": {
                      "name": "Weekly",
                      "id": 34567
                    },
                    "isClosed": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}/InputSheets/{inputsheetId}/PaySheets": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get all payroll paysheets",
        "description": "Returns the paysheets that have been set up for an inputsheet in a payroll.",
        "operationId": "Payrolls_GetPaySheets",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The payroll identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "inputsheetId",
            "in": "path",
            "required": true,
            "description": "The inputsheet identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "inputSheet": {
                        "id": 3456
                      },
                      "costCentre": {
                        "name": "IT Support",
                        "id": 23456
                      },
                      "paySheetItems": [
                        {
                          "paySheet": {
                            "id": 12345
                          },
                          "paycode": {
                            "requiresOwnLine": false,
                            "sickLeaveIncrementType": 0,
                            "annualLeaveIncrementType": 0,
                            "longServiceLeaveIncrementType": 0,
                            "carersLeaveIncrementType": false,
                            "sortOrder": 1,
                            "oteFlag": false,
                            "qualifyingEarningsFlag": false,
                            "expiredFlag": false,
                            "name": "Ordinary Hours",
                            "id": 45678
                          },
                          "unit": 40.0
                        },
                        {
                          "paySheet": {
                            "id": 12345
                          },
                          "paycode": {
                            "requiresOwnLine": false,
                            "sickLeaveIncrementType": 0,
                            "annualLeaveIncrementType": 0,
                            "longServiceLeaveIncrementType": 0,
                            "carersLeaveIncrementType": false,
                            "sortOrder": 2,
                            "oteFlag": false,
                            "qualifyingEarningsFlag": false,
                            "expiredFlag": false,
                            "name": "Overtime Basic",
                            "id": 45678
                          },
                          "unit": 10.0,
                          "altUnitRate": 25.75
                        }
                      ],
                      "numberOfPeriods": 2.0,
                      "id": 12345
                    },
                    {
                      "inputSheet": {
                        "id": 3457
                      },
                      "costCentre": {
                        "name": "IT Development",
                        "id": 23456
                      },
                      "paySheetItems": [
                        {
                          "paySheet": {
                            "id": 23456
                          },
                          "paycode": {
                            "requiresOwnLine": false,
                            "sickLeaveIncrementType": 0,
                            "annualLeaveIncrementType": 0,
                            "longServiceLeaveIncrementType": 0,
                            "carersLeaveIncrementType": false,
                            "sortOrder": 1,
                            "oteFlag": false,
                            "qualifyingEarningsFlag": false,
                            "expiredFlag": false,
                            "name": "Ordinary Hours",
                            "id": 45678
                          },
                          "unit": 40.0
                        },
                        {
                          "paySheet": {
                            "id": 23456
                          },
                          "paycode": {
                            "requiresOwnLine": false,
                            "sickLeaveIncrementType": 0,
                            "annualLeaveIncrementType": 0,
                            "longServiceLeaveIncrementType": 0,
                            "carersLeaveIncrementType": false,
                            "sortOrder": 1,
                            "oteFlag": false,
                            "qualifyingEarningsFlag": false,
                            "expiredFlag": false,
                            "name": "Overtime Basic",
                            "id": 45678
                          },
                          "unit": 10.0,
                          "altUnitRate": 25.75
                        }
                      ],
                      "numberOfPeriods": 2.0,
                      "id": 12346
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/{id}/InputSheets/{inputsheetId}/PaySheets/{paysheetId}": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Get a payroll paysheet",
        "description": "Returns the specified paysheet for an inputsheet in a payroll.",
        "operationId": "Payrolls_GetPaySheets2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The payroll identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "inputsheetId",
            "in": "path",
            "required": true,
            "description": "The inputsheet identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          },
          {
            "name": "paysheetId",
            "in": "path",
            "required": true,
            "description": "The paysheet identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "inputSheet": {
                      "id": 3456
                    },
                    "costCentre": {
                      "name": "IT Support",
                      "id": 23456
                    },
                    "paySheetItems": [
                      {
                        "paySheet": {
                          "id": 12345
                        },
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 1,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Ordinary Hours",
                          "id": 45678
                        },
                        "unit": 40.0
                      },
                      {
                        "paySheet": {
                          "id": 12345
                        },
                        "paycode": {
                          "requiresOwnLine": false,
                          "sickLeaveIncrementType": 0,
                          "annualLeaveIncrementType": 0,
                          "longServiceLeaveIncrementType": 0,
                          "carersLeaveIncrementType": false,
                          "sortOrder": 2,
                          "oteFlag": false,
                          "qualifyingEarningsFlag": false,
                          "expiredFlag": false,
                          "name": "Overtime Basic",
                          "id": 45678
                        },
                        "unit": 10.0,
                        "altUnitRate": 25.75
                      }
                    ],
                    "numberOfPeriods": 2.0,
                    "id": 12345
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/Employees": {
      "get": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Search for employee payrolls",
        "operationId": "Payrolls_Get3",
        "parameters": [
          {
            "name": "EmployeeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "IsAdhoc",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "employee": {
                        "name": "KIM, Alice",
                        "id": 23456
                      },
                      "accountingDate": "2016-02-19T00:00:00",
                      "startDate": "2016-02-14T00:00:00",
                      "endDate": "2016-02-20T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-20T21:05:20",
                      "paidDate": "2016-02-21T05:16:00",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12345
                    },
                    {
                      "employee": {
                        "name": "BLOGGS, Joe",
                        "id": 23457
                      },
                      "accountingDate": "2016-02-19T00:00:00",
                      "startDate": "2016-02-14T00:00:00",
                      "endDate": "2016-02-20T23:59:59",
                      "payCycle": {
                        "type": "Weekly",
                        "initialStartDate": "0001-01-01T00:00:00",
                        "isExpired": false,
                        "isUpdated": false,
                        "name": "Weekly",
                        "id": 2345
                      },
                      "processedDate": "2016-02-20T21:05:20",
                      "paidDate": "2016-02-21T05:16:00",
                      "isAdhoc": false,
                      "numberOfEmployees": 0,
                      "id": 12345
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payrolls/InputSheets/Data": {
      "post": {
        "tags": [
          "Payrolls"
        ],
        "summary": "Upload employee data in input sheets for payrolls.",
        "operationId": "Payrolls_Post",
        "requestBody": {
          "x-name": "command",
          "description": "A command consisting of the data that needs to be uploaded for payrolls.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PayrollDataUploadCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payslips": {
      "get": {
        "tags": [
          "Payslips"
        ],
        "summary": "Search for payslips",
        "description": "Returns a list of all the payslips for the current employer that match the provided search criteria.",
        "operationId": "Payslips_Get",
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "PaymentMethod",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/EmployeePaymentMethodType"
                }
              ]
            }
          },
          {
            "name": "NetPayFrom",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal",
              "nullable": true
            }
          },
          {
            "name": "NetPayTo",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal",
              "nullable": true
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "headers": {
              "X-Paging-PageNumber": {
                "description": "The current page number being returned.",
                "schema": {
                  "type": "integer"
                }
              },
              "X-Paging-PageSize": {
                "description": "The number of records returned in a single page.",
                "schema": {
                  "type": "integer"
                }
              },
              "X-Paging-TotalPages": {
                "description": "The total number of pages of data available.",
                "schema": {
                  "type": "integer"
                }
              },
              "X-Paging-TotalRecords": {
                "description": "The total number of records available.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-04-24T00:00:00",
                      "startDate": "2017-04-17T00:00:00",
                      "endDate": "2017-04-30T00:00:00",
                      "netPay": 2000.0,
                      "id": 4
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-04-11T00:00:00",
                      "startDate": "2017-03-27T00:00:00",
                      "endDate": "2017-04-09T00:00:00",
                      "netPay": 2001.0,
                      "id": 3
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-03-28T00:00:00",
                      "startDate": "2017-03-13T00:00:00",
                      "endDate": "2017-03-26T00:00:00",
                      "netPay": 2002.0,
                      "id": 2
                    },
                    {
                      "employee": {
                        "name": "DOE, John",
                        "id": 123
                      },
                      "payDate": "2017-03-14T00:00:00",
                      "startDate": "2017-02-27T00:00:00",
                      "endDate": "2017-03-12T00:00:00",
                      "netPay": 2003.0,
                      "id": 1
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Payslips/{id}": {
      "get": {
        "tags": [
          "Payslips"
        ],
        "summary": "Get a payslip",
        "description": "Returns the details of the specified payslip. The payslip can be accessed only by the currently signed-in user.",
        "operationId": "Payslips_GetDetail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The payslip identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "id": 4,
                    "paidDate": "2017-05-04T00:00:00",
                    "payPeriodFrom": "2017-04-17T00:00:00",
                    "payPeriodTo": "2017-04-30T00:00:00",
                    "paycycle": "Fortnightly",
                    "employerName": "Test Pty Limited",
                    "employerABN": "111111111111",
                    "employee": {
                      "name": "DOE, John",
                      "id": 123
                    },
                    "location": "10 - MyChoice",
                    "occupation": "Coordinator",
                    "hourlyRate": 23.1084,
                    "salary": 45662.1,
                    "isShowSalary": true,
                    "employeeID": 0,
                    "items": [
                      {
                        "description": "Ordinary Hours",
                        "costCentreID": 0,
                        "rate": 23.1084,
                        "units": 76.0,
                        "value": 1756.24,
                        "rdoHours": 0.0,
                        "itemType": "PaycodeBeforeTaxNonNotation"
                      },
                      {
                        "description": "Gross Package",
                        "costCentreID": 0,
                        "value": 1756.24,
                        "itemType": "GrossPackage"
                      },
                      {
                        "description": "Gross Pay",
                        "costCentreID": 0,
                        "value": 1756.24,
                        "itemType": "GrossPay"
                      },
                      {
                        "description": "Tax",
                        "costCentreID": 0,
                        "value": -280.0,
                        "itemType": "Tax"
                      },
                      {
                        "description": "Net Pay",
                        "costCentreID": 0,
                        "value": 1476.24,
                        "itemType": "NetPay"
                      },
                      {
                        "description": "9.5% (HOSTPLUS Superannuation Fund - Industry)",
                        "costCentreID": 0,
                        "value": 166.84,
                        "itemType": "FulfilmentsNoTax"
                      }
                    ],
                    "paymentAdvices": [
                      {
                        "accountName": "John Doe",
                        "paymentMethod": "EFT",
                        "amount": 1476.24,
                        "bankBSB": "062347",
                        "accountNumber": "10172028"
                      }
                    ],
                    "leaves": [
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued AL (Hours)",
                        "hours": 94.709
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued PL (Hours)",
                        "hours": 62.554
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "description": "Accrued RDO (Hours)",
                        "hours": 0.0
                      }
                    ],
                    "ytdItems": [
                      {
                        "description": "Gross Package",
                        "itemType": "GrossPackage",
                        "amount": 37837.73
                      },
                      {
                        "description": "Gross Pay",
                        "itemType": "GrossPay",
                        "amount": 37837.73
                      },
                      {
                        "description": "Tax",
                        "itemType": "Tax",
                        "amount": -5968.0
                      },
                      {
                        "description": "Payments After Tax",
                        "itemType": "PaymentsAfterTax",
                        "amount": 130.0
                      },
                      {
                        "description": "Net Pay",
                        "itemType": "NetPay",
                        "amount": 31999.73
                      },
                      {
                        "description": "Employer Super",
                        "itemType": "EmployerSuper",
                        "amount": 3570.38
                      }
                    ],
                    "superPaymentItems": [
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-04-07T00:00:00",
                        "accountingMonthYear": "2017-03-01T00:00:00",
                        "amount": 333.68
                      },
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-03-13T00:00:00",
                        "accountingMonthYear": "2017-02-01T00:00:00",
                        "amount": 333.68
                      },
                      {
                        "fufilmentOfferingID": 78,
                        "description": "HOSTPLUS Superannuation Fund - Industry102582051",
                        "datePaid": "2017-02-13T00:00:00",
                        "accountingMonthYear": "2017-01-01T00:00:00",
                        "amount": 333.68
                      }
                    ],
                    "leaveYTDItems": [
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued AL (Hours)",
                        "leaveHours": 94.709,
                        "ytdDescription": "Gross Package",
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 37837.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "GrossPay",
                        "ytdItemType": "GrossPay",
                        "ytdAmount": 37837.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 94.709,
                        "ytdDescription": "Tax",
                        "ytdItemType": "Tax",
                        "ytdAmount": -5968.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Payments After Tax",
                        "ytdItemType": "PaymentsAfterTax",
                        "ytdAmount": 130.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Net Pay",
                        "ytdItemType": "NetPay",
                        "ytdAmount": 31999.73
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveHours": 0.0,
                        "ytdDescription": "Employer Super",
                        "ytdItemType": "EmployerSuper",
                        "ytdAmount": 3570.38
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued PL (Hours)",
                        "leaveHours": 62.554,
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 0.0
                      },
                      {
                        "leaveType": "AnnualLeave",
                        "leaveDescription": "Accrued RDO (Hours)",
                        "leaveHours": 0.0,
                        "ytdItemType": "GrossPackage",
                        "ytdAmount": 0.0
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Reports": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get a list of reports",
        "description": "Returns a list of all the reports that have been defined and that the current user hsa permissions to can retrieve.",
        "operationId": "Reports_Get",
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    "EmployeeDistribution",
                    "EmployeeChurn",
                    "EmployeeHistory"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Reports/{reportName}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Run a report",
        "description": "Executes the specified report and returns the data.",
        "operationId": "Reports_Execute",
        "parameters": [
          {
            "name": "reportName",
            "in": "path",
            "required": true,
            "description": "The name of the report that should be run.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "id": "EmployeeChurn",
                      "name": "Employee Churn",
                      "description": "",
                      "data": [
                        {
                          "year": 2015,
                          "month": 5,
                          "fullTime": 100,
                          "partTime": 9,
                          "casual": 1,
                          "apprentice": 0,
                          "contractor": 7
                        },
                        {
                          "year": 2015,
                          "month": 4,
                          "fullTime": 97,
                          "partTime": 10,
                          "casual": 1,
                          "apprentice": 1,
                          "contractor": 8
                        },
                        {
                          "year": 2015,
                          "month": 3,
                          "fullTime": 96,
                          "partTime": 8,
                          "casual": 0,
                          "apprentice": 1,
                          "contractor": 9
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/roles/{id}": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get a role",
        "description": "Returns the role resource that matches the specified id.",
        "operationId": "Roles_GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the role to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "groupType": "Employee",
                    "name": "EmployeeSelfServiceUser",
                    "displayName": "Employee Self-Service User",
                    "description": "View their own payslip    * View their own accruals    * Edit their own personal details    * Edit their own bank account details (optional)",
                    "id": 1
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/roles": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get roles",
        "description": "Returns a collection of all the defined role resources.",
        "operationId": "Roles_Get",
        "parameters": [
          {
            "name": "bulkEdit",
            "in": "query",
            "description": "When this value is enabled, user roles can be bulk assigned through the ePayroll UI.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": [
                    {
                      "groupType": "Employee",
                      "name": "EmployeeSelfServiceUser",
                      "displayName": "Employee Self-Service User",
                      "description": "View their own payslip    * View their own accruals    * Edit their own personal details    * Edit their own bank account details (optional)",
                      "id": 1
                    },
                    {
                      "groupType": "Authority",
                      "name": "LeaveAdministrator",
                      "displayName": "Leave Administrator",
                      "description": "  * Set up and edit leave policies    * Set up and edit positions and reporting structure    * Redirect leave requests    * Apply for leave on behalf of any employee",
                      "id": 10
                    },
                    {
                      "groupType": "Authority",
                      "name": "ExpenseAdministrator",
                      "displayName": "Expense Administrator",
                      "description": "* Set up and edit expense policies    * Set up and edit positions and reporting structure    * Redirect expense requests    * Apply for expense on behalf of any employee",
                      "id": 11
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/roles/actions/bulk-remove": {
      "post": {
        "tags": [
          "Roles"
        ],
        "summary": "Bulk remove roles",
        "operationId": "Roles_BulkRemove",
        "requestBody": {
          "x-name": "command",
          "description": "The command should be executed",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BulkRevokeRolesCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "500": {
            "description": "An unexpected error occurred while processing the request."
          },
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/roles/actions/bulk-assign": {
      "post": {
        "tags": [
          "Roles"
        ],
        "summary": "Assign employee or authority roles in bulk.",
        "operationId": "Roles_BulkAssign",
        "requestBody": {
          "x-name": "command",
          "description": "Object with authority ids and the web roles that the authorities need to be assigned to.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BulkAssignRolesCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/stp/mappings": {
      "get": {
        "tags": [
          "Stp"
        ],
        "summary": "Get STP mappings",
        "description": "Returns a collection of all the defined mappings of paycodes and fulfilments.",
        "operationId": "Stp_Get",
        "responses": {
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Stp"
        ],
        "summary": "Save STP mappings",
        "description": "Returns a collection of all the errored mapping of paycodes and fulfilments.",
        "operationId": "Stp_Post",
        "requestBody": {
          "x-name": "command",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/StpBulkUpsertMappingCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/stp/mappings/suggestion": {
      "get": {
        "tags": [
          "Stp"
        ],
        "summary": "Get STP mapping suggestions",
        "description": "Returns a collection of all the defined mapping suggestions for paycodes and fulfilments.",
        "operationId": "Stp_GetMappingSuggestion",
        "responses": {
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/SuperFulfilments": {
      "get": {
        "tags": [
          "SuperFulfilments"
        ],
        "summary": "Get Super Fulfilments based on given criteria.",
        "operationId": "SuperFulfilments_Get",
        "parameters": [
          {
            "name": "paidDate",
            "in": "query",
            "description": "The super fulfilment paid date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "payrollId",
            "in": "query",
            "description": "The unique identifier of the payroll.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "employeeCode",
            "in": "query",
            "description": "The employee code of the employee.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "familyName",
            "in": "query",
            "description": "The family name of the employee.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "givenName",
            "in": "query",
            "description": "The given name of the employee.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "amount",
            "in": "query",
            "description": "The super fulfilment amount.",
            "schema": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "The page number for pagination.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The page size for pagination.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 8
          },
          {
            "name": "accountingDate",
            "in": "query",
            "description": "The payroll accounting date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 9
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Validations/Abn": {
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Validate an ABN",
        "description": "Determines if the specified value is a valid Australian Business Number issued by the ATO.",
        "operationId": "Validations_ValidateAbn",
        "parameters": [
          {
            "name": "value",
            "in": "query",
            "required": true,
            "description": "The value that should be validated as an ABN.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "type",
            "in": "query",
            "description": "If SMF (or value 1), performs additional check on XML return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "isValid": true
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Validations/Bsb": {
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Validate a BSB",
        "description": "Determines if the specified value is a valid Bank State Branch number.",
        "operationId": "Validations_ValidateBsb",
        "parameters": [
          {
            "name": "value",
            "in": "query",
            "description": "The value that should be validated as a BSB.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "isValid": true
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Validations/Superfunds/{id}/{employeeId}": {
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Validates the super fund.",
        "operationId": "Validations_ValidateSuperFund",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "description": "The employee identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Validations/Tfn": {
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Validate a TFN",
        "description": "Determines if the specified value is a valid Tax File Number.",
        "operationId": "Validations_ValidateTfn",
        "parameters": [
          {
            "name": "value",
            "in": "query",
            "description": "The value that should be validated as a TFN.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully.",
            "content": {
              "application/json": {
                "example": {
                  "application/json": {
                    "isValid": true
                  }
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Configuration": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Create an onboarding configuration",
        "description": "Creates a new onboarding configuration.",
        "operationId": "Onboarding_Post",
        "requestBody": {
          "x-name": "command",
          "description": "TheOnboarding Configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update an onboarding configuration",
        "description": "Updates an existing onboarding configuration",
        "operationId": "Onboarding_Put",
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get a onboarding configuration",
        "description": "Returns the requested new onboarding configuration, if the current user has access to it.",
        "operationId": "Onboarding_GetWizardConfiguration",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Configurations": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Create an onboarding configuration",
        "description": "Creates a new onboarding configuration.",
        "operationId": "Onboarding_PostConfigurations",
        "requestBody": {
          "x-name": "command",
          "description": "TheOnboarding Configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update an onboarding configuration",
        "description": "Updates an existing onboarding configuration",
        "operationId": "Onboarding_Put2",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The identifier of the onboarding configuration that should be updated.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get an onboarding configuration",
        "description": "Returns the requested new onboarding configuration, if the current user has access to it.",
        "operationId": "Onboarding_GetOnboardingConfigurations",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Documents": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Upload a new hire document",
        "description": "Attaches a document contract to an onboarding new hire.",
        "operationId": "Onboarding_PostDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the onboarding new hire.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the document details.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireCreateDocumentCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get a new hire document",
        "description": "Returns the metadata for a document that has been attached to a new hire.",
        "operationId": "Onboarding_GetDocuments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the onboarding new hire by Authority Id.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "404": {
            "description": "The requested resource could not be located."
          },
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get all new hires",
        "description": "Returns all the active new hire resources that the current user has access to.",
        "operationId": "Onboarding_Get",
        "parameters": [
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Create new hire",
        "description": "Creates a new hire record, initiating the onboarding workflow.",
        "operationId": "Onboarding_CreateNewHire",
        "requestBody": {
          "x-name": "command",
          "description": "The new hire data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Upload a new hire photo",
        "operationId": "Onboarding_SaveImage",
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the upload photo.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireImageSaveCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get a new hire",
        "description": "Returns the requested new hire resource, if the current user has access to it.",
        "operationId": "Onboarding_Get2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire",
        "description": "Updates a new hire's personal details, without changing the status of the onboarding workflow.",
        "operationId": "Onboarding_UpdateNewHire",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Authorities": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get a New Hire by Authority By Id",
        "description": "Returns the requested new hire resource, if the current user has access to it.",
        "operationId": "Onboarding_GetAuthority",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Search": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Search for new hires",
        "description": "Returns all the New Hire resources that the current user has access to and that match the provided search criteria.",
        "operationId": "Onboarding_Get3",
        "parameters": [
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Workflow": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire",
        "description": "Updates a new hire's personal details.",
        "operationId": "Onboarding_UpdateNewHireWorkFlow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the new hire who will be updated.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdateWorkflowCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/EmergencyDetails": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire emergency details",
        "description": "Updates a new hire's emergency contact details.",
        "operationId": "Onboarding_UpdateNewHireEmergencyContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdateEmergencyContactCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/TaxationDetails": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire taxation details",
        "description": "Updates a new hire's taxation details.",
        "operationId": "Onboarding_UpdateNewHireTaxationDetail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdateTaxationDetailCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/SuperChoice": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire SuperChoice details",
        "description": "Updates a new hire's SuperChoice preferences.",
        "operationId": "Onboarding_UpdateNewHireSuperChoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdateSuperChoiceCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/PaymentDetails": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update new hire payment details",
        "description": "Updates a new hire's payment details.",
        "operationId": "Onboarding_UpdateNewHirePaymentDetail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the update parameters.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireUpdatePaymentDetailCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Actions/Initiate": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Initiate the onboarding workflow",
        "description": "Initiates the onboarding workflow. A welcome email will be sent to the new hire,\ninviting them to fill in their personal details, emergency contact details,\ntaxation details, and SuperChoice preferences.",
        "operationId": "Onboarding_ActionInitiate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The new hire identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The initiation command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireInititateActionCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Actions/ResendEmail": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Restart the onboarding workflow",
        "description": "Restarts the onboarding workflow. A new welcome email will be sent to the new hire,\ninviting them to fill in their personal details, emergency contact details,\ntaxation details, and SuperChoice preferences.",
        "operationId": "Onboarding_ResendEmail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The new hire identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The resend email command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireResendEmailActionCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Actions/Cancel": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Cancel the onboarding workflow",
        "description": "Cancels an active onboarding workflow by setting the status back to Accepted.",
        "operationId": "Onboarding_ActionCancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The new hire identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The cancellation command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireCancelActionCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Actions/Delete": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Delete the onboarding workflow",
        "description": "Deletes an active onboarding workflow by setting the status to Cancelled.",
        "operationId": "Onboarding_ActionDelete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The new hire identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The deletion command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireDeleteCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/Actions/Finalise": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Finalise the onboarding workflow",
        "description": "Finalises a processing onboarding workflow by setting the status to Completed.",
        "operationId": "Onboarding_ActionFinalise",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The new hire identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The finalise command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireFinaliseActionCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/{id}/TeamMembers": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get team members for new hire",
        "operationId": "Onboarding_GetTeamMembers",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the new hire's authority record.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/TeamMembers": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get team members for organisation",
        "operationId": "Onboarding_GetEmployeeTeamMembers",
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Create a new hire task",
        "description": "Creates a new task for a new hire to perform.",
        "operationId": "Onboarding_Post2",
        "requestBody": {
          "x-name": "command",
          "description": "TheOnboarding Configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update a new hire task",
        "description": "Update a task that has been assigned to a new hire.",
        "operationId": "Onboarding_PutTaskObsolete",
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the details of the task that should be updated.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TaskUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "deprecated": true,
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks/{id}": {
      "put": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Update a new hire task",
        "description": "Update a task that has been assigned to a new hire.",
        "operationId": "Onboarding_PutTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the task that should be updated.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the details of the task that should be updated.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TaskUpdateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Delete a new hire task",
        "description": "Deletes a task that has been assigned to a new hire",
        "operationId": "Onboarding_DeleteTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the task that should be deleted.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": "The request completed successfully, but no data is returned as part of the contract."
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      },
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get a new hire task",
        "description": "Returns a task that has been assigned to a new hire.",
        "operationId": "Onboarding_GetTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the task that should be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "404": {
            "description": "The requested resource could not be located."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks/{id}/Attachment": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Upload a new hire task document",
        "description": "Attaches a document to a task that has been assigned to a new hire",
        "operationId": "Onboarding_SaveAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the task to which the document should be attached.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "command",
          "description": "The command object containing the details of the document that should be attached to the task.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TaskAttachmentSaveCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks/Assigned/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get new hire tasks",
        "description": "Returns a list of the tasks that have been assigned to a new hire.",
        "operationId": "Onboarding_GetByAssigned",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the new hire whose tasks should be returned.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks/Manager/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get new hire manager tasks",
        "description": "Returns a list of the tasks that have been assigned to a manager.",
        "operationId": "Onboarding_GetByManager",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the manager whose tasks should be returned.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Tasks/Admin/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Get new hire administrator tasks",
        "description": "Returns a list of the tasks that have been assigned to an administrator.",
        "operationId": "Onboarding_GetByAdmin",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier of the administrator whose tasks should be returned.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Activity": {
      "post": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Posts the specified command.",
        "operationId": "Onboarding_Post3",
        "requestBody": {
          "x-name": "command",
          "description": "TheOnboarding Configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OnboardingConfigurationCreateCommand"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The resource was created successfully.",
            "headers": {
              "Location": {
                "description": "The URI of the resource that was created.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "The request contained bad or invalid data."
          },
          "409": {
            "description": "The request conflicts with an existing resource."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Activity/Assigned/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Gets the wizard activity by assigned.",
        "operationId": "Onboarding_GetWizardActivityByAssigned",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/Onboarding/Activity/{id}": {
      "get": {
        "tags": [
          "Onboarding"
        ],
        "summary": "Gets the wizard activity.",
        "operationId": "Onboarding_GetWizardActivity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The identifier.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "The resource was located successfully."
          },
          "500": {
            "description": "An unexpected error occurred while processing the request."
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "UserRole": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "AussiepayAdministrator",
          "EmployeeSelfServiceUser",
          "LeaveUser",
          "ExpenseUser",
          "RunPayrollAuthority",
          "VerifyPayrollAuthority",
          "AuthorityAdministrator",
          "EmployeeAuthority",
          "EmployerAuthority",
          "ChannelAdministrator",
          "LeaveAdministrator",
          "ExpenseAdministrator",
          "RequestInputSheetAuthority",
          "GlUser",
          "TimesheetAdministrator",
          "TimesheetApprover",
          "TimesheetUser",
          "EmployerAuthorityLimited",
          "SalaryPackagingAuthority",
          "PaycodeAdministrator",
          "InternalConsultant",
          "SubmitPayrollAuthority",
          "XeroFullUser",
          "ReportAdministrator",
          "ReportUserNonMonetary",
          "ReportUserMonetary",
          "PaidPayrollAuthority",
          "DocumentManager",
          "DocumentAdministrator",
          "FlowChartAdministrator",
          "LeaveApprover",
          "ExpenseApprover",
          "ClientEmployerAdministrator",
          "ClientEmployerJobAdministrator",
          "TimesheetIntegration",
          "DashboardUser",
          "SkillsMatrixUser",
          "SkillsMatrixAdministrator",
          "OnboardingAdministrator",
          "OnboardingManager",
          "OnboardingUser",
          "WorkRuleAdministrator",
          "SynchroniseAdministrator",
          "SynchroniseApprover",
          "SynchroniseUser",
          "SynchroniseIntegrator",
          "LeaveScheduleAdministrator",
          "LeaveScheduleManager",
          "EmployeeSelfServiceLimited",
          "LeaveScheduleUser",
          "RosterAdministrator",
          "RosterManager",
          "RosterUser",
          "ApiDeveloper",
          "ApiManager",
          "EmployeeViewAuthority",
          "StpAuthorisingAgent",
          "FinancialController",
          "PayrollOfficer",
          "FlowChartReadOnly",
          "AdvancedReportingUser",
          "SsoIntegrationManager",
          "PayrollChangeRequester"
        ],
        "enum": [
          "AussiepayAdministrator",
          "EmployeeSelfServiceUser",
          "LeaveUser",
          "ExpenseUser",
          "RunPayrollAuthority",
          "VerifyPayrollAuthority",
          "AuthorityAdministrator",
          "EmployeeAuthority",
          "EmployerAuthority",
          "ChannelAdministrator",
          "LeaveAdministrator",
          "ExpenseAdministrator",
          "RequestInputSheetAuthority",
          "GlUser",
          "TimesheetAdministrator",
          "TimesheetApprover",
          "TimesheetUser",
          "EmployerAuthorityLimited",
          "SalaryPackagingAuthority",
          "PaycodeAdministrator",
          "InternalConsultant",
          "SubmitPayrollAuthority",
          "XeroFullUser",
          "ReportAdministrator",
          "ReportUserNonMonetary",
          "ReportUserMonetary",
          "PaidPayrollAuthority",
          "DocumentManager",
          "DocumentAdministrator",
          "FlowChartAdministrator",
          "LeaveApprover",
          "ExpenseApprover",
          "ClientEmployerAdministrator",
          "ClientEmployerJobAdministrator",
          "TimesheetIntegration",
          "DashboardUser",
          "SkillsMatrixUser",
          "SkillsMatrixAdministrator",
          "OnboardingAdministrator",
          "OnboardingManager",
          "OnboardingUser",
          "WorkRuleAdministrator",
          "SynchroniseAdministrator",
          "SynchroniseApprover",
          "SynchroniseUser",
          "SynchroniseIntegrator",
          "LeaveScheduleAdministrator",
          "LeaveScheduleManager",
          "EmployeeSelfServiceLimited",
          "LeaveScheduleUser",
          "RosterAdministrator",
          "RosterManager",
          "RosterUser",
          "ApiDeveloper",
          "ApiManager",
          "EmployeeViewAuthority",
          "StpAuthorisingAgent",
          "FinancialController",
          "PayrollOfficer",
          "FlowChartReadOnly",
          "AdvancedReportingUser",
          "SsoIntegrationManager",
          "PayrollChangeRequester"
        ]
      },
      "ActiveStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Active",
          "Inactive",
          "Testing",
          "Wizard"
        ],
        "enum": [
          "Active",
          "Inactive",
          "Testing",
          "Wizard"
        ]
      },
      "ChangeRequestStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Pending",
          "Completed",
          "Cancelled",
          "Rejected"
        ],
        "enum": [
          "Pending",
          "Completed",
          "Cancelled",
          "Rejected"
        ]
      },
      "UpdateChangeRequestCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "ChangeRequestTypeId": {
                "type": "integer",
                "format": "byte"
              },
              "EffectiveDate": {
                "type": "string",
                "format": "date-time"
              },
              "EmployeeIds": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              },
              "Instructions": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Command": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false
      },
      "CreateChangeRequestCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ChangeRequestTypeId": {
                "type": "integer",
                "format": "byte"
              },
              "EffectiveDate": {
                "type": "string",
                "format": "date-time"
              },
              "EmployeeIds": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              },
              "Instructions": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Credential": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialType"
              }
            ]
          },
          "Employee": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Employee"
              }
            ]
          },
          "RegistrationNumber": {
            "type": "string",
            "nullable": true
          },
          "Issuer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialIssuer"
              }
            ]
          },
          "StartDate": {
            "type": "string",
            "format": "date-time"
          },
          "ExpiryDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CredentialType": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Code": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Employee": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Person"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Authority": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Person"
                  }
                ]
              },
              "EmailType": {
                "$ref": "#/components/schemas/EmailType"
              },
              "Roles": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/UserRole"
                }
              },
              "Address": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/OldAddress"
                  }
                ]
              },
              "MobilePhone": {
                "type": "string",
                "format": "phone",
                "nullable": true
              },
              "HomePhone": {
                "type": "string",
                "format": "phone",
                "nullable": true
              },
              "DateOfBirth": {
                "type": "string",
                "format": "date",
                "nullable": true
              },
              "MiddleInitial": {
                "type": "string",
                "maxLength": 3,
                "nullable": true
              },
              "TaxFileNumber": {
                "type": "string",
                "maxLength": 20,
                "nullable": true
              },
              "Occupation": {
                "type": "string",
                "maxLength": 50,
                "nullable": true
              },
              "CostCentres": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/EmployeeCostCentre"
                }
              },
              "PreferredName": {
                "type": "string",
                "nullable": true
              },
              "PayLocation": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PayLocation"
                  }
                ]
              },
              "StateEmployed": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmploymentState"
                  }
                ]
              },
              "EmergencyContact": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmergencyContactDetails"
                  }
                ]
              },
              "Gender": {
                "$ref": "#/components/schemas/Gender"
              },
              "StartDate": {
                "type": "string",
                "format": "date"
              }
            }
          }
        ]
      },
      "Person": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "FamilyName",
              "GivenName",
              "Email",
              "Code"
            ],
            "properties": {
              "FamilyName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "GivenName": {
                "type": "string",
                "maxLength": 50
              },
              "Email": {
                "type": "string",
                "format": "email",
                "maxLength": 255
              },
              "Status": {
                "$ref": "#/components/schemas/ActiveStatus"
              },
              "Code": {
                "type": "string",
                "maxLength": 16
              }
            }
          }
        ]
      },
      "Entity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Identified"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Identified": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "EmailType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Text",
          "HTML"
        ],
        "enum": [
          "Text",
          "HTML"
        ]
      },
      "OldAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Address"
          },
          {
            "type": "object",
            "deprecated": true,
            "x-deprecatedMessage": "Use Address type instead. This type will be removed in 14.0",
            "additionalProperties": false,
            "properties": {
              "State": {
                "type": "string",
                "nullable": true
              },
              "Country": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Address": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Address1": {
            "type": "string",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "nullable": true
          },
          "Suburb": {
            "type": "string",
            "nullable": true
          },
          "State": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Entity"
              }
            ]
          },
          "Postcode": {
            "type": "string",
            "nullable": true
          },
          "Country": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Entity"
              }
            ]
          }
        }
      },
      "EmployeeCostCentre": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "CostCentre": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Entity"
              }
            ]
          },
          "StartDate": {
            "type": "string",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DefaultHours": {
            "type": "number",
            "format": "decimal"
          },
          "AltHourlyRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "nullable": true
          },
          "IsExpired": {
            "type": "boolean"
          }
        }
      },
      "PayLocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "State": {
                "$ref": "#/components/schemas/State"
              }
            }
          }
        ]
      },
      "State": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "OTH",
          "ACT",
          "NSW",
          "NT",
          "QLD",
          "SA",
          "TAS",
          "VIC",
          "WA"
        ],
        "enum": [
          "None",
          "OTH",
          "ACT",
          "NSW",
          "NT",
          "QLD",
          "SA",
          "TAS",
          "VIC",
          "WA"
        ]
      },
      "EmploymentState": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Description": {
                "type": "string",
                "nullable": true
              },
              "Group": {
                "type": "string",
                "nullable": true
              },
              "State": {
                "type": "string",
                "deprecated": true,
                "x-deprecatedMessage": "Use Name instead. This property will be removed in 13.0",
                "nullable": true
              }
            }
          }
        ]
      },
      "EmergencyContactDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Relationship": {
            "type": "string",
            "nullable": true
          },
          "MobilePhone": {
            "type": "string",
            "format": "phone",
            "nullable": true
          },
          "HomePhone": {
            "type": "string",
            "format": "phone",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "nullable": true
          },
          "Address3": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Gender": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Female",
          "Male",
          "Unknown",
          "NonBinary"
        ],
        "enum": [
          "Female",
          "Male",
          "Unknown",
          "NonBinary"
        ]
      },
      "CredentialIssuer": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Classification": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialIssuerClassification"
              }
            ]
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CredentialIssuerClassification": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CredentialCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "RegistrationNumber": {
                "type": "string",
                "nullable": true
              },
              "EmployeeId": {
                "type": "integer",
                "format": "int64"
              },
              "CredentialIssuerId": {
                "type": "integer",
                "format": "int64"
              },
              "CredentialTypeId": {
                "type": "integer",
                "format": "int64"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "ExpiryDate": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ]
      },
      "CredentialUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "RegistrationNumber": {
                "type": "string",
                "nullable": true
              },
              "CredentialIssuerId": {
                "type": "integer",
                "format": "int64"
              },
              "CredentialTypeId": {
                "type": "integer",
                "format": "int64"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "ExpiryDate": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ]
      },
      "EmployeeCostCentreCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "CostCentreId",
              "StartDate",
              "DefaultHours"
            ],
            "properties": {
              "CostCentreId": {
                "type": "integer",
                "format": "int64"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "EndDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "DefaultHours": {
                "type": "number",
                "format": "decimal",
                "maximum": 8760.0,
                "minimum": 0.0
              },
              "AltHourlyRate": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              }
            }
          }
        ]
      },
      "EmployeeCostCentreUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "StartDate",
              "DefaultHours"
            ],
            "properties": {
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "EndDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "DefaultHours": {
                "type": "number",
                "format": "decimal",
                "maximum": 8760.0,
                "minimum": 0.0
              },
              "AltHourlyRate": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              }
            }
          }
        ]
      },
      "ExpenseApplicationStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Processing",
          "Accepted",
          "Declined",
          "Cancelled",
          "Hold",
          "Paid",
          "Escalated"
        ],
        "enum": [
          "Processing",
          "Accepted",
          "Declined",
          "Cancelled",
          "Hold",
          "Paid",
          "Escalated"
        ]
      },
      "SortDirection": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Ascending",
          "Descending"
        ],
        "enum": [
          "asc",
          "desc"
        ]
      },
      "EmployeePaymentDetailsUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "InputSheetViewId",
              "SuperFund",
              "Salary",
              "HourlyRate",
              "StandardHours",
              "Paycodes",
              "PaymentGroupId"
            ],
            "properties": {
              "InputSheetViewId": {
                "type": "integer",
                "format": "int64"
              },
              "SuperFund": {
                "$ref": "#/components/schemas/EmployeePaymentDetailsSuperFundUpdate"
              },
              "Salary": {
                "type": "number",
                "format": "decimal"
              },
              "HourlyRate": {
                "type": "number",
                "format": "decimal"
              },
              "StandardHours": {
                "type": "number",
                "format": "decimal"
              },
              "Paycodes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EmployeePaymentDetailsPayCodeUpdate"
                }
              },
              "PaymentGroupId": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "EmployeePaymentDetailsSuperFundUpdate": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "MembershipNumber"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "MembershipNumber": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "EmployeePaymentDetailsPayCodeUpdate": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "DefaultValue"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "DefaultValue": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "EmployeePaymentMethodCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Type",
              "IsPrimary"
            ],
            "properties": {
              "Type": {
                "$ref": "#/components/schemas/EmployeePaymentMethodType"
              },
              "BsbNumber": {
                "type": "string",
                "maxLength": 6,
                "minLength": 0,
                "nullable": true
              },
              "AccountNumber": {
                "type": "string",
                "maxLength": 9,
                "minLength": 6,
                "nullable": true
              },
              "AccountName": {
                "type": "string",
                "maxLength": 32,
                "minLength": 0,
                "nullable": true
              },
              "Reference": {
                "type": "string",
                "maxLength": 18,
                "minLength": 0,
                "nullable": true
              },
              "IsPrimary": {
                "type": "boolean"
              },
              "Amount": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              }
            }
          }
        ]
      },
      "EmployeePaymentMethodType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Cash",
          "Cheque",
          "EFT",
          "Normal",
          "ManualBankTransfer"
        ],
        "enum": [
          "Cash",
          "Cheque",
          "EFT",
          "Normal",
          "ManualBankTransfer"
        ]
      },
      "PaymentMethodUpdateTemplate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AddEmployeePaymentMethod"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "AddEmployeePaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Type",
          "IsPrimary"
        ],
        "properties": {
          "Type": {
            "$ref": "#/components/schemas/EmployeePaymentMethodType"
          },
          "BsbNumber": {
            "type": "string",
            "maxLength": 6,
            "minLength": 0,
            "nullable": true
          },
          "AccountNumber": {
            "type": "string",
            "maxLength": 9,
            "minLength": 6,
            "nullable": true
          },
          "AccountName": {
            "type": "string",
            "maxLength": 32,
            "minLength": 0,
            "nullable": true
          },
          "Reference": {
            "type": "string",
            "maxLength": 18,
            "minLength": 0,
            "nullable": true
          },
          "IsPrimary": {
            "type": "boolean"
          },
          "Amount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "EmployeeTaxationDetailsUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "FamilyTaxBenefit",
              "TaxFileNumber",
              "TFNReason",
              "ThresholdClaimed",
              "AustralianForTax",
              "SuperAuthorised",
              "MedicareExemption",
              "FCRLExempted",
              "HELP",
              "SFSS",
              "CDEP",
              "InvalidRelative",
              "DependentParent",
              "DependentSpouse",
              "SoleParent",
              "ZoneA",
              "ZoneB",
              "PaygVariation",
              "StartDate",
              "WorkingHolidayFlag",
              "CloselyHeldPayeeFlag",
              "InboundAssigneeFlag",
              "CommissionerRateFlag",
              "MLEType",
              "MLRClaimed",
              "ForeignEmploymentIncomeFlag",
              "VoluntaryAgreementFrom",
              "VoluntaryAgreementTo",
              "VoluntaryAgreementPercent"
            ],
            "properties": {
              "FamilyTaxBenefit": {
                "type": "boolean"
              },
              "FamilyTaxBenefitAmount": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              },
              "TaxFileNumber": {
                "type": "string",
                "nullable": true
              },
              "TFNReason": {
                "$ref": "#/components/schemas/TFNReason"
              },
              "ThresholdClaimed": {
                "type": "boolean"
              },
              "AustralianForTax": {
                "type": "boolean"
              },
              "SuperAuthorised": {
                "type": "boolean"
              },
              "MedicareExemption": {
                "type": "boolean"
              },
              "FCRLExempted": {
                "type": "boolean"
              },
              "HELP": {
                "type": "boolean",
                "nullable": true
              },
              "SFSS": {
                "type": "boolean",
                "nullable": true
              },
              "CDEP": {
                "type": "boolean",
                "nullable": true
              },
              "InvalidRelative": {
                "type": "boolean"
              },
              "DependentParent": {
                "type": "boolean"
              },
              "DependentSpouse": {
                "type": "boolean"
              },
              "SoleParent": {
                "type": "boolean"
              },
              "ZoneA": {
                "type": "boolean"
              },
              "ZoneB": {
                "type": "boolean"
              },
              "PaygVariation": {
                "$ref": "#/components/schemas/UpdateEmployeePaygVariation"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "WorkingHolidayFlag": {
                "type": "boolean"
              },
              "TaxCountry": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "ContractorType": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContractorTypeEnum"
                  }
                ]
              },
              "CloselyHeldPayeeFlag": {
                "type": "boolean"
              },
              "InboundAssigneeFlag": {
                "type": "boolean"
              },
              "CommissionerRateFlag": {
                "type": "boolean"
              },
              "MedicareLevySurchargeTier": {
                "type": "string",
                "nullable": true
              },
              "MLEType": {
                "$ref": "#/components/schemas/MedicareExemptionType"
              },
              "NoDependents": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "MLRClaimed": {
                "type": "boolean"
              },
              "ForeignEmploymentIncomeFlag": {
                "type": "boolean"
              },
              "VoluntaryAgreementFrom": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "VoluntaryAgreementTo": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "VoluntaryAgreementPercent": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              }
            }
          }
        ]
      },
      "TFNReason": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NoReason",
          "NoTFNIssued",
          "TFNApplicationHasBeenLodged",
          "ATOHasSuppliedInterimNotice",
          "EmployeeIsUnder18Years",
          "EmployeeIsAPensionerAndIsExemptFromQuotingaTFN",
          "AlphabeticTFNSupplied"
        ],
        "enum": [
          "NoReason",
          "NoTFNIssued",
          "TFNApplicationHasBeenLodged",
          "ATOHasSuppliedInterimNotice",
          "EmployeeIsUnder18Years",
          "EmployeeIsAPensionerAndIsExemptFromQuotingaTFN",
          "AlphabeticTFNSupplied"
        ]
      },
      "UpdateEmployeePaygVariation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AddEmployeePaygVariation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "AddEmployeePaygVariation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "IsVariation"
        ],
        "properties": {
          "IsVariation": {
            "type": "boolean"
          },
          "IsOverride": {
            "type": "boolean",
            "nullable": true
          },
          "From": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "To": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Amount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "Percentage": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "ContractorTypeEnum": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ExcludedFromStp",
          "LabourHire",
          "VoluntaryAgreement",
          "AtoDefined"
        ],
        "enum": [
          "ExcludedFromStp",
          "LabourHire",
          "VoluntaryAgreement",
          "AtoDefined"
        ]
      },
      "MedicareExemptionType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "Half",
          "Full"
        ],
        "enum": [
          "None",
          "Half",
          "Full"
        ]
      },
      "EmployeeTerminationCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "TerminationDate",
              "Reason",
              "PaymentType",
              "PaymentMethod"
            ],
            "properties": {
              "TerminationDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "Reason": {
                "$ref": "#/components/schemas/TerminationReason"
              },
              "PaymentType": {
                "$ref": "#/components/schemas/TerminationPayment"
              },
              "PaymentMethod": {
                "$ref": "#/components/schemas/EmployeePaymentMethodType"
              },
              "PayPersonalLeave": {
                "type": "boolean"
              },
              "PayLeaveOnlyDueToReason": {
                "type": "boolean"
              },
              "O": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EtpPortion"
                  }
                ]
              },
              "R": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EtpPortion"
                  }
                ]
              },
              "T": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EtpPortion"
                  }
                ]
              },
              "D": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EtpPortion"
                  }
                ]
              },
              "N": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EtpPortion"
                  }
                ]
              }
            }
          }
        ]
      },
      "TerminationReason": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Resignation",
          "Dismissal",
          "Redundancy",
          "Retirement",
          "Invalidity",
          "Death",
          "EarlyRetirement",
          "InterCompanyTransfer",
          "EndOfContract"
        ],
        "enum": [
          "Resignation",
          "Dismissal",
          "Redundancy",
          "Retirement",
          "Invalidity",
          "Death",
          "EarlyRetirement",
          "InterCompanyTransfer",
          "EndOfContract"
        ]
      },
      "TerminationPayment": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "Standard",
          "Additional",
          "Manual"
        ],
        "enum": [
          "None",
          "Standard",
          "Additional",
          "Manual"
        ]
      },
      "EtpPortion": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Hours": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "Amount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "EmployeeUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Code",
              "GivenName",
              "FamilyName",
              "Gender",
              "Address",
              "StateEmployed",
              "PayLocationId",
              "StartDate",
              "Email",
              "EmailFormat",
              "EmergencyContact"
            ],
            "properties": {
              "Code": {
                "type": "string",
                "maxLength": 10,
                "minLength": 1
              },
              "GivenName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "FamilyName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "MiddleInitial": {
                "type": "string",
                "maxLength": 3,
                "minLength": 0,
                "nullable": true
              },
              "Gender": {
                "$ref": "#/components/schemas/Gender"
              },
              "DateOfBirth": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Address": {
                "$ref": "#/components/schemas/Address"
              },
              "StateEmployed": {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              "Occupation": {
                "type": "string",
                "maxLength": 50,
                "minLength": 0,
                "nullable": true
              },
              "PayLocationId": {
                "type": "integer",
                "format": "int64"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "HomePhone": {
                "type": "string",
                "maxLength": 20,
                "minLength": 0,
                "nullable": true
              },
              "MobilePhone": {
                "type": "string",
                "maxLength": 20,
                "minLength": 0,
                "nullable": true
              },
              "Email": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "pattern": "[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])"
              },
              "EmailFormat": {
                "$ref": "#/components/schemas/EmailType"
              },
              "EmergencyContact": {
                "$ref": "#/components/schemas/EmergencyContactDetails"
              },
              "Info1": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info2": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info3": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info4": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "WorkStatusType": {
                "$ref": "#/components/schemas/EmployeeWorkStatusType"
              },
              "PreferredName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 0,
                "nullable": true
              }
            }
          }
        ]
      },
      "EmployeeWorkStatusType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "Casual",
          "Permanent",
          "Temporary"
        ],
        "enum": [
          "None",
          "Casual",
          "Permanent",
          "Temporary"
        ]
      },
      "EmployeeCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Code",
              "GivenName",
              "FamilyName",
              "Gender",
              "Address",
              "StateEmployed",
              "PayLocationId",
              "StartDate",
              "Email",
              "EmailFormat",
              "EmergencyContact",
              "InitialAccruals",
              "PaymentDetail",
              "PaymentMethods",
              "CostCentres",
              "TaxationDetail"
            ],
            "properties": {
              "AuthorityId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "Code": {
                "type": "string",
                "maxLength": 10,
                "minLength": 1
              },
              "GivenName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "FamilyName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "MiddleInitial": {
                "type": "string",
                "maxLength": 3,
                "minLength": 0,
                "nullable": true
              },
              "Gender": {
                "$ref": "#/components/schemas/Gender"
              },
              "DateOfBirth": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Address": {
                "$ref": "#/components/schemas/Address"
              },
              "StateEmployed": {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              "Occupation": {
                "type": "string",
                "maxLength": 50,
                "minLength": 0,
                "nullable": true
              },
              "PayLocationId": {
                "type": "integer",
                "format": "int64"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "HomePhone": {
                "type": "string",
                "maxLength": 20,
                "minLength": 0,
                "nullable": true
              },
              "MobilePhone": {
                "type": "string",
                "maxLength": 20,
                "minLength": 0,
                "nullable": true
              },
              "Email": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1,
                "pattern": "[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])"
              },
              "EmailFormat": {
                "$ref": "#/components/schemas/EmailType"
              },
              "EmergencyContact": {
                "$ref": "#/components/schemas/EmergencyContactDetails"
              },
              "Roles": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/UserRole"
                }
              },
              "InitialAccruals": {
                "$ref": "#/components/schemas/AddEmployeeInitialAccruals"
              },
              "PaymentDetail": {
                "$ref": "#/components/schemas/AddEmployeePaymentDetail"
              },
              "PaymentMethods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AddEmployeePaymentMethod"
                }
              },
              "Info1": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info2": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info3": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "Info4": {
                "type": "string",
                "maxLength": 100,
                "minLength": 0,
                "nullable": true
              },
              "WorkStatusType": {
                "$ref": "#/components/schemas/EmployeeWorkStatusType"
              },
              "CostCentres": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AddEmployeeCostCentre"
                }
              },
              "TaxationDetail": {
                "$ref": "#/components/schemas/AddEmployeeTaxationDetail"
              },
              "PreferredName": {
                "type": "string",
                "maxLength": 50,
                "minLength": 0,
                "nullable": true
              }
            }
          }
        ]
      },
      "AddEmployeeInitialAccruals": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "AnnualLeave",
          "LongServiceLeave",
          "RosteredDaysOff",
          "SickLeave"
        ],
        "properties": {
          "AnnualLeave": {
            "type": "number",
            "format": "decimal"
          },
          "LongServiceLeave": {
            "type": "number",
            "format": "decimal"
          },
          "RosteredDaysOff": {
            "type": "number",
            "format": "decimal"
          },
          "SickLeave": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "AddEmployeePaymentDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "InputSheetViewId",
          "SuperFund",
          "Salary",
          "HourlyRate",
          "StandardHours",
          "Paycodes",
          "PaymentGroupId"
        ],
        "properties": {
          "InputSheetViewId": {
            "type": "integer",
            "format": "int64"
          },
          "SuperFund": {
            "$ref": "#/components/schemas/AddEmployeeSuperFund"
          },
          "Salary": {
            "type": "number",
            "format": "decimal"
          },
          "HourlyRate": {
            "type": "number",
            "format": "decimal"
          },
          "StandardHours": {
            "type": "number",
            "format": "decimal"
          },
          "Paycodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddEmployeePayCode"
            }
          },
          "PaymentGroupId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AddEmployeeSuperFund": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "MembershipNumber"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "MembershipNumber": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "AddEmployeePayCode": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "DefaultValue"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "DefaultValue": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "AddEmployeeCostCentre": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "DefaultHours",
          "StartDate"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "DefaultHours": {
            "type": "number",
            "format": "decimal"
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "minLength": 1
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "AltHourlyRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "AddEmployeeTaxationDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "FamilyTaxBenefit",
          "TaxFileNumber",
          "TFNReason",
          "ThresholdClaimed",
          "AustralianForTax",
          "SuperAuthorised",
          "MedicareExemption",
          "FCRLExempted",
          "HELP",
          "SFSS",
          "CDEP",
          "InvalidRelative",
          "DependentParent",
          "DependentSpouse",
          "SoleParent",
          "ZoneA",
          "ZoneB",
          "PaygVariation"
        ],
        "properties": {
          "FamilyTaxBenefit": {
            "type": "boolean"
          },
          "FamilyTaxBenefitAmount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "TaxFileNumber": {
            "type": "string",
            "minLength": 1
          },
          "TFNReason": {
            "$ref": "#/components/schemas/TFNReason"
          },
          "ThresholdClaimed": {
            "type": "boolean"
          },
          "AustralianForTax": {
            "type": "boolean"
          },
          "SuperAuthorised": {
            "type": "boolean"
          },
          "MedicareExemption": {
            "type": "boolean"
          },
          "FCRLExempted": {
            "type": "boolean"
          },
          "HELP": {
            "type": "boolean"
          },
          "SFSS": {
            "type": "boolean"
          },
          "CDEP": {
            "type": "boolean"
          },
          "InvalidRelative": {
            "type": "boolean"
          },
          "DependentParent": {
            "type": "boolean"
          },
          "DependentSpouse": {
            "type": "boolean"
          },
          "SoleParent": {
            "type": "boolean"
          },
          "ZoneA": {
            "type": "boolean"
          },
          "ZoneB": {
            "type": "boolean"
          },
          "PaygVariation": {
            "$ref": "#/components/schemas/AddEmployeePaygVariation"
          }
        }
      },
      "SuperFundCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "required": [
              "Name",
              "ABN"
            ],
            "properties": {
              "Name": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "ABN": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        ]
      },
      "ExpenseApplicationDocumentCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ExpenseApplicationId": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "ExpenseApplicationCommentCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "AuthorityId"
            ],
            "properties": {
              "ExpenseApplicationId": {
                "type": "integer",
                "format": "int64"
              },
              "AuthorityId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Comments": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ExpenseApplicationUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "OrganisationChartPositionId",
              "AmountApplied",
              "ExpenseTypeId",
              "Status",
              "IsGst"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "OrganisationChartPositionId": {
                "type": "integer",
                "format": "int32",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "AmountApplied": {
                "type": "number",
                "format": "decimal",
                "maximum": 99999.99,
                "minimum": 0.01
              },
              "ExpenseTypeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Status": {
                "$ref": "#/components/schemas/ExpenseApplicationStatus"
              },
              "IsGst": {
                "type": "boolean"
              },
              "Comments": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ExpenseApplicationCancelCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ExpenseApplicationCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "OrganisationChartPositionId",
              "AmountApplied",
              "ExpenseTypeId",
              "IsGst",
              "EmployeeId"
            ],
            "properties": {
              "OrganisationChartPositionId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "AmountApplied": {
                "type": "number",
                "format": "decimal",
                "maximum": 99999.99,
                "minimum": 0.01
              },
              "ExpenseTypeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "IsGst": {
                "type": "boolean"
              },
              "EmployeeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Comments": {
                "type": "string",
                "nullable": true
              },
              "Status": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExpenseApplicationStatus"
                  }
                ]
              }
            }
          }
        ]
      },
      "PaycodeUnitsType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Dollars",
          "Hours",
          "Unit"
        ],
        "enum": [
          "Dollars",
          "Hours",
          "Unit"
        ]
      },
      "PaycodeType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Payment",
          "Allowance",
          "Deduction",
          "Rebate",
          "NotationOnly"
        ],
        "enum": [
          "Payment",
          "Allowance",
          "Deduction",
          "Rebate",
          "NotationOnly"
        ]
      },
      "UpdateEmployeeShareSchemeCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "FinancialYear": {
                "type": "integer",
                "format": "int32"
              },
              "Data": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/EmployeeShareScheme"
                }
              }
            }
          }
        ]
      },
      "EmployeeShareScheme": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "FinancialYear",
          "EmployeeCode"
        ],
        "properties": {
          "FinancialYear": {
            "type": "integer",
            "format": "int32"
          },
          "EmployeeCode": {
            "type": "string",
            "minLength": 1
          },
          "GivenName": {
            "type": "string",
            "nullable": true
          },
          "FamilyName": {
            "type": "string",
            "nullable": true
          },
          "TaxedEligible": {
            "type": "number",
            "format": "decimal",
            "maximum": 100000000.0,
            "minimum": 0.0,
            "nullable": true
          },
          "TaxedIneligible": {
            "type": "number",
            "format": "decimal",
            "maximum": 100000000.0,
            "minimum": 0.0,
            "nullable": true
          },
          "DeferralSchemes": {
            "type": "number",
            "format": "decimal",
            "maximum": 100000000.0,
            "minimum": 0.0,
            "nullable": true
          },
          "Discount": {
            "type": "number",
            "format": "decimal",
            "maximum": 100000000.0,
            "minimum": 0.0,
            "nullable": true
          },
          "TfnWithheld": {
            "type": "number",
            "format": "decimal",
            "maximum": 100000000.0,
            "minimum": 0.0,
            "nullable": true
          }
        }
      },
      "LeaveApplicationCommentCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "AuthorityId"
            ],
            "properties": {
              "LeaveApplicationId": {
                "type": "integer",
                "format": "int64"
              },
              "AuthorityId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Comments": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "LeaveApplicationDocumentCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "LeaveApplicationId": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "LeaveApplicationStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Processing",
          "Accepted",
          "Declined",
          "Cancelled",
          "Hold",
          "Paid",
          "Escalated"
        ],
        "enum": [
          "Processing",
          "Accepted",
          "Declined",
          "Cancelled",
          "Hold",
          "Paid",
          "Escalated"
        ]
      },
      "LeaveApplicationRedirectRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "LeaveApplicationId": {
            "type": "integer",
            "format": "int64"
          },
          "AuthorityId": {
            "type": "integer",
            "format": "int64"
          },
          "OrganisationChartPositionId": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "LeaveApplicationUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id",
              "OrganisationChartPositionId",
              "DateFrom",
              "DateTo",
              "HoursApplied",
              "LeavePaycodeId",
              "WorkingDaysPerWeek",
              "EmployeeId",
              "Status"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "OrganisationChartPositionId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "DateFrom": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "DateTo": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "HoursApplied": {
                "type": "number",
                "format": "decimal",
                "maximum": 9999.99,
                "minimum": 0.01
              },
              "LeavePaycodeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "WorkingDaysPerWeek": {
                "type": "integer",
                "format": "int32",
                "maximum": 7.0,
                "minimum": 1.0
              },
              "EmployeeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Comments": {
                "type": "string",
                "nullable": true
              },
              "Status": {
                "$ref": "#/components/schemas/LeaveApplicationStatus"
              },
              "NotifyApplicant": {
                "type": "boolean"
              },
              "NotifyManager": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "LeaveApplicationCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "OrganisationChartPositionId",
              "DateFrom",
              "DateTo",
              "HoursApplied",
              "LeavePayCodeId",
              "WorkingDaysPerWeek",
              "EmployeeId"
            ],
            "properties": {
              "OrganisationChartPositionId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "DateFrom": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "DateTo": {
                "type": "string",
                "format": "date-time",
                "minLength": 1
              },
              "HoursApplied": {
                "type": "number",
                "format": "decimal",
                "maximum": 9999.99,
                "minimum": 0.01
              },
              "LeavePayCodeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "WorkingDaysPerWeek": {
                "type": "integer",
                "format": "int32",
                "maximum": 7.0,
                "minimum": 1.0
              },
              "EmployeeId": {
                "type": "integer",
                "format": "int64",
                "maximum": 9223372036854780000.0,
                "minimum": 1.0
              },
              "Comments": {
                "type": "string",
                "nullable": true
              },
              "Status": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeaveApplicationStatus"
                  }
                ]
              }
            }
          }
        ]
      },
      "LeaveCalculationQuery": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "EmployeeId",
          "WorkingDaysPerWeek",
          "LeavePaycodeId"
        ],
        "properties": {
          "DateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "DateTo": {
            "type": "string",
            "format": "date-time"
          },
          "EmployeeId": {
            "type": "integer",
            "format": "int64",
            "maximum": 9223372036854780000.0,
            "minimum": 1.0
          },
          "WorkingDaysPerWeek": {
            "type": "integer",
            "format": "int32",
            "maximum": 7.0,
            "minimum": 1.0
          },
          "Complete": {
            "type": "boolean"
          },
          "LeavePaycodeId": {
            "type": "integer",
            "format": "int64",
            "maximum": 9223372036854780000.0,
            "minimum": 0.0
          }
        }
      },
      "LeaveProjectionQuery": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DateTo": {
            "type": "string",
            "format": "date-time"
          },
          "EmployeeId": {
            "type": "integer",
            "format": "int64"
          },
          "LeavePaycodeId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LeaveApplicationCancelActionCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CreateRosterRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Roster": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Roster"
              }
            ]
          },
          "RosterTimeEntries": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/RosterTimeEntry"
            }
          },
          "RosterAuthorities": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/RosterAuthority"
            }
          },
          "NotifyAuthorityIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "Roster": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RosterId": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "EmployerId": {
            "type": "integer",
            "format": "int64"
          },
          "AuthorityId": {
            "type": "integer",
            "format": "int64"
          },
          "AuthorityName": {
            "type": "string",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "IsArchived": {
            "type": "boolean"
          },
          "Type": {
            "$ref": "#/components/schemas/RosterType"
          },
          "Style": {
            "$ref": "#/components/schemas/RosterStyle"
          },
          "Weeks": {
            "type": "integer",
            "format": "int32"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "Updated": {
            "type": "string",
            "format": "date-time"
          },
          "CreatedBy": {
            "type": "integer",
            "format": "int64"
          },
          "UpdatedBy": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RosterType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Weekdays",
          "WeekdaysAndWeekends"
        ],
        "enum": [
          "Weekdays",
          "WeekdaysAndWeekends"
        ]
      },
      "RosterStyle": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "TotalHours",
          "TimeRange"
        ],
        "enum": [
          "TotalHours",
          "TimeRange"
        ]
      },
      "RosterTimeEntry": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RosterTimeEntryId": {
            "type": "integer",
            "format": "int64"
          },
          "RosterId": {
            "type": "integer",
            "format": "int64"
          },
          "AuthorityId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Week": {
            "type": "integer",
            "format": "int32"
          },
          "Day": {
            "type": "integer",
            "format": "int32"
          },
          "StartTime": {
            "type": "string",
            "format": "date-time"
          },
          "EndTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LunchHours": {
            "type": "number",
            "format": "decimal"
          },
          "TotalHours": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "RosterAuthority": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "RosterAuthorityId": {
            "type": "integer",
            "format": "int64"
          },
          "RosterId": {
            "type": "integer",
            "format": "int64"
          },
          "AuthorityId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "UpdateRosterRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Roster": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Roster"
              }
            ]
          },
          "RosterTimeEntries": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/RosterTimeEntry"
            }
          },
          "RosterAuthorities": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/RosterAuthority"
            }
          },
          "NotifyAuthorityIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        }
      },
      "MedicareSurchargeUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CurrentRate": {
                "type": "number",
                "description": "Gets or sets current rate.",
                "format": "decimal"
              }
            }
          }
        ]
      },
      "OrganisationChartPositionAuthorityCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "AuthorityId"
            ],
            "properties": {
              "AuthorityId": {
                "type": "integer",
                "format": "int64"
              },
              "Priority": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              }
            }
          }
        ]
      },
      "OrganisationChartPositionAuthorityUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Priority"
            ],
            "properties": {
              "Priority": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "BulkAssignPaycodeCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "PaycodeId": {
                "type": "integer",
                "format": "int64"
              },
              "EmployeeIds": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        ]
      },
      "BulkRevokePaycodeCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "PayCodeId": {
                "type": "integer",
                "format": "int64"
              },
              "EmployeeIds": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        ]
      },
      "PayCycleType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Weekly",
          "Fortnightly",
          "Monthly",
          "SemiMonthly",
          "FourWeekly"
        ],
        "enum": [
          "Weekly",
          "Fortnightly",
          "Monthly",
          "SemiMonthly",
          "FourWeekly"
        ]
      },
      "PayCycleUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "InputSheetViews": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Entity"
                }
              }
            }
          }
        ]
      },
      "PayCycleCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Title": {
                "type": "string",
                "nullable": true
              },
              "CycleType": {
                "$ref": "#/components/schemas/PayCycleType"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "EndDate": {
                "type": "string",
                "format": "date-time"
              },
              "AccountingDate": {
                "type": "string",
                "format": "date-time"
              },
              "SubmitDate": {
                "type": "string",
                "format": "date-time"
              },
              "ReleaseDate": {
                "type": "string",
                "format": "date-time"
              },
              "StartDate2": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "EndDate2": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "AccountingDate2": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "SubmitDate2": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "ReleaseDate2": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "IsAccountingDateLastDateOfPayPeriod": {
                "type": "boolean"
              },
              "IsSubmitDateLastDateOfPayPeriod": {
                "type": "boolean"
              },
              "IsReleaseDateLastDateOfPayPeriod": {
                "type": "boolean"
              },
              "IsAccountingDate2LastDateOfPayPeriod": {
                "type": "boolean"
              },
              "IsReleaseDate2LastDateOfPayPeriod": {
                "type": "boolean"
              },
              "IsSubmitDate2LastDateOfPayPeriod": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "PayPeriodDates": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PayrollDates": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PayrollDates"
              }
            ]
          },
          "AdditionalPayrollDates": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PayrollDates"
              }
            ]
          }
        }
      },
      "PayrollDates": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "EndDate": {
                "type": "string",
                "format": "date-time"
              },
              "AccountingDate": {
                "type": "string",
                "format": "date-time"
              },
              "SubmitDate": {
                "type": "string",
                "format": "date-time"
              },
              "ReleaseDate": {
                "type": "string",
                "format": "date-time"
              },
              "AccountingDateIsLastDayOfThePayPeriod": {
                "type": "boolean"
              },
              "SubmitDateIsLastDayOfThePayPeriod": {
                "type": "boolean"
              },
              "ReleaseDateIsLastDayOfThePayPeriod": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "PaymentTemplateResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PaymentTemplateId": {
            "type": "integer",
            "format": "int64"
          },
          "EmployerId": {
            "type": "integer",
            "format": "int64"
          },
          "StandardHours": {
            "type": "number",
            "format": "decimal"
          },
          "AnnualLeaveWeeks": {
            "type": "integer",
            "format": "int32"
          },
          "AnnualLeaveFlag": {
            "type": "boolean"
          },
          "SickLeaveDays": {
            "type": "integer",
            "format": "int32"
          },
          "SickLeaveDaysFlag": {
            "type": "boolean"
          },
          "RDOPercent": {
            "type": "number",
            "format": "decimal"
          },
          "Title": {
            "type": "string",
            "nullable": true
          },
          "ExpiredFlag": {
            "type": "boolean"
          }
        }
      },
      "PayrollApproveCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "PayrollStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Open",
          "Processed",
          "Paid"
        ],
        "enum": [
          "Open",
          "Processed",
          "Paid"
        ]
      },
      "PayrollDataUploadCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "OverrideExistingEntries"
            ],
            "properties": {
              "OverrideExistingEntries": {
                "type": "boolean"
              },
              "Entries": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/PayrollDataUploadEntry"
                }
              }
            }
          }
        ]
      },
      "PayrollDataUploadEntry": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "EmployeeCode": {
            "type": "string",
            "nullable": true
          },
          "CostCentreCode": {
            "type": "string",
            "nullable": true
          },
          "PayCodeId": {
            "type": "string",
            "nullable": true
          },
          "Units": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "LeaveStart": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LeaveEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "NumberOfPays": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "AlternateRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "BulkRevokeRolesCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Roles": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              },
              "Authorities": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        ]
      },
      "BulkAssignRolesCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Roles",
              "Authorities"
            ],
            "properties": {
              "Roles": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              },
              "Authorities": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        ]
      },
      "StpBulkUpsertMappingCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "description": "the comand used for saving stp mapping",
            "additionalProperties": false,
            "properties": {
              "Paycodes": {
                "type": "array",
                "description": "the changed paycode records that to be handler",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/StpSavingMappingModel"
                }
              },
              "Fulfilments": {
                "type": "array",
                "description": "the changed fulfilment records that to be handler",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/StpSavingMappingModel"
                }
              }
            }
          }
        ]
      },
      "StpSavingMappingModel": {
        "type": "object",
        "description": "the saving mapping model",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "description": "the identity of paycode or fulfilment header",
            "format": "int64"
          },
          "STP2PayCat": {
            "type": "integer",
            "description": "the identity of global category ",
            "format": "int32"
          },
          "STP2Subcategory": {
            "type": "integer",
            "description": "the identity of global category ",
            "format": "int32",
            "nullable": true
          },
          "STP2Description": {
            "type": "string",
            "description": "The payment other code mapping of fulfillment ",
            "nullable": true
          },
          "QualifyingEarningsFlag": {
            "type": "boolean",
            "description": "Indicates whether the paycode should be included in the Qualifying Earnings calculation."
          }
        }
      },
      "OnboardingConfigurationCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "UploadContractHeader": {
                "type": "string",
                "nullable": true
              },
              "UploadContractDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoIsIncluded": {
                "type": "boolean"
              },
              "WelcomeVideoHeader": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoUrl": {
                "type": "string",
                "nullable": true
              },
              "WhoIsMyTeamIsIncluded": {
                "type": "boolean"
              },
              "WhoIsMyTeamHeader": {
                "type": "string",
                "nullable": true
              },
              "WhoIsMyTeamDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerIsIncluded": {
                "type": "boolean"
              },
              "WelcomeManagerTitle": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerHowToGet": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerContacts": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkAddress1": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "WelcomeManagerWorkAddress2": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "WelcomeManagerWorkCity": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkState": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkPostcode": {
                "type": "string",
                "nullable": true
              },
              "FairworkHeader": {
                "type": "string",
                "nullable": true
              },
              "FairworkDescription": {
                "type": "string",
                "nullable": true
              },
              "FairworkDocument": {
                "type": "string",
                "nullable": true
              },
              "HandbookIsIncluded": {
                "type": "boolean"
              },
              "HandbookHeader": {
                "type": "string",
                "nullable": true
              },
              "HandbookDescription": {
                "type": "string",
                "nullable": true
              },
              "HandbookDocument": {
                "type": "string",
                "nullable": true
              },
              "ThankYouTitle": {
                "type": "string",
                "nullable": true
              },
              "ThankYouDescription": {
                "type": "string",
                "nullable": true
              },
              "FileStreamHandbookDocument": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FileStream"
                  }
                ]
              },
              "FileStreamFairworkDocument": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FileStream"
                  }
                ]
              },
              "ReminderDayNumber": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "ReminderTime": {
                "type": "string",
                "format": "time-span",
                "nullable": true
              }
            }
          }
        ]
      },
      "FileStream": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Stream"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CanRead": {
                "type": "boolean"
              },
              "CanWrite": {
                "type": "boolean"
              },
              "CanSeek": {
                "type": "boolean"
              },
              "IsAsync": {
                "type": "boolean"
              },
              "Length": {
                "type": "integer",
                "format": "int64"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Position": {
                "type": "integer",
                "format": "int64"
              },
              "Handle": {
                "deprecated": true,
                "x-deprecatedMessage": "This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/IntPtr"
                  }
                ]
              },
              "SafeFileHandle": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SafeFileHandle"
                  }
                ]
              }
            }
          }
        ]
      },
      "IntPtr": {
        "type": "object",
        "additionalProperties": false
      },
      "SafeFileHandle": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SafeHandleZeroOrMinusOneIsInvalid"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "SafeHandleZeroOrMinusOneIsInvalid": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SafeHandle"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "IsInvalid": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "SafeHandle": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CriticalFinalizerObject"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "IsClosed": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CriticalFinalizerObject": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false
      },
      "Stream": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MarshalByRefObject"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "CanTimeout": {
                "type": "boolean"
              },
              "ReadTimeout": {
                "type": "integer",
                "format": "int32"
              },
              "WriteTimeout": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "MarshalByRefObject": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false
      },
      "OnboardingConfigurationUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "UploadContractHeader": {
                "type": "string",
                "nullable": true
              },
              "UploadContractDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoIsIncluded": {
                "type": "boolean"
              },
              "WelcomeVideoHeader": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeVideoUrl": {
                "type": "string",
                "nullable": true
              },
              "WhoIsMyTeamIsIncluded": {
                "type": "boolean"
              },
              "WhoIsMyTeamHeader": {
                "type": "string",
                "nullable": true
              },
              "WhoIsMyTeamDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerIsIncluded": {
                "type": "boolean"
              },
              "WelcomeManagerTitle": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerDescription": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerHowToGet": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerContacts": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkAddress1": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "WelcomeManagerWorkAddress2": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "WelcomeManagerWorkCity": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkState": {
                "type": "string",
                "nullable": true
              },
              "WelcomeManagerWorkPostcode": {
                "type": "string",
                "nullable": true
              },
              "FairworkHeader": {
                "type": "string",
                "nullable": true
              },
              "FairworkDescription": {
                "type": "string",
                "nullable": true
              },
              "FairworkDocument": {
                "type": "string",
                "nullable": true
              },
              "HandbookIsIncluded": {
                "type": "boolean"
              },
              "HandbookHeader": {
                "type": "string",
                "nullable": true
              },
              "HandbookDescription": {
                "type": "string",
                "nullable": true
              },
              "HandbookDocument": {
                "type": "string",
                "nullable": true
              },
              "ThankYouTitle": {
                "type": "string",
                "nullable": true
              },
              "ThankYouDescription": {
                "type": "string",
                "nullable": true
              },
              "FileStreamHandbookDocument": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FileStream"
                  }
                ]
              },
              "FileStreamFairworkDocument": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FileStream"
                  }
                ]
              },
              "ReminderDayNumber": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "ReminderTime": {
                "type": "string",
                "format": "time-span",
                "nullable": true
              }
            }
          }
        ]
      },
      "NewHireCreateDocumentCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "NewHireId": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "NewHireCreateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "FamilyName": {
                "type": "string",
                "nullable": true
              },
              "GivenName": {
                "type": "string",
                "nullable": true
              },
              "MiddleInitials": {
                "type": "string",
                "nullable": true
              },
              "PersonalEmail": {
                "type": "string",
                "nullable": true
              },
              "BirthDate": {
                "type": "string",
                "format": "date-time"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "OnboardingManagerId": {
                "type": "integer",
                "format": "int64"
              },
              "EmploymentState": {
                "type": "string",
                "nullable": true
              },
              "PayLocationId": {
                "type": "integer",
                "format": "int64"
              },
              "WelcomeEmailText": {
                "type": "string",
                "nullable": true
              },
              "WelcomePageText": {
                "type": "string",
                "nullable": true
              },
              "Occupation": {
                "type": "string",
                "nullable": true
              },
              "CustomizeManager": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomizeManagerMessage"
                  }
                ]
              },
              "TeamMembersId": {
                "type": "string",
                "nullable": true
              },
              "EmployeeCode": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CustomizeManagerMessage": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "BuddyId": {
            "type": "integer",
            "format": "int64"
          },
          "BuddyMessage": {
            "type": "string",
            "nullable": true
          },
          "ManagerMessage": {
            "type": "string",
            "nullable": true
          },
          "MessageIsIncluded": {
            "type": "boolean"
          }
        }
      },
      "NewHireUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "GivenName": {
                "type": "string",
                "nullable": true
              },
              "MiddleInitials": {
                "type": "string",
                "nullable": true
              },
              "FamilyName": {
                "type": "string",
                "nullable": true
              },
              "Gender": {
                "$ref": "#/components/schemas/Gender"
              },
              "HomeAddress": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "BirthDate": {
                "type": "string",
                "format": "date-time"
              },
              "Phone": {
                "type": "string",
                "nullable": true
              },
              "Mobile": {
                "type": "string",
                "nullable": true
              },
              "PersonalEmail": {
                "type": "string",
                "nullable": true
              },
              "Occupation": {
                "type": "string",
                "nullable": true
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "Status": {
                "$ref": "#/components/schemas/NewHireStatus"
              },
              "OnboardingManager": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Person"
                  }
                ]
              },
              "OnboardingManagerId": {
                "type": "integer",
                "format": "int64"
              },
              "PayLocation": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Entity"
                  }
                ]
              },
              "PayLocationId": {
                "type": "integer",
                "format": "int64"
              },
              "EmploymentState": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmploymentState"
                  }
                ]
              },
              "WelcomePageText": {
                "type": "string",
                "nullable": true
              },
              "WelcomeEmailText": {
                "type": "string",
                "nullable": true
              },
              "EmergencyDetails": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireEmergencyDetails"
                  }
                ]
              },
              "TaxationDetails": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireTaxationDetail"
                  }
                ]
              },
              "SuperChoice": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewHireSuperChoice"
                  }
                ]
              },
              "PreferredName": {
                "type": "string",
                "nullable": true
              },
              "EmployeeCode": {
                "type": "string",
                "nullable": true
              },
              "CustomizeManager": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomizeManagerMessage"
                  }
                ]
              },
              "TeamMembersId": {
                "type": "string",
                "nullable": true
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              }
            }
          }
        ]
      },
      "NewHireStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Accepted",
          "Initiated",
          "Processing",
          "Completed",
          "Cancelled"
        ],
        "enum": [
          "Accepted",
          "Initiated",
          "Processing",
          "Completed",
          "Cancelled"
        ]
      },
      "NewHireEmergencyDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Address": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "GivenName": {
            "type": "string",
            "nullable": true
          },
          "FamilyName": {
            "type": "string",
            "nullable": true
          },
          "Relationship": {
            "type": "string",
            "nullable": true
          },
          "Phone": {
            "type": "string",
            "format": "phone",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "format": "phone",
            "nullable": true
          }
        }
      },
      "NewHireTaxationDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "FamilyTaxBenefit": {
            "type": "boolean"
          },
          "TaxFileNumber": {
            "type": "string",
            "nullable": true
          },
          "IsDeclared": {
            "type": "boolean",
            "nullable": true
          },
          "Declared": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "TaxFileNumberReason": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TFNReason"
              }
            ]
          },
          "ThresholdClaimed": {
            "type": "boolean"
          },
          "AustralianForTax": {
            "type": "boolean"
          },
          "MedicareExemption": {
            "type": "boolean"
          },
          "FCRLExempted": {
            "type": "boolean"
          },
          "HELP": {
            "type": "boolean"
          },
          "SFSS": {
            "type": "boolean"
          },
          "CDEP": {
            "type": "boolean"
          },
          "InvalidRelative": {
            "type": "boolean"
          },
          "DependentParent": {
            "type": "boolean"
          },
          "DependentSpouse": {
            "type": "boolean"
          },
          "SoleParent": {
            "type": "boolean"
          },
          "ZoneA": {
            "type": "boolean"
          },
          "ZoneB": {
            "type": "boolean"
          },
          "PaygVariation": {
            "type": "boolean"
          },
          "WorkingHoliday": {
            "type": "boolean"
          },
          "TaxCountry": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "NewHireSuperChoice": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "$ref": "#/components/schemas/NewHireSuperChoiceType"
          },
          "FulfilmentOfferingId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "ABN": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "Phone": {
            "type": "string",
            "format": "phone",
            "nullable": true
          },
          "BusinessName": {
            "type": "string",
            "nullable": true
          },
          "Website": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "USI": {
            "type": "string",
            "nullable": true
          },
          "AccountName": {
            "type": "string",
            "nullable": true
          },
          "AccountNumber": {
            "type": "string",
            "nullable": true
          },
          "MembershipNumber": {
            "type": "string",
            "nullable": true
          },
          "CertificationLetter": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Document"
              }
            ]
          },
          "ESA": {
            "type": "string",
            "nullable": true
          },
          "BSB": {
            "type": "string",
            "nullable": true
          },
          "IsTrustee": {
            "type": "boolean"
          }
        }
      },
      "NewHireSuperChoiceType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Employer",
          "SelfManaged",
          "Existing"
        ],
        "enum": [
          "Employer",
          "SelfManaged",
          "Existing"
        ]
      },
      "Document": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "MimeType": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Size": {
            "type": "integer",
            "format": "int32"
          },
          "Description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OnboardingWorkflowWizardEnum": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "WelcomeScreen",
          "WhoIsMyTeam",
          "WelcomeMessage",
          "PersonalDetails",
          "EmergencyContact",
          "TFNDetails",
          "SuperChoice",
          "PaymentDetails",
          "FairworkStatement",
          "ReviewHandbook",
          "ThankYou"
        ],
        "enum": [
          "WelcomeScreen",
          "WhoIsMyTeam",
          "WelcomeMessage",
          "PersonalDetails",
          "EmergencyContact",
          "TFNDetails",
          "SuperChoice",
          "PaymentDetails",
          "FairworkStatement",
          "ReviewHandbook",
          "ThankYou"
        ]
      },
      "NewHireUpdateWorkflowCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              }
            }
          }
        ]
      },
      "NewHireUpdateEmergencyContactCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "Phone": {
                "type": "string",
                "nullable": true
              },
              "Mobile": {
                "type": "string",
                "nullable": true
              },
              "Address": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "FamilyName": {
                "type": "string",
                "nullable": true
              },
              "GivenName": {
                "type": "string",
                "nullable": true
              },
              "Relationship": {
                "type": "string",
                "nullable": true
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              }
            }
          }
        ]
      },
      "NewHireUpdateTaxationDetailCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id",
              "AustralianForTax",
              "ThresholdClaimed",
              "HELP",
              "SFSS",
              "MedicareExemption",
              "CDEP",
              "WorkingHoliday",
              "FamilyTaxBenefit",
              "PaygVariation",
              "InvalidRelative",
              "DependentParent",
              "ZoneA",
              "SoleParent",
              "DependentSpouse",
              "ZoneB"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "TaxFileNumber": {
                "type": "string",
                "nullable": true
              },
              "TaxFileNumberReason": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TFNReason"
                  }
                ]
              },
              "AustralianForTax": {
                "type": "boolean"
              },
              "ThresholdClaimed": {
                "type": "boolean"
              },
              "HELP": {
                "type": "boolean"
              },
              "SFSS": {
                "type": "boolean"
              },
              "MedicareExemption": {
                "type": "boolean"
              },
              "CDEP": {
                "type": "boolean"
              },
              "WorkingHoliday": {
                "type": "boolean"
              },
              "FamilyTaxBenefit": {
                "type": "boolean"
              },
              "PaygVariation": {
                "type": "boolean"
              },
              "InvalidRelative": {
                "type": "boolean"
              },
              "DependentParent": {
                "type": "boolean"
              },
              "ZoneA": {
                "type": "boolean"
              },
              "SoleParent": {
                "type": "boolean"
              },
              "DependentSpouse": {
                "type": "boolean"
              },
              "ZoneB": {
                "type": "boolean"
              },
              "FCRLExempted": {
                "type": "boolean"
              },
              "IsDeclared": {
                "type": "boolean",
                "nullable": true
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              },
              "TaxCountry": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              }
            }
          }
        ]
      },
      "NewHireUpdateSuperChoiceCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id",
              "Type"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "Type": {
                "$ref": "#/components/schemas/NewHireSuperChoiceType"
              },
              "FulfilmentOfferingId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "ABN": {
                "type": "string",
                "nullable": true
              },
              "Address": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              },
              "Phone": {
                "type": "string",
                "nullable": true
              },
              "BusinessName": {
                "type": "string",
                "nullable": true
              },
              "Website": {
                "type": "string",
                "nullable": true
              },
              "USI": {
                "type": "string",
                "nullable": true
              },
              "AccountName": {
                "type": "string",
                "nullable": true
              },
              "AccountNumber": {
                "type": "string",
                "nullable": true
              },
              "MembershipNumber": {
                "type": "string",
                "nullable": true
              },
              "CertificationLetter": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Document"
                  }
                ]
              },
              "ESA": {
                "type": "string",
                "nullable": true
              },
              "BSB": {
                "type": "string",
                "nullable": true
              },
              "IsTrustee": {
                "type": "boolean"
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              }
            }
          }
        ]
      },
      "NewHireUpdatePaymentDetailCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "AccountName": {
                "type": "string",
                "nullable": true
              },
              "AccountNumber": {
                "type": "string",
                "nullable": true
              },
              "BSB": {
                "type": "string",
                "nullable": true
              },
              "Reference": {
                "type": "string",
                "nullable": true
              },
              "AccountName2": {
                "type": "string",
                "nullable": true
              },
              "AccountNumber2": {
                "type": "string",
                "nullable": true
              },
              "BSB2": {
                "type": "string",
                "nullable": true
              },
              "Reference2": {
                "type": "string",
                "nullable": true
              },
              "Amount": {
                "type": "number",
                "format": "decimal"
              },
              "WorkflowWizard": {
                "$ref": "#/components/schemas/OnboardingWorkflowWizardEnum"
              }
            }
          }
        ]
      },
      "NewHireInititateActionCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "NewHireResendEmailActionCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "NewHireCancelActionCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "NewHireDeleteCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "HardDelete": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "NewHireFinaliseActionCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      },
      "NewHireImageSaveCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "AuthorityId": {
                "type": "integer",
                "format": "int64"
              },
              "ImageData": {
                "type": "string",
                "format": "byte",
                "nullable": true
              },
              "Filename": {
                "type": "string",
                "nullable": true
              },
              "Size": {
                "type": "integer",
                "format": "int32"
              },
              "Width": {
                "type": "integer",
                "format": "int32"
              },
              "Height": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "TaskUpdateCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Id"
            ],
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "Type": {
                "$ref": "#/components/schemas/TaskType"
              },
              "IsCompliance": {
                "type": "boolean"
              },
              "Assigned": {
                "type": "integer",
                "format": "int64"
              },
              "Attachment": {
                "type": "string",
                "nullable": true
              },
              "Due": {
                "type": "string",
                "format": "date-time"
              },
              "RemindDays": {
                "type": "integer",
                "format": "int32"
              },
              "RemindTime": {
                "type": "string",
                "format": "date-time"
              },
              "CompletedBy": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "Completed": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "TaskType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "GovernmentCompliance",
          "CompanyCompliance",
          "AdHoc"
        ],
        "enum": [
          "GovernmentCompliance",
          "CompanyCompliance",
          "AdHoc"
        ]
      },
      "TaskAttachmentSaveCommand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Command"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int64"
              },
              "Attachment": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}