This is my class diagram,

classDiagram
    class Controller {
        +initialize()
        +addClientOrder()
        +addBrokerOrder()
        +generateReport()
    }

    class Service {
        +initializeCustomer(businessObject: BusinessObject)
        +addClientOrder(businessObject: BusinessObject)
        +addBrokerOrder(businessObject: BusinessObject)
        +generateReport(businessObject: BusinessObject)
    }

    class ServiceImpl {
        +initializeCustomer(businessObject: BusinessObject)
        +addClientOrder(businessObject: BusinessObject)
        +addBrokerOrder(businessObject: BusinessObject)
        +generateReport(businessObject: BusinessObject)
    }

    class BusinessObject {
        +Long customerId
        +String transactionReferenceNo
        +List<ClientOrder> clientOrders
        +List<BrokerOrder> brokerOrders
    }

    class Model {
        +Customer
        +ClientOrder
        +BrokerOrder
        +ReconciliationResult
    }

    class Entity {
        +Customer
        +ClientOrder
        +BrokerOrder
        +ReconciliationResult
    }

    class Repository {
        +CustomerRepository
        +ClientOrderRepository
        +BrokerOrderRepository
        +ReconciliationResultRepository
    }

    %% Define relationships
    Controller --> Service
    Service --> ServiceImpl
    ServiceImpl --> Entity
    Entity --> Model
    Repository --> Entity

    %% Define classes with attributes
    class Customer {
        +Long id
        +String name
        +Double cashBalance
        +String password
    }

    class ClientOrder {
        +Long id
        +String symbol
        +Double price
        +String position
        +Integer quantity
        +String exchange
        +String stt
        +String instrumentIsin
        +String depository
        +String partyCode
        +Date date
        +Double brokerageAmount
    }

    class BrokerOrder {
        +Long id
        +String symbol
        +Double price
        +String position
        +Integer quantity
        +String exchange
        +String stt
        +String instrumentIsin
        +String depository
        +String partyCode
        +Date date
        +Double brokerageAmount
    }

    class ReconciliationResult {
        +Long id
        +String symbol
        +Double price
        +String position
        +Integer quantity
        +String exchange
        +String stt
        +String instrumentIsin
        +String depository
        +String partyCode
        +Date date
        +Double brokerageAmount
    }

    %% Database classes
    class Database {
        +Customer
        +ClientOrders
        +BrokerageOrders
        +ReconciliationResults
    }



Write a swagger yml for the above system.

For example,
openapi: 3.0.3
info:
  title: Trade Reconciliation API
  description: API for managing trade reconciliation processes
  version: "1.0.0"
servers:
  - url: http://localhost:8080/api/trades
    description: Local server

paths:
  /client-orders:
    get:
      summary: Get all client orders
      operationId: getClientOrders
      responses:
        '200':
          description: A list of client orders
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientOrder'
        '500':
          description: Internal server error

  /broker-trades:
    get:
      summary: Get all broker trades
      operationId: getBrokerTrades
      responses:
        '200':
          description: A list of broker trades
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BrokerTrade'
        '500':
          description: Internal server error

  /save:
    post:
      summary: Save client order with trades
      operationId: saveOrderWithTrades
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientOrder'
      responses:
        '200':
          description: The saved client order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientOrder'
        '400':
          description: Bad request

components:
  schemas:
    ClientOrder:
      type: object
      properties:
        id:
          type: integer
          example: 1
        symbol:
          type: string
          example: "AAPL"
        price:
          type: number
          format: float
          example: 150.0
        position:
          type: string
          enum: [BUY, SELL]
          example: "BUY"
        quantity:
          type: integer
          example: 100
        exchange:
          type: string
          example: "NYSE"
        stt:
          type: string
          example: "2%"
        instrumentIsin:
          type: string
          example: "US0378331005"
        depository:
          type: string
          example: "NSDL"
        partyCode:
          type: string
          example: "ABC123"
        date:
          type: string
          format: date
          example: "2025-01-01"
        brokerageAmount:
          type: number
          format: float
          example: 1.5
        brokerTrades:
          type: array
          items:
            $ref: '#/components/schemas/BrokerTrade'

    BrokerTrade:
      type: object
      properties:
        id:
          type: integer
          example: 1
        symbol:
          type: string
          example: "AAPL"
        price:
          type: number
          format: float
          example: 150.0
        position:
          type: string
          enum: [BUY, SELL]
          example: "BUY"
        quantity:
          type: integer
          example: 100
        exchange:
          type: string
          example: "NYSE"
        stt:
          type: string
          example: "2%"
        instrumentIsin:
          type: string
          example: "US0378331005"
        depository:
          type: string
          example: "NSDL"
        partyCode:
          type: string
          example: "ABC123"
        date:
          type: string
          format: date
          example: "2025-01-01"
        brokerageAmount:
          type: number
          format: float
          example: 1.5