openapi: 3.0.0
servers:
  - url: https://apps.nrs.gov.bc.ca/gwells/api/v1/
info:
  contact:
    email: groundwater@gov.bc.ca
  description: The groundwater wells, aquifers and registry API contains information related to groundwater wells and aquifers as well as a register of qualified well drillers and well pump installers registered to operate in B.C.
  license:
    name: Open Government License - British Columbia
    url: https://www2.gov.bc.ca/gov/content?id=A519A56BC2BF44E4A008B33FCF527F61
  termsOfService: http://www2.gov.bc.ca/gov/content?id=D1EE0A405E584363B205CD4353E02C88
  title: Groundwater Wells, Aquifers and Registry API
  version: v1
  x-apisguru-categories:
    - open_data
  x-logo:
    url: https://avatars1.githubusercontent.com/u/916280?v=3&s=200
  x-origin:
    - converter:
        url: https://github.com/mermade/oas-kit
        version: 7.0.4
      format: openapi
      url: https://raw.githubusercontent.com/bcgov/api-specs/master/gwells/gwells.json
      version: "3.0"
  x-providerName: gov.bc.ca
  x-serviceName: gwells
security:
  - Bearer: []
paths:
  /api-token-auth/:
    parameters: []
  /aquifer-codes/demand/:
    get:
      description: return a list of aquifer demand codes
      operationId: aquifer-codes_demand_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/AquiferDemand"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/materials/:
    get:
      description: return a list of aquifer material codes
      operationId: aquifer-codes_materials_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/AquiferMaterial"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/productivity/:
    get:
      description: return a list of aquifer productivity codes
      operationId: aquifer-codes_productivity_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/AquiferProductivity"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/quality-concerns/:
    get:
      description: return a list of quality concern codes
      operationId: aquifer-codes_quality-concerns_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/QualityConcern"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/subtypes/:
    get:
      description: return a list of aquifer subtype codes
      operationId: aquifer-codes_subtypes_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/AquiferSubtype"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/vulnerability/:
    get:
      description: return a list of aquifer vulnerability codes
      operationId: aquifer-codes_vulnerability_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/AquiferVulnerability"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifer-codes/water-use/:
    get:
      description: return a list of water use codes
      operationId: aquifer-codes_water-use_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/WaterUse"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifer-codes
    parameters: []
  /aquifers/:
    get:
      description: return a list of aquifers
      operationId: aquifers_list
      parameters:
        - description: ""
          in: query
          name: aquifer_id
          required: false
          schema:
            type: number
        - description: Which field to use when ordering the results.
          in: query
          name: ordering
          required: false
          schema:
            type: string
        - description: A search term.
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Aquifer"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - aquifers
    parameters: []
  /aquifers/names/:
    get:
      description: List all aquifers in a simplified format
      operationId: aquifers_names_list
      parameters:
        - description: A search term.
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/AquiferSerializerBasic"
                type: array
          description: ""
      tags:
        - aquifers
    parameters: []
  "/aquifers/{aquifer_id}/":
    get:
      description: return details of aquifers
      operationId: aquifers_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Aquifer"
          description: ""
      tags:
        - aquifers
    parameters:
      - description: A unique integer value identifying this aquifer.
        in: path
        name: aquifer_id
        required: true
        schema:
          type: integer
  "/aquifers/{aquifer_id}/files":
    get:
      description: list files found for the aquifer identified in the uri
      operationId: aquifers_files_list
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  private:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                  public:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                type: object
          description: OK
      tags:
        - aquifers
    parameters:
      - in: path
        name: aquifer_id
        required: true
        schema:
          type: string
  /cities/drillers/:
    get:
      description: returns a list of cities with a qualified, registered operator (driller or installer)
      operationId: cities_drillers_list
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/CityList"
                type: array
          description: ""
      tags:
        - cities
    parameters: []
  /cities/installers/:
    get:
      description: returns a list of cities with a qualified, registered operator (driller or installer)
      operationId: cities_installers_list
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/CityList"
                type: array
          description: ""
      tags:
        - cities
    parameters: []
  /config:
    get:
      description: serves general configuration
      operationId: config_list
      responses:
        "200":
          description: ""
      tags:
        - config
    parameters: []
  /drillers/:
    get:
      description: Returns a list of all person records
      operationId: drillers_list
      parameters:
        - description: A search term.
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: Which field to use when ordering the results.
          in: query
          name: ordering
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PersonList"
                type: array
          description: ""
      tags:
        - drillers
    parameters: []
  /drillers/names/:
    get:
      description: Search for a person in the Register
      operationId: drillers_names_list
      parameters:
        - description: A search term.
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PersonName"
                type: array
          description: ""
      tags:
        - drillers
    parameters: []
  /drillers/options/:
    parameters: []
  "/drillers/{person_guid}/files/":
    get:
      description: list files found for the aquifer identified in the uri
      operationId: drillers_files_list
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  private:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                  public:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                type: object
          description: OK
      tags:
        - drillers
    parameters:
      - in: path
        name: person_guid
        required: true
        schema:
          type: string
  /keycloak:
    get:
      description: serves keycloak config
      operationId: keycloak_list
      responses:
        "200":
          description: ""
      tags:
        - keycloak
    parameters: []
  /submissions/options/:
    get:
      description: Options required for submitting activity report forms
      operationId: submissions_options_list
      responses:
        "200":
          description: ""
      tags:
        - submissions
    parameters: []
  /surveys/:
    get:
      description: returns a list of active surveys
      operationId: surveys_list
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/Survey"
                type: array
          description: ""
      tags:
        - surveys
    parameters: []
  /wells/:
    get:
      description: returns a list of wells
      operationId: wells_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    type: string
                  previous:
                    format: uri
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/WellList"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - wells
    parameters: []
  /wells/extracts:
    parameters: []
  /wells/tags/:
    get:
      description: seach for wells by tag or owner
      operationId: wells_tags_list
      parameters:
        - description: A search term.
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: Which field to use when ordering the results.
          in: query
          name: ordering
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/WellTagSearch"
                type: array
          description: ""
      tags:
        - wells
    parameters: []
  "/wells/{tag}/files":
    get:
      description: list files found for the well identified in the uri
      operationId: wells_files_list
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  private:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                  public:
                    items:
                      properties:
                        name:
                          type: string
                        url:
                          type: string
                      type: object
                    type: array
                type: object
          description: OK
      tags:
        - wells
    parameters:
      - in: path
        name: tag
        required: true
        schema:
          type: string
  "/wells/{well_tag_number}":
    get:
      description: |-
        Return well detail.
        This view is open to all, and has no permissions.
      operationId: wells_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WellDetail"
          description: ""
      tags:
        - wells
    parameters:
      - description: A unique integer value identifying this well.
        in: path
        name: well_tag_number
        required: true
        schema:
          type: integer
components:
  schemas:
    ApplicationList:
      properties:
        cert_authority:
          readOnly: true
          title: Cert authority
          type: string
        certificate:
          readOnly: true
          title: Certificate
          type: string
        current_status:
          $ref: "#/components/schemas/ApplicationStatusCode"
        display_status:
          readOnly: true
          title: Display status
          type: string
        qualifications:
          items:
            $ref: "#/components/schemas/Qualification"
          readOnly: true
          type: array
        removal_date:
          format: date
          title: Removal date
          type: string
        subactivity:
          $ref: "#/components/schemas/Subactivity"
      required:
        - subactivity
      type: object
    ApplicationStatusCode:
      properties:
        code:
          readOnly: true
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - description
      title: Current status
      type: object
    Aquifer:
      properties:
        aquifer_id:
          readOnly: true
          title: Aquifer ID Number
          type: integer
        aquifer_name:
          maxLength: 100
          title: Aquifer name
          type: string
        area:
          format: decimal
          title: Size (square km)
          type: string
        demand:
          title: Demand Reference
          type: string
        demand_description:
          readOnly: true
          title: Demand description
          type: string
        known_water_use:
          title: Known Water Use Reference
          type: string
        known_water_use_description:
          readOnly: true
          title: Known water use description
          type: string
        litho_stratographic_unit:
          maxLength: 100
          title: Lithographic Stratographic Unit
          type: string
        location_description:
          maxLength: 100
          title: Description of Location
          type: string
        mapping_year:
          description: "Use the following format: "
          maximum: 2019
          minimum: 1990
          title: Date of Mapping
          type: integer
        material:
          title: Material Reference
          type: string
        material_description:
          readOnly: true
          title: Material description
          type: string
        notes:
          maxLength: 2000
          title: Notes on Aquifer, for internal use only.
          type: string
        productivity:
          title: Productivity Reference
          type: string
        productivity_description:
          readOnly: true
          title: Productivity description
          type: string
        quality_concern:
          title: Quality Concern Reference
          type: string
        quality_concern_description:
          readOnly: true
          title: Quality concern description
          type: string
        subtype:
          title: Subtype Reference
          type: string
        subtype_description:
          readOnly: true
          title: Subtype description
          type: string
        vulnerability:
          title: Aquifer Vulnerabiliy
          type: string
        vulnerability_description:
          readOnly: true
          title: Vulnerability description
          type: string
      type: object
    AquiferDemand:
      properties:
        code:
          maxLength: 1
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    AquiferMaterial:
      properties:
        code:
          maxLength: 10
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    AquiferProductivity:
      properties:
        code:
          maxLength: 1
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    AquiferSerializerBasic:
      properties:
        aquifer_id:
          readOnly: true
          title: Aquifer ID Number
          type: integer
        description:
          readOnly: true
          title: Description
          type: string
      type: object
    AquiferSubtype:
      properties:
        code:
          maxLength: 3
          title: Code
          type: string
        description:
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    AquiferVulnerability:
      properties:
        code:
          maxLength: 1
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    Casing:
      properties:
        casing_code:
          title: Casing Type Code
          type: string
        casing_material:
          title: Casing Material Code
          type: string
        diameter:
          format: decimal
          title: Diameter
          type: string
        drive_shoe:
          enum:
            - false
            - true
          title: Drive Shoe
          type: boolean
        end:
          format: decimal
          title: To
          type: string
        start:
          format: decimal
          title: From
          type: string
        wall_thickness:
          format: decimal
          title: Wall Thickness
          type: string
      required:
        - start
        - end
        - diameter
      type: object
    CityList:
      properties:
        organization:
          $ref: "#/components/schemas/Organization"
      required:
        - organization
      type: object
    DecommissionDescription:
      properties:
        end:
          format: decimal
          title: Decommissioned To
          type: string
        material:
          title: Material
          type: string
        observations:
          maxLength: 255
          title: Observations
          type: string
        start:
          format: decimal
          title: Decommissioned From
          type: string
      required:
        - start
        - end
        - material
      type: object
    LinerPerforation:
      properties:
        end:
          format: decimal
          title: Perforated To
          type: string
        start:
          format: decimal
          title: Perforated From
          type: string
      required:
        - start
        - end
      type: object
    LithologyDescription:
      properties:
        lithology_colour:
          title: Colour
          type: string
        lithology_from:
          format: decimal
          title: From
          type: string
        lithology_hardness:
          title: Hardness
          type: string
        lithology_moisture:
          title: Moisture
          type: string
        lithology_raw_data:
          maxLength: 250
          title: Raw Data
          type: string
        lithology_to:
          format: decimal
          title: To
          type: string
        water_bearing_estimated_flow:
          format: decimal
          title: Water Bearing Estimated Flow
          type: string
      type: object
    Organization:
      properties:
        city:
          maxLength: 50
          title: Town/City
          type: string
        email:
          format: email
          maxLength: 254
          title: Email adddress
          type: string
        fax_tel:
          maxLength: 15
          title: Fax number
          type: string
        main_tel:
          maxLength: 15
          title: Telephone number
          type: string
        name:
          maxLength: 200
          title: Name
          type: string
        org_guid:
          format: uuid
          readOnly: true
          title: Organization UUID
          type: string
        org_verbose_name:
          readOnly: true
          title: Org verbose name
          type: string
        postal_code:
          maxLength: 10
          title: Postal Code
          type: string
        province_state:
          title: Province/State
          type: string
        street_address:
          maxLength: 100
          title: Street Address
          type: string
        website_url:
          format: uri
          maxLength: 200
          title: Website
          type: string
      required:
        - name
        - province_state
      title: Organization
      type: object
    OrganizationList:
      properties:
        city:
          maxLength: 50
          title: Town/City
          type: string
        email:
          format: email
          maxLength: 254
          title: Email adddress
          type: string
        fax_tel:
          maxLength: 15
          title: Fax number
          type: string
        main_tel:
          maxLength: 15
          title: Telephone number
          type: string
        name:
          maxLength: 200
          title: Name
          type: string
        org_guid:
          format: uuid
          readOnly: true
          title: Organization UUID
          type: string
        org_verbose_name:
          readOnly: true
          title: Org verbose name
          type: string
        postal_code:
          maxLength: 10
          title: Postal Code
          type: string
        province_state:
          title: Province/State
          type: string
        street_address:
          maxLength: 100
          title: Street Address
          type: string
        website_url:
          format: uri
          maxLength: 200
          title: Website
          type: string
      required:
        - name
        - province_state
      title: Organization
      type: object
    OrganizationNameList:
      properties:
        name:
          maxLength: 200
          title: Name
          type: string
        org_guid:
          format: uuid
          readOnly: true
          title: Organization UUID
          type: string
        org_verbose_name:
          readOnly: true
          title: Org verbose name
          type: string
      required:
        - name
      title: Company of person responsible
      type: object
    PersonBasic:
      properties:
        name:
          readOnly: true
          title: Name
          type: string
        person_guid:
          format: uuid
          readOnly: true
          title: Person UUID
          type: string
      title: Person responsible
      type: object
    PersonList:
      properties:
        contact_cell:
          maxLength: 15
          title: Contact cell number
          type: string
        contact_email:
          format: email
          maxLength: 254
          title: Email address
          type: string
        contact_tel:
          maxLength: 15
          title: Contact telephone number
          type: string
        first_name:
          maxLength: 100
          title: First name
          type: string
        person_guid:
          format: uuid
          readOnly: true
          title: Person UUID
          type: string
        registrations:
          items:
            $ref: "#/components/schemas/RegistrationsList"
          readOnly: true
          type: array
        surname:
          maxLength: 100
          title: Surname
          type: string
      required:
        - first_name
        - surname
      type: object
    PersonName:
      properties:
        name:
          readOnly: true
          title: Name
          type: string
        person_guid:
          format: uuid
          readOnly: true
          title: Person UUID
          type: string
        registrations:
          items:
            $ref: "#/components/schemas/RegistrationsNumber"
          readOnly: true
          type: array
      type: object
    Qualification:
      properties:
        description:
          readOnly: true
          title: Description
          type: string
        well_class:
          title: Well class
          type: string
      required:
        - well_class
      type: object
    QualityConcern:
      properties:
        code:
          maxLength: 2
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    RegistrationsList:
      properties:
        activity:
          readOnly: true
          title: Activity
          type: string
        activity_description:
          readOnly: true
          title: Activity description
          type: string
        applications:
          items:
            $ref: "#/components/schemas/ApplicationList"
          readOnly: true
          type: array
        organization:
          $ref: "#/components/schemas/OrganizationList"
        registration_no:
          maxLength: 15
          title: Registration no
          type: string
      required:
        - organization
      type: object
    RegistrationsNumber:
      properties:
        registration_no:
          maxLength: 15
          title: Registration no
          type: string
        registries_activity:
          title: Registries activity
          type: string
      required:
        - registries_activity
      type: object
    Screen:
      properties:
        assembly_type:
          title: Assembly type
          type: string
        end:
          format: decimal
          title: To
          type: string
        internal_diameter:
          format: decimal
          title: Diameter
          type: string
        slot_size:
          format: decimal
          title: Slot Size
          type: string
        start:
          format: decimal
          title: From
          type: string
      required:
        - start
        - end
        - assembly_type
      type: object
    Subactivity:
      properties:
        description:
          maxLength: 100
          title: Description
          type: string
        qualification_set:
          items:
            $ref: "#/components/schemas/Qualification"
          readOnly: true
          type: array
        registries_subactivity_code:
          readOnly: true
          title: Registries subactivity code
          type: string
      required:
        - description
      title: Subactivity
      type: object
    Survey:
      properties:
        survey_guid:
          format: uuid
          readOnly: true
          title: Survey guid
          type: string
        survey_introduction_text:
          maxLength: 250
          title: Introduction Text
          type: string
        survey_link:
          maxLength: 100
          title: Link
          type: string
        survey_page:
          enum:
            - w
            - r
            - s
            - a
          title: Page
          type: string
      type: object
    WaterUse:
      properties:
        code:
          maxLength: 2
          title: Code
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
      required:
        - code
        - description
      type: object
    WellDetail:
      properties:
        alteration_end_date:
          format: date
          title: Alteration Date
          type: string
        alternative_specs_submitted:
          enum:
            - false
            - true
          title: Alternative specs submitted (if required)
          type: boolean
        analytic_solution_type:
          format: decimal
          title: Analytic Solution Type
          type: string
        aquifer:
          title: Aquifer ID Number
          type: integer
        aquifer_vulnerability_index:
          format: decimal
          title: AVI
          type: string
        artesian_flow:
          format: decimal
          title: Artesian Flow
          type: string
        artesian_pressure:
          format: decimal
          title: Artesian Pressure
          type: string
        backfill_depth:
          format: decimal
          title: Backfill Depth
          type: string
        backfill_material:
          maxLength: 100
          title: Backfill Material
          type: string
        backfill_type:
          maxLength: 250
          title: Backfill Material Above Surface Seal
          type: string
        bcgs_id:
          title: BCGS Mapsheet Number
          type: integer
        bedrock_depth:
          format: decimal
          title: Depth to Bedrock
          type: string
        boundary_effect:
          format: decimal
          title: Boundary Effect
          type: string
        casing_set:
          items:
            $ref: "#/components/schemas/Casing"
          type: array
        city:
          maxLength: 50
          title: Town/City
          type: string
        comments:
          maxLength: 3000
          title: Comments
          type: string
        company_of_person_responsible:
          $ref: "#/components/schemas/OrganizationNameList"
        construction_end_date:
          format: date
          title: Construction Date
          type: string
        construction_start_date:
          format: date
          title: Construction Start Date
          type: string
        coordinate_acquisition_code:
          title: Location Accuracy Code
          type: string
        decommission_description_set:
          items:
            $ref: "#/components/schemas/DecommissionDescription"
          type: array
        decommission_details:
          maxLength: 250
          title: Decommission Details
          type: string
        decommission_end_date:
          format: date
          title: Decommission Date
          type: string
        decommission_method:
          title: Method of Decommission
          type: string
        decommission_reason:
          maxLength: 250
          title: Reason for Decommission
          type: string
        decommission_start_date:
          format: date
          title: Decommission Start Date
          type: string
        development_hours:
          format: decimal
          title: Development Total Duration
          type: string
        development_method:
          title: Developed By
          type: string
        development_notes:
          maxLength: 255
          title: Development Notes
          type: string
        diameter:
          maxLength: 9
          title: Diameter
          type: string
        drawdown:
          format: decimal
          title: Drawdown
          type: string
        drilling_company:
          format: uuid
          title: Drilling Company
          type: string
        drilling_method:
          title: Drilling Method
          type: string
        ems:
          maxLength: 10
          title: Environmental Monitoring System (EMS) ID
          type: string
        filter_pack_from:
          format: decimal
          title: Filter Pack From
          type: string
        filter_pack_material:
          title: Filter Pack Material
          type: string
        filter_pack_material_size:
          title: Filter Pack Material Size
          type: string
        filter_pack_thickness:
          format: decimal
          title: Filter Pack Thickness
          type: string
        filter_pack_to:
          format: decimal
          title: Filter Pack To
          type: string
        final_casing_stick_up:
          format: decimal
          title: Final Casing Stick Up
          type: string
        finished_well_depth:
          format: decimal
          title: Finished Well Depth
          type: string
        ground_elevation:
          format: decimal
          title: Ground Elevation
          type: string
        ground_elevation_method:
          title: Elevation Determined By
          type: string
        hydraulic_conductivity:
          maxLength: 100
          title: Hydraulic Conductivity
          type: string
        hydro_fracturing_performed:
          enum:
            - false
            - true
          title: Hydro-fracturing Performed?
          type: boolean
        hydro_fracturing_yield_increase:
          format: decimal
          title: Well Yield Increase Due to Hydro-fracturing
          type: string
        id_plate_attached_by:
          maxLength: 100
          title: Well identification plate attached by
          type: string
        identification_plate_number:
          maximum: 2147483647
          minimum: 0
          title: Well Identification Plate Number
          type: integer
        intended_water_use:
          title: Intended Water Use
          type: string
        land_district:
          title: Land District
          type: string
        latitude:
          format: decimal
          title: Latitude
          type: string
        legal_block:
          maxLength: 10
          title: Block
          type: string
        legal_district_lot:
          maxLength: 20
          title: District Lot
          type: string
        legal_lot:
          maxLength: 10
          title: Lot
          type: string
        legal_pid:
          maximum: 2147483647
          minimum: 0
          title: Property Identification Description (PID)
          type: integer
        legal_plan:
          maxLength: 20
          title: Plan
          type: string
        legal_range:
          maxLength: 10
          title: Range
          type: string
        legal_section:
          maxLength: 10
          title: Section
          type: string
        legal_township:
          maxLength: 20
          title: Township
          type: string
        licenced_status:
          title: Licenced Status
          type: string
        liner_diameter:
          format: decimal
          title: Liner Diameter
          type: string
        liner_from:
          format: decimal
          title: Liner From
          type: string
        liner_material:
          title: Liner Material
          type: string
        liner_thickness:
          format: decimal
          title: Liner Thickness
          type: string
        liner_to:
          format: decimal
          title: Liner To
          type: string
        linerperforation_set:
          items:
            $ref: "#/components/schemas/LinerPerforation"
          type: array
        lithologydescription_set:
          items:
            $ref: "#/components/schemas/LithologyDescription"
          type: array
        longitude:
          format: decimal
          title: Longitude
          type: string
        observation_well_number:
          maxLength: 30
          title: Observation Well Number
          type: string
        observation_well_status:
          title: Observation Well Status
          type: string
        other_drilling_method:
          maxLength: 50
          title: Specify Other Drilling Method
          type: string
        other_screen_bottom:
          maxLength: 50
          title: Specify Other Screen Bottom
          type: string
        other_screen_material:
          maxLength: 50
          title: Specify Other Screen Material
          type: string
        owner_full_name:
          maxLength: 200
          title: Owner Name
          type: string
        person_responsible:
          $ref: "#/components/schemas/PersonBasic"
        recommended_pump_depth:
          format: decimal
          title: Recommended pump depth
          type: string
        recommended_pump_rate:
          format: decimal
          title: Recommended pump rate
          type: string
        screen_bottom:
          title: Bottom
          type: string
        screen_information:
          maxLength: 300
          title: Screen Information
          type: string
        screen_intake_method:
          title: Intake Method
          type: string
        screen_material:
          title: Material
          type: string
        screen_opening:
          title: Opening
          type: string
        screen_set:
          items:
            $ref: "#/components/schemas/Screen"
          type: array
        screen_type:
          title: Type
          type: string
        sealant_material:
          maxLength: 100
          title: Sealant Material
          type: string
        specific_storage:
          maxLength: 100
          title: Specific Storage
          type: string
        specific_yield:
          format: decimal
          title: Specific Yield
          type: string
        static_level_before_test:
          format: decimal
          title: SWL Before Test
          type: string
        static_water_level:
          format: decimal
          title: Static Water Level (BTOC)
          type: string
        storativity:
          format: decimal
          title: Storativity
          type: string
        street_address:
          maxLength: 100
          title: Street Address
          type: string
        surface_seal_depth:
          format: decimal
          title: Surface Seal Depth
          type: string
        surface_seal_length:
          format: decimal
          title: Surface Seal Length
          type: string
        surface_seal_material:
          title: Surface Seal Material
          type: string
        surface_seal_method:
          title: Surface Seal Installation Method
          type: string
        surface_seal_thickness:
          format: decimal
          title: Surface Seal Thickness
          type: string
        testing_duration:
          maximum: 2147483647
          minimum: 0
          title: Testing duration
          type: integer
        testing_method:
          maxLength: 100
          title: Testing Method
          type: string
        total_depth_drilled:
          format: decimal
          title: Total Depth Drilled
          type: string
        transmissivity:
          format: decimal
          title: Transmissivity
          type: string
        utm_easting:
          maximum: 2147483647
          minimum: -2147483648
          title: UTM Easting
          type: integer
        utm_northing:
          maximum: 2147483647
          minimum: -2147483648
          title: UTM Northing
          type: integer
        utm_zone_code:
          maxLength: 10
          title: Zone
          type: string
        water_quality_characteristics:
          items:
            title: Obvious Water Quality Characteristics
            type: string
          type: array
          uniqueItems: true
        water_quality_colour:
          maxLength: 60
          title: Water Quality Colour
          type: string
        water_quality_odour:
          maxLength: 60
          title: Water Quality Odour
          type: string
        water_supply_system_name:
          maxLength: 80
          title: Water Supply System Name
          type: string
        water_supply_system_well_name:
          maxLength: 80
          title: Water Supply System Well Name
          type: string
        well:
          title: Well
          type: integer
        well_cap_type:
          maxLength: 40
          title: Well Cap
          type: string
        well_class:
          title: Well Class
          type: string
        well_disinfected:
          enum:
            - false
            - true
          title: Well Disinfected
          type: boolean
        well_guid:
          format: uuid
          readOnly: true
          title: Well guid
          type: string
        well_identification_plate_attached:
          maxLength: 500
          title: Well Identification Plate Is Attached
          type: string
        well_location_description:
          maxLength: 500
          title: Description of Well Location
          type: string
        well_orientation:
          enum:
            - true
            - false
          title: Orientation of Well
          type: boolean
        well_status:
          title: Well Status
          type: string
        well_subclass:
          format: uuid
          title: Well Subclass
          type: string
        well_tag_number:
          readOnly: true
          title: Well Tag Number
          type: integer
        well_yield:
          format: decimal
          title: Estimated Well Yield
          type: string
        well_yield_unit:
          title: Well yield unit
          type: string
        yield_estimation_duration:
          format: decimal
          title: Estimation Duration
          type: string
        yield_estimation_method:
          title: Estimation Method
          type: string
        yield_estimation_rate:
          format: decimal
          title: Estimation Rate
          type: string
      required:
        - well
        - owner_full_name
        - person_responsible
        - company_of_person_responsible
        - casing_set
        - screen_set
        - linerperforation_set
        - decommission_description_set
        - lithologydescription_set
      type: object
    WellList:
      properties:
        alteration_end_date:
          format: date
          title: Alteration Date
          type: string
        alternative_specs_submitted:
          enum:
            - false
            - true
          title: Alternative specs submitted (if required)
          type: boolean
        analytic_solution_type:
          format: decimal
          title: Analytic Solution Type
          type: string
        aquifer:
          title: Aquifer ID Number
          type: integer
        aquifer_vulnerability_index:
          format: decimal
          title: AVI
          type: string
        artesian_flow:
          format: decimal
          title: Artesian Flow
          type: string
        artesian_pressure:
          format: decimal
          title: Artesian Pressure
          type: string
        backfill_depth:
          format: decimal
          title: Backfill Depth
          type: string
        backfill_material:
          maxLength: 100
          title: Backfill Material
          type: string
        backfill_type:
          maxLength: 250
          title: Backfill Material Above Surface Seal
          type: string
        bcgs_id:
          title: BCGS Mapsheet Number
          type: integer
        bedrock_depth:
          format: decimal
          title: Depth to Bedrock
          type: string
        boundary_effect:
          format: decimal
          title: Boundary Effect
          type: string
        city:
          maxLength: 50
          title: Town/City
          type: string
        comments:
          maxLength: 3000
          title: Comments
          type: string
        construction_end_date:
          format: date
          title: Construction Date
          type: string
        construction_start_date:
          format: date
          title: Construction Start Date
          type: string
        coordinate_acquisition_code:
          title: Location Accuracy Code
          type: string
        decommission_details:
          maxLength: 250
          title: Decommission Details
          type: string
        decommission_end_date:
          format: date
          title: Decommission Date
          type: string
        decommission_method:
          title: Method of Decommission
          type: string
        decommission_reason:
          maxLength: 250
          title: Reason for Decommission
          type: string
        decommission_start_date:
          format: date
          title: Decommission Start Date
          type: string
        development_hours:
          format: decimal
          title: Development Total Duration
          type: string
        development_method:
          title: Developed By
          type: string
        development_notes:
          maxLength: 255
          title: Development Notes
          type: string
        diameter:
          maxLength: 9
          title: Diameter
          type: string
        drawdown:
          format: decimal
          title: Drawdown
          type: string
        drilling_company:
          format: uuid
          title: Drilling Company
          type: string
        drilling_method:
          title: Drilling Method
          type: string
        ems:
          maxLength: 10
          title: Environmental Monitoring System (EMS) ID
          type: string
        filter_pack_from:
          format: decimal
          title: Filter Pack From
          type: string
        filter_pack_material:
          title: Filter Pack Material
          type: string
        filter_pack_material_size:
          title: Filter Pack Material Size
          type: string
        filter_pack_thickness:
          format: decimal
          title: Filter Pack Thickness
          type: string
        filter_pack_to:
          format: decimal
          title: Filter Pack To
          type: string
        final_casing_stick_up:
          format: decimal
          title: Final Casing Stick Up
          type: string
        finished_well_depth:
          format: decimal
          title: Finished Well Depth
          type: string
        ground_elevation:
          format: decimal
          title: Ground Elevation
          type: string
        ground_elevation_method:
          title: Elevation Determined By
          type: string
        hydraulic_conductivity:
          maxLength: 100
          title: Hydraulic Conductivity
          type: string
        hydro_fracturing_performed:
          enum:
            - false
            - true
          title: Hydro-fracturing Performed?
          type: boolean
        hydro_fracturing_yield_increase:
          format: decimal
          title: Well Yield Increase Due to Hydro-fracturing
          type: string
        id_plate_attached_by:
          maxLength: 100
          title: Well identification plate attached by
          type: string
        identification_plate_number:
          maximum: 2147483647
          minimum: 0
          title: Well Identification Plate Number
          type: integer
        intended_water_use:
          title: Intended Water Use
          type: string
        land_district:
          title: Land District
          type: string
        latitude:
          format: decimal
          title: Latitude
          type: string
        legal_block:
          maxLength: 10
          title: Block
          type: string
        legal_district_lot:
          maxLength: 20
          title: District Lot
          type: string
        legal_lot:
          maxLength: 10
          title: Lot
          type: string
        legal_pid:
          maximum: 2147483647
          minimum: 0
          title: Property Identification Description (PID)
          type: integer
        legal_plan:
          maxLength: 20
          title: Plan
          type: string
        legal_range:
          maxLength: 10
          title: Range
          type: string
        legal_section:
          maxLength: 10
          title: Section
          type: string
        legal_township:
          maxLength: 20
          title: Township
          type: string
        licenced_status:
          title: Licenced Status
          type: string
        liner_diameter:
          format: decimal
          title: Liner Diameter
          type: string
        liner_from:
          format: decimal
          title: Liner From
          type: string
        liner_material:
          title: Liner Material
          type: string
        liner_thickness:
          format: decimal
          title: Liner Thickness
          type: string
        liner_to:
          format: decimal
          title: Liner To
          type: string
        longitude:
          format: decimal
          title: Longitude
          type: string
        observation_well_number:
          maxLength: 30
          title: Observation Well Number
          type: string
        observation_well_status:
          title: Observation Well Status
          type: string
        other_drilling_method:
          maxLength: 50
          title: Specify Other Drilling Method
          type: string
        other_screen_bottom:
          maxLength: 50
          title: Specify Other Screen Bottom
          type: string
        other_screen_material:
          maxLength: 50
          title: Specify Other Screen Material
          type: string
        owner_full_name:
          maxLength: 200
          title: Owner Name
          type: string
        recommended_pump_depth:
          format: decimal
          title: Recommended pump depth
          type: string
        recommended_pump_rate:
          format: decimal
          title: Recommended pump rate
          type: string
        screen_bottom:
          title: Bottom
          type: string
        screen_information:
          maxLength: 300
          title: Screen Information
          type: string
        screen_intake_method:
          title: Intake Method
          type: string
        screen_material:
          title: Material
          type: string
        screen_opening:
          title: Opening
          type: string
        screen_type:
          title: Type
          type: string
        sealant_material:
          maxLength: 100
          title: Sealant Material
          type: string
        specific_storage:
          maxLength: 100
          title: Specific Storage
          type: string
        specific_yield:
          format: decimal
          title: Specific Yield
          type: string
        static_level_before_test:
          format: decimal
          title: SWL Before Test
          type: string
        static_water_level:
          format: decimal
          title: Static Water Level (BTOC)
          type: string
        storativity:
          format: decimal
          title: Storativity
          type: string
        street_address:
          maxLength: 100
          title: Street Address
          type: string
        surface_seal_depth:
          format: decimal
          title: Surface Seal Depth
          type: string
        surface_seal_length:
          format: decimal
          title: Surface Seal Length
          type: string
        surface_seal_material:
          title: Surface Seal Material
          type: string
        surface_seal_method:
          title: Surface Seal Installation Method
          type: string
        surface_seal_thickness:
          format: decimal
          title: Surface Seal Thickness
          type: string
        testing_duration:
          maximum: 2147483647
          minimum: 0
          title: Testing duration
          type: integer
        testing_method:
          maxLength: 100
          title: Testing Method
          type: string
        total_depth_drilled:
          format: decimal
          title: Total Depth Drilled
          type: string
        transmissivity:
          format: decimal
          title: Transmissivity
          type: string
        utm_easting:
          maximum: 2147483647
          minimum: -2147483648
          title: UTM Easting
          type: integer
        utm_northing:
          maximum: 2147483647
          minimum: -2147483648
          title: UTM Northing
          type: integer
        utm_zone_code:
          maxLength: 10
          title: Zone
          type: string
        water_quality_characteristics:
          items:
            title: Obvious Water Quality Characteristics
            type: string
          type: array
          uniqueItems: true
        water_quality_colour:
          maxLength: 60
          title: Water Quality Colour
          type: string
        water_quality_odour:
          maxLength: 60
          title: Water Quality Odour
          type: string
        water_supply_system_name:
          maxLength: 80
          title: Water Supply System Name
          type: string
        water_supply_system_well_name:
          maxLength: 80
          title: Water Supply System Well Name
          type: string
        well_cap_type:
          maxLength: 40
          title: Well Cap
          type: string
        well_class:
          title: Well Class
          type: string
        well_disinfected:
          enum:
            - false
            - true
          title: Well Disinfected
          type: boolean
        well_guid:
          format: uuid
          readOnly: true
          title: Well guid
          type: string
        well_identification_plate_attached:
          maxLength: 500
          title: Well Identification Plate Is Attached
          type: string
        well_location_description:
          maxLength: 500
          title: Description of Well Location
          type: string
        well_orientation:
          enum:
            - true
            - false
          title: Orientation of Well
          type: boolean
        well_status:
          title: Well Status
          type: string
        well_subclass:
          format: uuid
          title: Well Subclass
          type: string
        well_tag_number:
          readOnly: true
          title: Well Tag Number
          type: integer
        well_yield:
          format: decimal
          title: Estimated Well Yield
          type: string
        well_yield_unit:
          title: Well yield unit
          type: string
        yield_estimation_duration:
          format: decimal
          title: Estimation Duration
          type: string
        yield_estimation_method:
          title: Estimation Method
          type: string
        yield_estimation_rate:
          format: decimal
          title: Estimation Rate
          type: string
      required:
        - owner_full_name
      type: object
    WellTagSearch:
      properties:
        owner_full_name:
          maxLength: 200
          title: Owner Name
          type: string
        well_tag_number:
          readOnly: true
          title: Well Tag Number
          type: integer
      required:
        - owner_full_name
      type: object
  securitySchemes:
    Bearer:
      in: header
      name: JWT
      type: apiKey
