Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Release Summary:

  • DIGIT 2.0 is a baselined release that has got very few functional changes, but more of a non-functional standardization changes.

  • Functional: Introducing advance payment feature and Advance collection integration with W/S.

  • Non-functional: Upgrading spring boot and tracer version of all the backend services to enhance the range of non-functional benefits like performance, metrics, and security. Also all digit services/configs are baselined to follow the Semantic Versioning. These would enable the partner eco-system, system Integrators and state teams for an easy on-going upgrades and integrations.

Upgrade Instructions:

  • DIGIT 2.0 is a baselined release - considering simplification and standardization as a theme. It is strongly recommended all state teams upgrade to leverage benefits.

    • All services versioning will follow SemVer 2.0, naming conventions and Git Tagging are improved for better tracing.

    • Next release we might have few more enhancements to the services naming conventions and handling MDMS and Configs better.

  • Impact: Functionally, the upgrade to DIGIT 2.0 should not impact the existing environments.

What has been changed:

FUNCTIONAL

Functional

NON

Non-

FUNCTIONAL

functional

Infotip

New Features:

  • Ability to handle advanced payments - platform and Reference implementation in W&S.

  • Advance Collection integration with W&S

Enhancements:

  • Bulk persister changes to support bulk persisting for migration in Persister Service.

  • Localization URL params to be changed to request params in Localization service

  • Receipt download link in SMS and email notifications.

  • Rainwater Harvesting attribute in Property Service

  • Filestore service enhancement - Support for SDC and S3 implementation.

  • Maven dependencies upgrade and merging the backend services to the master branch (Upgraded Tracer to 2.0.0, spring boot to 2.2.6, flyway-core to 6.4.3, etc along with code cleanup) for all the services across the services. The Changelog has been added.

  • Baseline versioning of all the services as per the streaming strategy.

  • UI Enhancements

    • Generalized Client-side PDF generation component and integration with Property, Fire NOC, Trade License, and W&S applications).

    • Generalize acknowledgment screens component

    • MDMS namespace common component and integration with PT and TL modules.

Note

Fixes:

Infotip

New Features:

Infra/Ops Simplification & Enablement:

  • Infra & Service monitoring v1.0.0 (Prometheus, Alertmanager & Grafana)

    • Cluster Resource monitoring

    • Request Traffic monitoring

    • DIGIT Service monitoring

  • All Java based services SpringBoot upgraded from 1.5.X to 2.2.6 for better security, performance and metrics.

  • Backbone Services migrated to Helm templates to ease deployment on kubernetes.

  • Introduced Minio as a digit platform service for SDCs to leverage S3 like object storage feature.

  • DIGIT on Spot Instances for AWS users, saves 60% of the cloud cost.

  • Configurable SSO with GitHub or Google SSO oauth for all the Infra apps like Jaeger, Grafana, Kibana.

  • Jenkins CI/CD as a service with the pipelines

Enhancements:

  • Versioned Git Tags for all the services

  • Versioned MDMS and Config data.

Note

Fixes:

  • NA

Services and build artefact Details:

Category

Services

GIT TAGS

Tip

Docker Artifact ID

Tip

MDMS Changes

Tip

Config Changes

Frontend v2.0

Citizen

citizen-v1.0.0

citizen:v1.0.0-5c70cea1d

Employee

employee-v1.0.0

employee:v1.0.0-5c70cea1d

DSS Dashboard

dashboard-v1.0.0

dss-dashboard:v1.0.0-766ef5a0a

Core Services v2.0

Encryption

enc-service-v1.1.0

egov-enc-service:v1.1.0-f9375a4

Searcher

searcher-v1.1.0

egov-searcher:v1.1.0-59d3598

Payment Gateway

pg-service-v1.1.0

egov-pg-service:v1.1.0-f9375a4

Filestore

filestore-v1.2.0

egov-filestore:v1.2.0-3acc52b

Zuul - API Gateway

zuul-v1.1.0

zuul:v1.1.0-582ddd0

Mail Notification

notification-mail-v1.1.0

egov-notification-mail:v1.1.0-40b5f2d

SMS Notification

notification-sms-v1.1.0

egov-notification-sms:v1.1.0-245443e

Localization

localization-v1.1.0

egov-localization:v1.1.0-f9375a4

PR-1073

Persister

persister-v1.1.0

egov-persister:v1.1.0-9994513

ID Gen

idgen-v1.2.0

egov-idgen:v1.2.0-f9375a4

User

user-v1.2.1

egov-user:v1.2.1-4976757

User Chatbot

user-chatbot-v1.2.1

egov-user-chatbot:v1.2.1-4976757

MDMS

mdms-service-v1.3.0

egov-mdms-service:v1.3.0-e50b9eb

URL Shortening

url-shortening-v1.0.0

egov-url-shortening:v1.0.0-40cc090

Indexer

indexer-v1.1.0

egov-indexer:v1.1.0-07592ae

egov-bpa-indexer.yml,rainmaker-bpastakeholder-indexer.yml

Report

report-v1.3.0

report:v1.3.0-28b3c97

PR-1170

Workflow

workflow-v2-v1.1.0

egov-workflow-v2:v1.1.0-42786ef

PDF Generator

pdf-service-v1.1.0

pdf-service:v1.1.0-09b11d9

Chatbot

chatbot-v1.0.0

chatbot:v1.0.0-f905f54

Access Control

accesscontrol-v1.1.0

egov-accesscontrol:v1.1.0-f9375a4

Location

location-v1.1.0

egov-location:v1.1.0-f9375a4

OTP

otp-v1.2.0

egov-otp:v1.2.0-f9375a4

User OTP

user-otp-v1.1.0

user-otp:v1.1.0-2f36d3a

Business Services v2.0

Apportion

apportion-service-v1.1.0

egov-apportion-service:v1.1.0-5553009

Collection

collection-services-v1.1.0

collection-services:v1.1.0-afb3913

PR-1106

Billing

billing-service-v1.1.0

billing-service:v1.1.0-4367159

bill-genie.yml

HRMS

hrms-v1.1.0

egov-hrms:v1.1.0-43cb793

Dashboard Analytics

dashboard-analytics-v1.1.0

dashboard-analytics:v1.1.0-de5ab6d

Dashboard Ingest

dashboard-ingest-v1.1.0

dashboard-ingest:v1.1.0-5cc43bf

EGF Instrument

egf-instrument-v1.1.0

egf-instrument:v1.1.0-87dfb2d

EGF Master

egf-master-v1.1.0

egf-master:v1.1.0-9959f29

Finance Collection Voucher Consumer

finance-collections-voucher-consumer-v1.1.0

finance-collections-voucher-consumer:v1.1.0-004e14a

Municipal Services v2.0

Trade License

tl-services-v1.1.0

tl-services:v1.1.0-be11a0f5

PR-1160

Trade License Calculator

tl-calculator-v1.1.0

tl-calculator:v1.1.0-c52ffe21

PR-1125,PR-1133

Fire NOC

firenoc-services-v1.0.0

firenoc-services:v1.0.0-4abf83d8

Fire NOC Calculator

firenoc-calculator-v1.0.0

firenoc-calculator:v1.0.0-ae96e930

Property Services

property-services-v1.0.0

property-services:v1.0.0-ecf3410a

Property Tax Calculator

pt-calculator-v2-v1.1.0

pt-calculator-v2:v1.1.0-63e20365

Property Tax

pt-services-v2-v1.0.0

pt-services-v2:v1.0.0-ecf3410a

Water Charges

ws-services-v1.0.0

ws-services:v1.0.0-67c2139c

PR-1043, PR-1058

PR-357, PR-340, ws-bill.json

Water Charges Calculator

ws-calculator-v1.0.0

ws-calculator:v1.0.0-d7529cf4

PR-342

Sewerage Charges

sw-services-v1.0.0

sw-services:v1.0.0-a2ee0ed4

water-meter.yml

Sewerage Charges Calculator

sw-calculator-v1.0.0

sw-calculator:v1.0.0-67e5a1bc

BPA Calculator

bpa-calculator-v1.0.0

bpa-calculator:v1.0.0-1aeb87df

PR-996, PR-995, PR-1162

BPA Services

bpa-services-v1.0.0

bpa-services:v1.0.0-b5520589

PR-1118, PR-1062, PR-1019,PR-1016, PR-1008, PR-1007, PR-1006, PR-997,

land-persister.yml, bpa-persister.yml, bpa-revocation.json, buildingpermit-low.json, buildingpermit.json, occupancy-certificate.json, noc-persister.yml

User Event

user-event-v1.1.0

egov-user-event:v1.1.0-e518861c

PGR

rainmaker-pgr-v1.1.0

rainmaker-pgr:v1.1.0-5058d47e

Land Services

land-services-v1.0.0

land-services:v1.0.0-ae5cee9f

Utilities Services v2.0

Custom Consumer

custom-consumer-v1.1.0

egov-custom-consumer:v1.1.0-7a6db73

PDF

pdf-v1.1.0

egov-pdf:v1.0.0-009661c

Others Service v2.0

eDCR

egov-edcr-v1.0.0

egov-edcr:v1.0.0-04ff1e5

Deprecated

egov-data-uploader

egov-common-masters

egov-index-custom-consumer

API Contracts

Swagger open api macro
openapi: 3.0.0
info:
  version: 1.0.0
  title: W&S API contracts.
x-module: WC & SWC
x-common-path: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml'
paths:
  /wc/_create:
    post:
      summary: Apply for new water connection.
      description: | 
        Citizen or employee can apply for new water connection.
      x-roles: 'WC_CEMP,CITIZEN'
      responses:
        '201':
          description: Water connection application is submitted sucessfully
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/WaterConnectionResponse'
        '400':
          description: Failed to submit application
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      tags:
        - Water
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaterConnectionRequest'
        description: Details for the new property + RequestHeader meta data.
        required: true
  /wc/_update:
    post:
      summary: Update existing water connection details.
      description: Updates a given `water connection` with newer details.
      x-roles: 'WC_CEMP,CITIZEN'
      tags:
        - Water
      responses:
        '200':
          description: Water connection details has been submitted sucessfully with new details
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/WaterConnectionResponse'
        '400':
          description: Update water connection details failed
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaterConnectionRequest'
        description: Request of water connection details.
        required: true
  /wc/_search:
    post:
      summary: Get the list of exsting water connections.
      description: |
        Get the water connections list based on the input parameters.
      x-roles: 'WC_CEMP,CITIZEN'
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: ids
          in: query
          description: List of system generated ids of water connection.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: connectionNo
          in: query
          required: false
          description: List of water connection numbers to search..
          schema:
            type: array
            items:
              type: string
        - name: oldConnectionNo
          in: query
          required: false
          description: List of old water connection numbers to search..
          schema:
            type: array
            items:
              type: string
        - name: mobileNumber
          in: query
          description: MobileNumber of owner whose water connection is to be searched.
          required: false
          schema:
            type: integer
            format: int64
        - name: fromDate
          in: query
          description: Fetches properties with created time after fromDate.
          required: false
          schema:
            type: number
        - name: toDate
          in: query
          description: Fetches properties with created time till toDate.
          required: false
          schema:
            type: number
      responses:
        '200':
          description: Successful response
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/WaterConnectionResponse'
        '400':
          description: Invalid input.
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      tags:
        - Water
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: RequestHeader meta data.
        required: true
  /wc/_delete:
    post:
      summary: Delete existing water connection.
      description: Delete existing water connection.
      x-roles: WC_ADMIN
      tags:
        - Water
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: connectionNo
          in: query
          required: true
          description: The connection no to be deactivated
          schema:
            type: string
            exclusiveMinimum: true
            exclusiveMaximum: false
            minLength: 2
            maxLength: 64
      responses:
        '200':
          description: Deleted water connection successful
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        '404':
          description: Delete Property failed
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: Request header for the connection delete Request.
        required: true
  /wc/_cancel:
    post:
      summary: Deactivate existing water connection.
      description: Deactivate existing water connection.
      x-roles: WC_ADMIN
      tags:
        - Water
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: propertyId
          in: query
          required: true
          description: The properrtyId to be deactivated
          schema:
            type: string
            exclusiveMinimum: true
            exclusiveMaximum: false
            minLength: 4
            maxLength: 128
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: Request header for the property delete Request.
        required: true
      responses:
        '200':
          description: Property deactivated successful
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        '404':
          description: Property not found
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
  
  /swc/_create:
    post:
      summary: Apply for new Sewerage connection.
      description: | 
        Citizen or employee can apply for new Sewerage connection.
      x-roles: 'SWC_CEMP,CITIZEN'
      responses:
        '201':
          description: Sewerage connection application is submitted sucessfully
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SewerageConnectionResponse'
        '400':
          description: Failed to submit application
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      tags:
        - Sewerage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SewerageConnectionRequest'
        description: Details for the new Sewerage Connection + RequestHeader meta data.
        required: true
  /swc/_update:
    post:
      summary: Update existing Sewerage connection details.
      description: Updates a given `Sewerage connection` with newer details.
      x-roles: 'SWC_CEMP,CITIZEN'
      tags:
        - Sewerage
      responses:
        '200':
          description: Sewerage connection details has been submitted sucessfully with new details
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SewerageConnectionResponse'
        '400':
          description: Update Sewerage connection details failed
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SewerageConnectionRequest'
        description: Request of Sewerage connection details.
        required: true
  /swc/_search:
    post:
      summary: Get the list of exsting Sewerage connections.
      description: |
        Get the water connections list based on the input parameters.
      x-roles: 'SWC_CEMP,CITIZEN'
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: ids
          in: query
          description: List of system generated ids of Sewerage connection.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: connectionNo
          in: query
          required: false
          description: List of Sewerage connection numbers to search..
          schema:
            type: array
            items:
              type: string
        - name: oldConnectionNo
          in: query
          required: false
          description: List of old Sewerage connection numbers to search..
          schema:
            type: array
            items:
              type: string
        - name: mobileNumber
          in: query
          description: MobileNumber of owner whose Sewerage connection is to be searched.
          required: false
          schema:
            type: integer
            format: int64
        - name: fromDate
          in: query
          description: Fetches Sewerage Connection with created time after fromDate.
          required: false
          schema:
            type: number
        - name: toDate
          in: query
          description: Fetches Sewerage Connection with created time till toDate.
          required: false
          schema:
            type: number
      responses:
        '200':
          description: Successful response
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SewerageConnectionResponse'
        '400':
          description: Invalid input.
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      tags:
        - Sewerage
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: RequestHeader meta data.
        required: true
  /swc/_delete:
    post:
      summary: Delete existing Sewerage connection.
      description: Delete existing Sewerage connection.
      x-roles: SWC_ADMIN
      tags:
        - Sewerage
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: connectionNo
          in: query
          required: true
          description: The connection no to be deactivated
          schema:
            type: string
            exclusiveMinimum: true
            exclusiveMaximum: false
            minLength: 2
            maxLength: 64
      responses:
        '200':
          description: Deleted Sewerage connection successful
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        '404':
          description: Delete Sewerage connection failed
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: Request header for the connection delete Request.
        required: true
  /swc/_cancel:
    post:
      summary: Deactivate existing water connection.
      description: Deactivate existing water connection.
      x-roles: WC_ADMIN
      tags:
        - Sewerage
      parameters:
        - $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/parameters/tenantId'
        - name: connectionNo
          in: query
          required: true
          description: The properrtyId to be deactivated
          schema:
            type: string
            exclusiveMinimum: true
            exclusiveMaximum: false
            minLength: 4
            maxLength: 128
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        description: Request header for the property delete Request.
        required: true
      responses:
        '200':
          description: Property deactivated successful
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        '404':
          description: Property not found
          content:
            '*/*':
              schema:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/ErrorRes'
servers:
# Added by API Auto Mocking Plugin
# Added by API Auto Mocking Plugin
  - description: SwaggerHub API Auto Mocking
    url: https://virtserver.swaggerhub.com/egov-foundation/Water-Sewerage-1.0/1.0.0
  - description: SwaggerHub API Auto Mocking
    url: https://virtserver.swaggerhub.com/egovernmets-faoundat/Water-Sewerage-1.0/1.0.0
  - description: SwaggerHub API Auto Mocking
    url: 'https://virtserver.swaggerhub.com/egovernmets-faundation/PT-2.0/1.0.0'
  - url: 'https://egov-micro-dev.egovernments.org'
components:
  schemas:
    
    Connection:
      description: This is lightweight property object that can be used as reference by definitions needing property linking. Actual Property Object extends this to include more elaborate attributes of the property.
      properties:
        id:
          type: string
          description: Unique Identifier of the connection for internal reference.
          readOnly: true
          minLength: 1
          maxLength: 64
        tenantId:
          type: string
          description: Unique ULB identifier.
          maxLength: 256
          minLength: 2
          nullable: false
        propertyId:
          type: string
          minLength: 1
          maxLength: 64
          description: UUID of the property.
        applicationNo:
          type: string
          readOnly: true
          minLength: 1
          maxLength: 64
          description: Formatted application number, which will be generated using ID-Gen at the time .
        applicationStatus:
          type: string
          readOnly: true
          minLength: 1
          maxLength: 64
        status:
          type: string
          readOnly: true
          enum: 
            - Active
            - Inactive
        connectionNo:
          type: string
          readOnly: true
          minLength: 1
          maxLength: 64
          description: Formatted connection number, which will be generated using ID-Gen service after aproval of connection application in case of new application. If the source of data is "DATA_ENTRY" then application status will be considered as "APROVED" application.
        oldConnectionNo:
          type: string
          readOnly: true
          minLength: 1
          maxLength: 64
          description: Mandatory if source is "DATA_ENTRY".
        documents:
          description: The documents attached by owner for exemption.
          type: array
          items:
            $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/Document'
        plumberInfo:
          description: The documents attached by owner for exemption.
          type: array
          items:
            $ref: '#/components/schemas/PlumberInfo'
        roadType:
            type: string 
            minLength: 2
            maxLength: 32
            description: It is a master data, defined in MDMS. If road cutting is required to established the connection then we need to capture the details of road type.
        roadCuttingArea:
            type: number
            format: float
            description: Capture the road cutting area in sqft.
        connectionExecutionDate:
              type: integer
              format: int64
              readOnly: true
              minLength: 1
              maxLength: 64
        connectionCategory:
              type: string 
              minLength: 2
              maxLength: 32
              description: It is a master data, defined in MDMS
        connectionType:
              type: string
              minLength: 2
              maxLength: 32
              description: It is a master data, defined in MDMS.
        additionalDetails:
          type: object
          description: Json object to capture any extra information which is not accommodated of model
        auditDetails:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/AuditDetails'
      required:
        - connectionType
        - connectionCategory
    
  
    PlumberInfo:
      type: object
      properties:
        tenantId:
          type: string
          description: Unique ULB identifier.
          maxLength: 256
          minLength: 2
          nullable: false
        name:
          type: string
          description: The name of the user.
          maxLength: 256
        licenseNo:
          type: string
          description: Plumber unique license number.
          maxLength: 256
        mobileNumber:
          type: string
          description: MobileNumber of the user.
          maxLength: 256
        gender:
          type: string
          description: Gender of the user.
          maxLength: 256
        fatherOrHusbandName:
          type: string
          description: Father or Husband name of the user.
          maxLength: 256
        correspondenceAddress:
          type: string
          description: The current address of the owner for correspondence.
          maxLength: 1024
        relationship:
          type: string
          description: The relationship of gaurdian.
          enum:
            - FATHER
            - HUSBAND
        
        additionalDetails:
          type: object
          description: Json object to capture any extra information which is not accommodated of model
        auditDetails:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/AuditDetails'
        

    WaterConnection:
      allOf:
        - $ref: '#/components/schemas/Connection'
        - type: object

          description: This is lightweight property object that can be used as reference by definitions needing property linking. Actual Property Object extends this to include more elaborate attributes of the property.
          properties:
            rainWaterHarvesting:
              type: boolean
            waterSource:
              type: string
              minLength: 2
              maxLength: 64
              description: It is a namespaced master data, defined in MDMS
            meterId:
              type: string
              minLength: 2
              maxLength: 64
              description: Unique id of the meter.
            meterInstallationDate:
              type: integer
              format: int64
              description: The date of meter installation date.
            proposedPipeSize:
              type: number
              format: double
              minLength: 1
              maxLength: 64
              description: proposed size of the pipe which will be use to provide the connection.
            actualPipeSize:
              type: number
              format: double
              minLength: 1
              maxLength: 64
              description: Actual pipe size which used in the water connection.
            proposedTaps:
              type: number
              format: double
              minLength: 1
              maxLength: 64
              description: proposed number of the taps.
            actualTaps:
              type: number
              format: double
              minLength: 1
              maxLength: 64
              description: Actual number of the taps
            documents:
              description: The documents attached by owner for exemption.
              type: array
              items:
                $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/PT_APPLY_PAY/docs/common/contracts/v1-1-1.yml#/components/schemas/Document'
          required:
            - connectionType
            - waterSource
            - connectionCategory
        
    SewerageConnection:
      allOf:
        - $ref: '#/components/schemas/Connection'
        - type: object

          description: This is lightweight property object that can be used as reference by definitions needing property linking. Actual Property Object extends this to include more elaborate attributes of the property.
          properties:
            noOfWaterClosets:
              type: number
              format: int64
              minLength: 1
              maxLength: 64
            proposedWaterClosets:
              type: number
              format: int64
              minLength: 1
              maxLength: 64
            noOfToilets:
              type: number
              format: int64
              minLength: 1
              maxLength: 64
            proposedToilets:
              type: number
              format: int64
              minLength: 1
              maxLength: 64
          
        
    WaterConnectionRequest:
      description: Contract class to receive request. Array of Property items  are used in case of create . Where as single Property item is used for update
      properties:
        RequestInfo:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        WaterConnection:
          $ref: '#/components/schemas/WaterConnection'
    WaterConnectionResponse:
      description: Contains the ResponseHeader and the created/updated property
      properties:
        ResponseInfo:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        WaterConnection:
          type: array
          items:
            $ref: '#/components/schemas/WaterConnection'
          
    SewerageConnectionRequest:
      description: Contract class to receive request. Array of Property items  are used in case of create . Where as single Property item is used for update
      properties:
        RequestInfo:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-1-1.yml#/definitions/RequestInfo'
        SewerageConnection:
          $ref: '#/components/schemas/SewerageConnection'
          
    SewerageConnectionResponse:
      description: Contains the ResponseHeader and the created/updated property
      properties:
        ResponseInfo:
          $ref: 'https://raw.githubusercontent.com/egovernments/egov-services/master/docs/common/contracts/v1-0-0.yml#/definitions/ResponseInfo'
        SewerageConnections:
          type: array
          items:
            $ref: '#/components/schemas/SewerageConnection'

####################### Master data schema(MDMS) #######################     
      
    ConnectionCategory:
      type: object
      properties:
        code:
          type: string
          description: code of the connection category
          maxLength: 64
          minLength: 2
        active:
          type: boolean
          description: describes Whether propertyType is Active or not.
      required:
        - code
        
    ConnectionType:
      type: object
      properties:
        code:
          type: string
          description: code of the connection type
          maxLength: 64
          minLength: 2
        active:
          type: boolean
          description: Whether UsageCategoryMajor is Active or not.
      required:
        - code

MDMS Changes: (tag: v2.0)

Config Changes (tag: v2.0)

Test Cases

Localisation Data:

DIGIT 2.0 - Technical/Configuration documents created/updated

Infra Services, Deployment Config Changes:

Code Block
1. Removed from: helm/charts/municipal-services/sw-services/values.yaml
    scid-format: "SW/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]"
    
    - name: EGOV_IDGEN_SCID_FORMAT    
      value: {{ index .Values "scid-format" | quote }}

 
2. Removed from: helm/charts/municipal-services/ws-services/values.yaml
    wcid-format: "WS/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]"
    
    - name: EGOV_IDGEN_WCID_FORMAT    
      value: {{ index .Values "wcid-format" | quote }}

 
3. Autocreate-new-seq flag must be enabled in IdGen Service of environment file. Refer the following 

    helm/environments/<env>.yaml
      autocreate-new-seq: "true"
  
4. Setup OAuth for Kibana, Jaeger, Grafana, PG Admin etc.
  
    helm/environments/<env>.yaml
      oauth2-proxy:
      config:
        configFile: |-
          email_domains = [ "*" ]
          github_org = "egovernments"
          github_team = "micro-service-uat,devops"  ### Your github teams IDs
          upstreams = [ "file:///dev/null" ]  
        
    helm/environments/<env>-secrets.yaml
        oauth2-proxy:
            clientID: <Your GitHub Oauth ClientID>
            clientSecret: <Your GitHub Oauth Secret>
            cookieSecret: <>
  
  
5. All DIGIT Backbone services Helm migration and addition of new charts (Optional add-ons for better operations)
    helm/charts/backbone-services 
     
    a. Prometheus - Helm templates
        helm/charts/backbone-services/prometheus-operator/requirements.lock
        helm/charts/backbone-services/prometheus-operator/templates/alertmanager/*
        helm/charts/backbone-services/prometheus-operator/templates/prometheus/*
        helm/charts/backbone-services/nginx-ingress/templates/controller-prometheusrules.yaml 
        
    b. Kubestate Metrics - Helm Templates
        helm/charts/backbone-services/kube-state-metrics/*
        helm/charts/backbone-services/kube-state-metrics/Chart.yaml  
    
    c. Jenkins as-a-service - Helm Templates
        dockerfiles/jenkins/Dockerfile
        dockerfiles/jenkins/plugins.txt
        helm/charts/backbone-services/jenkins/*
        helm/charts/backbone-services/kaniko-cache-warmer/*
    
    d. Grafana Dashboard - Helm Templates
        helm/charts/backbone-services/grafana/*
    
    e. Minio - Helm Templates
        helm/charts/backbone-services/minio/*
    
    f. PG Admin - Helm Templates
        helm/charts/backbone-services/pgadmin/*
        
    g. AWS Spot Instance terminator - Helm Template
        helm/charts/backbone-services/spot-termination-handler/* 
        
    h. Kuberhealthy - Helm Templates
        helm/charts/backbone-services/kuberhealthy/*