openapi: 3.0.1 info: title: Core AccessGroup Driver API version: core tags: - name: Driver paths: /directory/drivers/{guid}: get: tags: - Driver summary: Find with GUID description: "| Property | Description |\r\n| -------------------- | --------------------------------------------------------------------- |\r\n| GUID | The GUID associated to the driver. |\r\n| CompanyOutletListItem | The GUID and description of the company outlet. |\r\n| StaffTypeListItem | The GUID and description of the staff type. |\r\n| Username | The username of the driver. |\r\n| Lastname | The last name of the driver. |\r\n| Forename | The forename of the driver. |\r\n| IsDeleted | Whether or not the driver is deleted. |\r\n| UniqueIdentifier | The unique identifier of the driver. |\r\n| LocaleListItem | The GUID and description of the locale. |\r\n| PayrollNo | The payroll number of the driver. |\r\n| Mobile | The mobile number of the driver. |\r\n| Email | The email address of the driver. |\r\n| OwnerDriver | Indicates if the driver is an owner. |\r\n| ForcePasswordChangeAtNextLogin | Indicates if driver needs to change password on next login. |" operationId: Driver_Get parameters: - name: guid in: path required: true schema: type: string format: uuid - name: udf in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiResourceResultEntity[ApiIntegratorDriverResource]' put: tags: - Driver summary: Partial update description: "| Property | Description | Required |\r\n| -------------------- | --------------------------------------------------------------------- | -------- |\r\n| GUID | The GUID associated to the driver. | No |\r\n| CompanyOutletListItem | The GUID and description of the company outlet. | Yes |\r\n| StaffTypeListItem | The GUID and description of the staff type. | Yes |\r\n| Username | The username of the driver. | Yes |\r\n| Lastname | The last name of the driver. | Yes |\r\n| Forename | The forename of the driver. | Yes |\r\n| IsDeleted | Whether or not the driver is deleted. | Yes |\r\n| UniqueIdentifier | The unique identifier of the driver. | No |\r\n| LocaleListItem | The GUID and description of the locale. | No |\r\n| PayrollNo | The payroll number of the driver. | Yes |\r\n| Mobile | The mobile number of the driver. | No |\r\n| Email | The email address of the driver. | Yes |\r\n| OwnerDriver | Indicates if the driver is an owner. | No |\r\n| Password | The password of the driver | No |\r\n| ForcePasswordChangeAtNextLogin | Indicates if driver needs to change password on next login. | No |\r\n\r\n\r\n**Extra validations**\r\n\r\n| Condition | Error message |\r\n| --------- | ------------- |\r\n| If Forename is more than 50 characters long | Forename must be no more than 50 characters long.|\r\n| If Lastname is more than 50 characters long | Lastname must be no more than 50 characters long.|\r\n| If Username is more than 510 characters long | Username must be no more than 510 characters long.|\r\n| If PayrollNo is more than 15 characters long | PayrollNo must be no more than 15 characters long.|\r\n| If Mobile is more than 30 characters long | Mobile must be no more than 30 characters long.|\r\n| If Email is more than 50 characters long | Email must be no more than 50 characters long.|\r\n| If Password is more than 50 characters long | Password must be no more than 50 characters long.|\r\n| If StaffTypeListItem is not Driver | StaffTypeListItem is a read-only property|\r\n" operationId: Driver_Update parameters: - name: guid in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiIntegratorDriverResource' required: true x-bodyName: null responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiResourceId' /directory/drivers: get: tags: - Driver summary: Find with Filters description: "| Property | Description |\r\n| -------------------- | --------------------------------------------------------------------- |\r\n| GUID | The GUID associated to the driver. |\r\n| CompanyOutletListItem | The GUID and description of the company outlet. |\r\n| StaffTypeListItem | The GUID and description of the staff type. |\r\n| Username | The username of the driver. |\r\n| Lastname | The last name of the driver. |\r\n| Forename | The forename of the driver. |\r\n| IsDeleted | Whether or not the driver is deleted. |\r\n| UniqueIdentifier | The unique identifier of the driver. |\r\n| LocaleListItem | The GUID and description of the locale. |\r\n| PayrollNo | The payroll number of the driver. |\r\n| Mobile | The mobile number of the driver. |\r\n| Email | The email address of the driver. |\r\n| OwnerDriver | Indicates if the driver is an owner. |\r\n| ForcePasswordChangeAtNextLogin | Indicates if driver needs to change password on next login. |" operationId: Driver_GetCollection parameters: - name: filter in: query schema: type: string - name: max in: query schema: type: integer format: int32 - name: page in: query schema: type: integer format: int32 - name: includeCount in: query schema: type: boolean - name: udf in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiResourceResultCollection[ApiIntegratorDriverResource]' post: tags: - Driver summary: Create or update description: "| Property | Description | Required |\r\n| -------------------- | --------------------------------------------------------------------- | -------- |\r\n| GUID | The GUID associated to the driver. | No |\r\n| CompanyOutletListItem | The GUID and description of the company outlet. | Yes |\r\n| StaffTypeListItem | The GUID and description of the staff type. | No |\r\n| Username | The username of the driver. | Yes |\r\n| Lastname | The last name of the driver. | Yes |\r\n| Forename | The forename of the driver. | Yes |\r\n| IsDeleted | Whether or not the driver is deleted. | Yes |\r\n| UniqueIdentifier | The unique identifier of the driver. | No |\r\n| LocaleListItem | The GUID and description of the locale. | No |\r\n| PayrollNo | The payroll number of the driver. | Yes |\r\n| Mobile | The mobile number of the driver. | No |\r\n| Email | The email address of the driver. | Yes |\r\n| OwnerDriver | Indicates if the driver is an owner. | No |\r\n| Password | The password of the driver | Yes |\r\n| ForcePasswordChangeAtNextLogin | Indicates if driver needs to change password on next login. | No |\r\n\r\n\r\n**Extra validations**\r\n\r\n| Condition | Error message |\r\n| --------- | ------------- |\r\n| If Forename is more than 50 characters long | Forename must be no more than 50 characters long.|\r\n| If Lastname is more than 50 characters long | Lastname must be no more than 50 characters long.|\r\n| If Username is more than 510 characters long | Username must be no more than 510 characters long.|\r\n| If PayrollNo is more than 15 characters long | PayrollNo must be no more than 15 characters long.|\r\n| If Mobile is more than 30 characters long | Mobile must be no more than 30 characters long.|\r\n| If Email is more than 50 characters long | Email must be no more than 50 characters long.|\r\n| If Password is more than 50 characters long | Password must be no more than 50 characters long.|\r\n| If StaffTypeListItem is supplied | StaffTypeListItem is not supported|\r\n" operationId: Driver_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiIntegratorDriverResource' required: true x-bodyName: null responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiResourceId' components: schemas: ApiIntegratorListItemResource: type: object properties: Description: type: string Guid: type: string format: uuid example: 00000000-0000-0000-0000-000000000000 ApiResourceId: type: object properties: resource: type: string format: uuid errors: $ref: '#/components/schemas/ApiResourceErrors' status: $ref: '#/components/schemas/ApiResourceStatus' ApiResourceResultEntity[ApiIntegratorDriverResource]: type: object properties: resource: $ref: '#/components/schemas/ApiIntegratorDriverResource' links: $ref: '#/components/schemas/ApiResourceResultEntityLinks' extra: $ref: '#/components/schemas/ApiResourceResultEntityExtra' errors: $ref: '#/components/schemas/ApiResourceErrors' status: $ref: '#/components/schemas/ApiResourceStatus' ApiResourceErrors: type: object properties: errors: type: string ApiResourceResultCollection[ApiIntegratorDriverResource]: type: object properties: resource: type: array items: $ref: '#/components/schemas/ApiIntegratorDriverResource' extra: $ref: '#/components/schemas/ApiResourceResultCollectionExtra' errors: $ref: '#/components/schemas/ApiResourceErrors' status: $ref: '#/components/schemas/ApiResourceStatus' ApiResourceResultCollectionExtra: type: object properties: count: type: integer format: int32 ApiResourceResultEntityExtra: type: object properties: expand: type: object additionalProperties: type: object additionalProperties: type: object include: type: object additionalProperties: type: array items: type: object additionalProperties: type: object ApiResourceResultEntityLinks: type: object properties: self: type: string associations: type: array items: type: string expand: type: array items: type: string operations: type: array items: type: string ApiIntegratorDriverResource: type: object properties: Forename: type: string Lastname: type: string IsDeleted: type: boolean UniqueIdentifier: type: string Username: type: string StaffTypeListItem: $ref: '#/components/schemas/ApiIntegratorListItemResource' CompanyOutletListItem: $ref: '#/components/schemas/ApiIntegratorListItemResource' LocaleListItem: $ref: '#/components/schemas/ApiIntegratorListItemResource' PayrollNo: type: string Mobile: type: string Email: type: string OwnerDriver: type: boolean ForcePasswordChangeAtNextLogin: type: boolean Password: type: string GUID: type: string format: uuid example: 00000000-0000-0000-0000-000000000000 ApiResourceStatus: type: object properties: id: type: integer format: int32 isSuccess: type: boolean