openapi: 3.1.0
# https://adlists.teamcollins.net/ppdb/openapi3_1.yaml
info:
  title: PPDB-API - OpenAPI 3.1
  description: |-
    This is the API definitions for the CRM application used at The Pampered Pooch
  termsOfService: http://ppdb-api.io/terms/
  contact:
    email: apiteam@ppdb-api.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
externalDocs:
  description: Find out more about PPDB-API
  url: http://ppdb-api.io
servers:
  - url: https://ppdb-api.io/api/v3
tags:
  - name: ppdb
    description: All about The Pampered Pooch
    externalDocs:
      description: Find out more about PPDB-API
      url: http://ppdb-api.io
  - name: api
    description: Access to ppdb customer records
    externalDocs:
      description: Find out more about our API
      url: http://ppdb-api.io
paths:
  /token:
    post:
      summary: Login For Access Token
      operationId: login_for_access_token_token_post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                grant_type:
                  anyOf:
                    - type: string
                      pattern: password
                    - type: 'null'
                  title: Grant Type
                username:
                  type: string
                  title: Username
                password:
                  type: string
                  title: Password
                scope:
                  type: string
                  title: Scope
                  default: ''
                client_id:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Client Id
                client_secret:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Client Secret
              type: object
              required:
                - username
                - password
              title: Body_login_for_access_token_token_post
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  access_token:
                    type: string
                    title: Access Token
                  token_type:
                    type: string
                    title: Token Type
                type: object
                required:
                  - access_token
                  - token_type
                title: Token
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /customers/:
    post:
      summary: Create Customer
      operationId: create_customer_customers__post
      requestBody:
        content:
          application/json:
            schema:
              properties:
                surname:
                  type: string
                  title: Surname
                firstname:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Firstname
                address:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Address
                suburb:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Suburb
                postcode:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Postcode
                phone1:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone1
                phone2:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone2
                phone3:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone3
                email:
                  type: string
                  title: Email
              type: object
              required:
                - surname
                - email
              title: CustomerCreate
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  surname:
                    type: string
                    title: Surname
                  firstname:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Firstname
                  address:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Address
                  suburb:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Suburb
                  postcode:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Postcode
                  phone1:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone1
                  phone2:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone2
                  phone3:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone3
                  email:
                    type: string
                    title: Email
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - surname
                  - firstname
                  - address
                  - suburb
                  - postcode
                  - phone1
                  - phone2
                  - phone3
                  - email
                  - id
                title: Customer
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /customers/{customer_id}:
    get:
      summary: Read Customer
      operationId: read_customer_customers__customer_id__get
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: integer
            title: Customer Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  surname:
                    type: string
                    title: Surname
                  firstname:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Firstname
                  address:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Address
                  suburb:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Suburb
                  postcode:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Postcode
                  phone1:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone1
                  phone2:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone2
                  phone3:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone3
                  email:
                    type: string
                    title: Email
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - surname
                  - firstname
                  - address
                  - suburb
                  - postcode
                  - phone1
                  - phone2
                  - phone3
                  - email
                  - id
                title: Customer
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    put:
      summary: Update Customer
      operationId: update_customer_customers__customer_id__put
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: integer
            title: Customer Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                surname:
                  type: string
                  title: Surname
                firstname:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Firstname
                address:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Address
                suburb:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Suburb
                postcode:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Postcode
                phone1:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone1
                phone2:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone2
                phone3:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Phone3
                email:
                  type: string
                  title: Email
              type: object
              required:
                - surname
                - email
              title: CustomerCreate
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  surname:
                    type: string
                    title: Surname
                  firstname:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Firstname
                  address:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Address
                  suburb:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Suburb
                  postcode:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Postcode
                  phone1:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone1
                  phone2:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone2
                  phone3:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Phone3
                  email:
                    type: string
                    title: Email
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - surname
                  - firstname
                  - address
                  - suburb
                  - postcode
                  - phone1
                  - phone2
                  - phone3
                  - email
                  - id
                title: Customer
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    delete:
      summary: Delete Customer
      operationId: delete_customer_customers__customer_id__delete
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: integer
            title: Customer Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /animals/:
    post:
      summary: Create Animal
      operationId: create_animal_animals__post
      requestBody:
        content:
          application/json:
            schema:
              properties:
                animalname:
                  type: string
                  title: Animalname
                breedID:
                  type: integer
                  title: Breedid
                customerID:
                  type: integer
                  title: Customerid
                SEX:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Sex
                colour:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Colour
                cost:
                  anyOf:
                    - type: integer
                    - type: 'null'
                  title: Cost
                lastvisit:
                  anyOf:
                    - type: string
                      format: date
                    - type: 'null'
                  title: Lastvisit
                thisvisit:
                  anyOf:
                    - type: string
                      format: date
                    - type: 'null'
                  title: Thisvisit
                comments:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Comments
              type: object
              required:
                - animalname
                - breedID
                - customerID
              title: AnimalCreate
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  animalname:
                    type: string
                    title: Animalname
                  breedID:
                    type: integer
                    title: Breedid
                  customerID:
                    type: integer
                    title: Customerid
                  SEX:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Sex
                  colour:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Colour
                  cost:
                    anyOf:
                      - type: integer
                      - type: 'null'
                    title: Cost
                  lastvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Lastvisit
                  thisvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Thisvisit
                  comments:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Comments
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - animalname
                  - breedID
                  - customerID
                  - SEX
                  - colour
                  - cost
                  - lastvisit
                  - thisvisit
                  - comments
                  - id
                title: Animal
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /animals/{animal_id}:
    get:
      summary: Read Animal
      operationId: read_animal_animals__animal_id__get
      parameters:
        - name: animal_id
          in: path
          required: true
          schema:
            type: integer
            title: Animal Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  animalname:
                    type: string
                    title: Animalname
                  breedID:
                    type: integer
                    title: Breedid
                  customerID:
                    type: integer
                    title: Customerid
                  SEX:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Sex
                  colour:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Colour
                  cost:
                    anyOf:
                      - type: integer
                      - type: 'null'
                    title: Cost
                  lastvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Lastvisit
                  thisvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Thisvisit
                  comments:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Comments
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - animalname
                  - breedID
                  - customerID
                  - SEX
                  - colour
                  - cost
                  - lastvisit
                  - thisvisit
                  - comments
                  - id
                title: Animal
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    put:
      summary: Update Animal
      operationId: update_animal_animals__animal_id__put
      parameters:
        - name: animal_id
          in: path
          required: true
          schema:
            type: integer
            title: Animal Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                animalname:
                  type: string
                  title: Animalname
                breedID:
                  type: integer
                  title: Breedid
                customerID:
                  type: integer
                  title: Customerid
                SEX:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Sex
                colour:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Colour
                cost:
                  anyOf:
                    - type: integer
                    - type: 'null'
                  title: Cost
                lastvisit:
                  anyOf:
                    - type: string
                      format: date
                    - type: 'null'
                  title: Lastvisit
                thisvisit:
                  anyOf:
                    - type: string
                      format: date
                    - type: 'null'
                  title: Thisvisit
                comments:
                  anyOf:
                    - type: string
                    - type: 'null'
                  title: Comments
              type: object
              required:
                - animalname
                - breedID
                - customerID
              title: AnimalCreate
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  animalname:
                    type: string
                    title: Animalname
                  breedID:
                    type: integer
                    title: Breedid
                  customerID:
                    type: integer
                    title: Customerid
                  SEX:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Sex
                  colour:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Colour
                  cost:
                    anyOf:
                      - type: integer
                      - type: 'null'
                    title: Cost
                  lastvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Lastvisit
                  thisvisit:
                    anyOf:
                      - type: string
                        format: date
                      - type: 'null'
                    title: Thisvisit
                  comments:
                    anyOf:
                      - type: string
                      - type: 'null'
                    title: Comments
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - animalname
                  - breedID
                  - customerID
                  - SEX
                  - colour
                  - cost
                  - lastvisit
                  - thisvisit
                  - comments
                  - id
                title: Animal
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    delete:
      summary: Delete Animal
      operationId: delete_animal_animals__animal_id__delete
      parameters:
        - name: animal_id
          in: path
          required: true
          schema:
            type: integer
            title: Animal Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /notes/:
    post:
      summary: Create Notes
      operationId: create_notes_notes__post
      requestBody:
        content:
          application/json:
            schema:
              properties:
                notes:
                  type: string
                  title: Notes
                date:
                  type: 'null'
                  title: Date
                animal_id:
                  type: integer
                  title: Animal Id
              type: object
              required:
                - notes
                - animal_id
              title: NotesCreate
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  notes:
                    type: string
                    title: Notes
                  date:
                    type: 'null'
                    title: Date
                  animal_id:
                    type: integer
                    title: Animal Id
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - notes
                  - date
                  - animal_id
                  - id
                title: Notes
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
  /notes/{notes_id}:
    get:
      summary: Read Notes
      operationId: read_notes_notes__notes_id__get
      parameters:
        - name: notes_id
          in: path
          required: true
          schema:
            type: integer
            title: Notes Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  notes:
                    type: string
                    title: Notes
                  date:
                    type: 'null'
                    title: Date
                  animal_id:
                    type: integer
                    title: Animal Id
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - notes
                  - date
                  - animal_id
                  - id
                title: Notes
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    put:
      summary: Update Notes
      operationId: update_notes_notes__notes_id__put
      parameters:
        - name: notes_id
          in: path
          required: true
          schema:
            type: integer
            title: Notes Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                notes:
                  type: string
                  title: Notes
                date:
                  type: 'null'
                  title: Date
                animal_id:
                  type: integer
                  title: Animal Id
              type: object
              required:
                - notes
                - animal_id
              title: NotesCreate
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  notes:
                    type: string
                    title: Notes
                  date:
                    type: 'null'
                    title: Date
                  animal_id:
                    type: integer
                    title: Animal Id
                  id:
                    type: integer
                    title: Id
                type: object
                required:
                  - notes
                  - date
                  - animal_id
                  - id
                title: Notes
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
    delete:
      summary: Delete Notes
      operationId: delete_notes_notes__notes_id__delete
      parameters:
        - name: notes_id
          in: path
          required: true
          schema:
            type: integer
            title: Notes Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    items:
                      properties:
                        loc:
                          items:
                            anyOf:
                              - type: string
                              - type: integer
                          type: array
                          title: Location
                        msg:
                          type: string
                          title: Message
                        type:
                          type: string
                          title: Error Type
                      type: object
                      required:
                        - loc
                        - msg
                        - type
                      title: ValidationError
                    type: array
                    title: Detail
                type: object
                title: HTTPValidationError
components:
  schemas:
    Animal:
      properties:
        animalname:
          type: string
          title: Animalname
        breedID:
          type: integer
          title: Breedid
        customerID:
          type: integer
          title: Customerid
        SEX:
          anyOf:
            - type: string
            - type: 'null'
          title: Sex
        colour:
          anyOf:
            - type: string
            - type: 'null'
          title: Colour
        cost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cost
        lastvisit:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Lastvisit
        thisvisit:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Thisvisit
        comments:
          anyOf:
            - type: string
            - type: 'null'
          title: Comments
        id:
          type: integer
          title: Id
      type: object
      required:
        - animalname
        - breedID
        - customerID
        - SEX
        - colour
        - cost
        - lastvisit
        - thisvisit
        - comments
        - id
      title: Animal
    AnimalCreate:
      properties:
        animalname:
          type: string
          title: Animalname
        breedID:
          type: integer
          title: Breedid
        customerID:
          type: integer
          title: Customerid
        SEX:
          anyOf:
            - type: string
            - type: 'null'
          title: Sex
        colour:
          anyOf:
            - type: string
            - type: 'null'
          title: Colour
        cost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cost
        lastvisit:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Lastvisit
        thisvisit:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Thisvisit
        comments:
          anyOf:
            - type: string
            - type: 'null'
          title: Comments
      type: object
      required:
        - animalname
        - breedID
        - customerID
      title: AnimalCreate
    Body_login_for_access_token_token_post:
      properties:
        grant_type:
          anyOf:
            - type: string
              pattern: password
            - type: 'null'
          title: Grant Type
        username:
          type: string
          title: Username
        password:
          type: string
          title: Password
        scope:
          type: string
          title: Scope
          default: ''
        client_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Id
        client_secret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
      type: object
      required:
        - username
        - password
      title: Body_login_for_access_token_token_post
    Customer:
      properties:
        surname:
          type: string
          title: Surname
        firstname:
          anyOf:
            - type: string
            - type: 'null'
          title: Firstname
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        suburb:
          anyOf:
            - type: string
            - type: 'null'
          title: Suburb
        postcode:
          anyOf:
            - type: string
            - type: 'null'
          title: Postcode
        phone1:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone1
        phone2:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone2
        phone3:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone3
        email:
          type: string
          title: Email
        id:
          type: integer
          title: Id
      type: object
      required:
        - surname
        - firstname
        - address
        - suburb
        - postcode
        - phone1
        - phone2
        - phone3
        - email
        - id
      title: Customer
    CustomerCreate:
      properties:
        surname:
          type: string
          title: Surname
        firstname:
          anyOf:
            - type: string
            - type: 'null'
          title: Firstname
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        suburb:
          anyOf:
            - type: string
            - type: 'null'
          title: Suburb
        postcode:
          anyOf:
            - type: string
            - type: 'null'
          title: Postcode
        phone1:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone1
        phone2:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone2
        phone3:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone3
        email:
          type: string
          title: Email
      type: object
      required:
        - surname
        - email
      title: CustomerCreate
    HTTPValidationError:
      properties:
        detail:
          items:
            properties:
              loc:
                items:
                  anyOf:
                    - type: string
                    - type: integer
                type: array
                title: Location
              msg:
                type: string
                title: Message
              type:
                type: string
                title: Error Type
            type: object
            required:
              - loc
              - msg
              - type
            title: ValidationError
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Notes:
      properties:
        notes:
          type: string
          title: Notes
        date:
          type: 'null'
          title: Date
        animal_id:
          type: integer
          title: Animal Id
        id:
          type: integer
          title: Id
      type: object
      required:
        - notes
        - date
        - animal_id
        - id
      title: Notes
    NotesCreate:
      properties:
        notes:
          type: string
          title: Notes
        date:
          type: 'null'
          title: Date
        animal_id:
          type: integer
          title: Animal Id
      type: object
      required:
        - notes
        - animal_id
      title: NotesCreate
    Token:
      properties:
        access_token:
          type: string
          title: Access Token
        token_type:
          type: string
          title: Token Type
      type: object
      required:
        - access_token
        - token_type
      title: Token
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
