definitions:
  api.AdminRequest:
    properties:
      email:
        type: string
      fullname:
        type: string
      nin:
        type: string
      phone:
        type: string
      regno:
        type: string
    required:
    - email
    - fullname
    - nin
    - phone
    - regno
    type: object
  api.AirlineRequest:
    properties:
      airlinecode:
        type: string
      airlinename:
        type: string
      mot_id:
        type: integer
    required:
    - airlinecode
    - airlinename
    - mot_id
    type: object
  api.AirlineResponse:
    properties:
      airlinecode:
        type: string
      airlinename:
        type: string
      id:
        type: integer
      mot_id:
        type: integer
    type: object
  api.AllDocumentDetailsRow:
    properties:
      countryname:
        type: string
      cropname:
        type: string
      description:
        type: string
      documentusage:
        type: string
      iscrop:
        type: boolean
      isglobal:
        type: boolean
      name:
        type: string
    type: object
  api.AllZonesRow:
    properties:
      created_at:
        type: string
      id:
        type: integer
      zone:
        type: string
    type: object
  api.AttachMoreReq:
    properties:
      inspectorexporter:
        items:
          $ref: '#/definitions/api.ExporterInspectorReq'
        type: array
    type: object
  api.AttachPackhouseRequest:
    properties:
      exportcompany_id:
        minimum: 1
        type: integer
      packhouse_id:
        minimum: 1
        type: integer
    required:
    - exportcompany_id
    - packhouse_id
    type: object
  api.AttachRoleRequest:
    properties:
      role_id:
        minimum: 1
        type: integer
      user_id:
        minimum: 1
        type: integer
    required:
    - role_id
    - user_id
    type: object
  api.BatchReqS:
    properties:
      batchlist:
        items:
          $ref: '#/definitions/api.PackBatchReq'
        type: array
    type: object
  api.BorderInspectorStatsType:
    properties:
      awaiting:
        type: integer
      completed:
        type: integer
      stopped:
        type: integer
    type: object
  api.ClientRequest:
    properties:
      companyname:
        type: string
      contactemail:
        type: string
      contactphone:
        type: string
      country_id:
        minimum: 1
        type: integer
      exportcompany_id:
        minimum: 1
        type: integer
    required:
    - companyname
    - contactemail
    - contactphone
    - country_id
    - exportcompany_id
    type: object
  api.ClientResponse:
    properties:
      airlinecode:
        type: string
      airlinename:
        type: string
      id:
        type: integer
    required:
    - airlinecode
    - airlinename
    type: object
  api.ClientStatusReq:
    properties:
      client_id:
        type: integer
      status:
        type: string
    required:
    - client_id
    - status
    type: object
  api.CompanyRes:
    properties:
      assignment_date:
        type: string
      expaddress1:
        type: string
      expcompanyphone:
        type: string
      expemail:
        type: string
      expname:
        type: string
      exportcompanies_creation_date:
        type: string
      exportcompany_id:
        type: integer
      expregno:
        type: string
      packhouse_creation_date:
        type: string
      packhouse_id:
        type: integer
      phname:
        type: string
      phregno:
        type: string
      registrationstatus:
        type: string
      validitydate:
        type: string
    type: object
  api.ConsigmentDocTypeRequest:
    properties:
      cd_code:
        type: string
      cd_description:
        type: string
    required:
    - cd_code
    - cd_description
    type: object
  api.ConsigmentReasonRejectionRequest:
    properties:
      crr_code:
        type: string
      crr_description:
        type: string
    required:
    - crr_code
    - crr_description
    type: object
  api.ConsigmentRejectionRequest:
    properties:
      cd_code:
        type: string
      cd_description:
        type: string
    required:
    - cd_code
    - cd_description
    type: object
  api.ConsignmentReport:
    properties:
      consignmentdetails:
        additionalProperties: true
        type: object
      order_crops:
        items:
          additionalProperties: true
          type: object
        type: array
      packinglists:
        items:
          additionalProperties: true
          type: object
        type: array
    type: object
  api.ConsignmentResponse:
    properties:
      qcp4_id:
        type: integer
      qcp4_others:
        items:
          $ref: '#/definitions/api.Qcp4OtherResponse'
        type: array
      qcp4_products:
        items:
          $ref: '#/definitions/api.Qcp4Response'
        type: array
    type: object
  api.ConsignmentTpDetails:
    properties:
      airline_id:
        minimum: 1
        type: integer
      consignment_number:
        minLength: 1
        type: string
      country_id:
        minimum: 1
        type: integer
      exit_date_time:
        type: string
      exithandler_id:
        minimum: 1
        type: integer
      exitpoint_id:
        minimum: 1
        type: integer
      mot_id:
        minimum: 1
        type: integer
    required:
    - airline_id
    - consignment_number
    - country_id
    - exit_date_time
    - exithandler_id
    - exitpoint_id
    - mot_id
    type: object
  api.ConsignmentTpDetailsResponse:
    properties:
      airline_id:
        $ref: '#/definitions/sql.NullInt32'
      country_id:
        type: integer
      created_at:
        type: string
      exit_date:
        type: string
      exithandler_id:
        $ref: '#/definitions/sql.NullInt32'
      exitpoint_id:
        type: integer
      id:
        type: integer
      modesoftransport_id:
        type: integer
      plannedconsignments_id:
        type: string
    type: object
  api.Consignmentdoctype:
    properties:
      cdcode:
        type: string
      cddescription:
        type: string
      created_at:
        type: string
      id:
        type: integer
    type: object
  api.Consignmentreasonrejection:
    properties:
      created_at:
        type: string
      crrcode:
        type: string
      crrdescription:
        type: string
      id:
        type: integer
    type: object
  api.Consignmentrejection:
    properties:
      cjcode:
        type: string
      cjdescription:
        type: string
      created_at:
        type: string
      id:
        type: integer
    type: object
  api.ContactsRequest:
    properties:
      contact_email:
        type: string
      contact_name:
        type: string
      contact_phone:
        type: string
    required:
    - contact_email
    - contact_name
    - contact_phone
    type: object
  api.CountResponse:
    properties:
      accepted:
        type: integer
      awaitingborderinspection:
        type: integer
      completed:
        type: integer
      destroyed:
        type: integer
      queried:
        type: integer
      redocument:
        type: integer
      rejected:
        type: integer
      resort:
        type: integer
      scheduled:
        type: integer
    type: object
  api.CountryRequest:
    properties:
      countrycode:
        maxLength: 5
        type: string
      countryname:
        type: string
    required:
    - countrycode
    - countryname
    type: object
  api.CountryRes:
    properties:
      countrycode:
        type: string
      countryname:
        type: string
      created_at:
        type: string
      dialcodes:
        $ref: '#/definitions/sql.NullString'
      id:
        type: integer
    type: object
  api.CountsTypeResponse:
    properties:
      active:
        type: integer
      inactive:
        type: integer
      suspended:
        type: integer
    type: object
  api.CreateDistrictReq:
    properties:
      code:
        type: string
      name:
        type: string
    required:
    - code
    - name
    type: object
  api.CreateExitPointRequest:
    properties:
      district:
        type: integer
      expcode:
        type: string
      expdescription:
        type: string
      expwhatsapp:
        type: string
      lat:
        type: number
      long:
        type: number
      mot_id:
        type: integer
      parish:
        type: integer
      village:
        type: integer
    required:
    - district
    - expcode
    - expdescription
    - expwhatsapp
    - lat
    - long
    - mot_id
    - parish
    - village
    type: object
  api.CreateRoleRequest:
    properties:
      description:
        type: string
      name:
        type: string
      permissions:
        items:
          type: string
        type: array
    required:
    - description
    - name
    - permissions
    type: object
  api.CreateRoleRes:
    properties:
      permissions:
        items:
          type: string
        type: array
      role_id:
        type: integer
    type: object
  api.CreateUserRequest:
    properties:
      email:
        type: string
      fullname:
        type: string
      password:
        minLength: 6
        type: string
      phone:
        minLength: 6
        type: string
    required:
    - email
    - fullname
    - password
    - phone
    type: object
  api.CreateUserResponse:
    properties:
      created_at:
        type: string
      email:
        type: string
      fullname:
        type: string
      id:
        type: integer
      phone:
        type: string
      user_type:
        type: string
    type: object
  api.CropCountRes:
    properties:
      active:
        type: string
      inactive:
        type: string
      suspended:
        type: string
    type: object
  api.CropRequest:
    properties:
      ciccode:
        type: string
      crophscode:
        type: string
      cropname:
        type: string
      riskstatus:
        type: string
      variant:
        type: string
    required:
    - ciccode
    - crophscode
    - cropname
    - riskstatus
    - variant
    type: object
  api.CropRes:
    properties:
      cic_code:
        type: string
      created_at:
        type: string
      crophscode:
        type: string
      cropname:
        type: string
      id:
        type: integer
      riskstatus:
        type: string
      status:
        type: string
      variant:
        type: string
    type: object
  api.CropsUpdateOrder:
    properties:
      crop_id:
        type: integer
      order_id:
        type: integer
      weight:
        type: number
    required:
    - crop_id
    - order_id
    - weight
    type: object
  api.CustomDetailsResponse:
    properties:
      box_weight:
        type: number
      client_name:
        type: string
      country:
        type: string
      crop_id:
        type: integer
      cropname:
        type: string
      order_id:
        type: integer
      packinglist_batch_id:
        type: integer
      packinglist_id:
        type: integer
      product_net_weight:
        type: number
      total_boxes:
        type: integer
      total_gross_weight:
        type: number
      total_product_net_weight:
        type: number
      traceability_code:
        type: string
    type: object
  api.CustomDocResponse:
    properties:
      docs:
        items:
          $ref: '#/definitions/api.DocsResponse'
        type: array
      other_docs:
        items:
          $ref: '#/definitions/api.OtherDocsResponse'
        type: array
    type: object
  api.DeactivateCropReq:
    properties:
      crop_id:
        type: integer
      order_id:
        type: integer
    required:
    - crop_id
    - order_id
    type: object
  api.DeactiveReq:
    properties:
      exportcompany_id:
        type: integer
      report:
        $ref: '#/definitions/multipart.FileHeader'
      status:
        type: string
    required:
    - status
    type: object
  api.DestructionNotice:
    properties:
      border_inspector:
        minimum: 1
        type: integer
      company_rep:
        minimum: 1
        type: integer
      consignment_no:
        type: string
      instructions:
        type: string
      notes:
        type: string
      nppo_inspector:
        minimum: 1
        type: integer
      session_id:
        type: string
    required:
    - border_inspector
    - company_rep
    - consignment_no
    - instructions
    - nppo_inspector
    type: object
  api.DialCodeRequest:
    properties:
      code:
        type: string
      dial_code:
        type: string
    required:
    - code
    - dial_code
    type: object
  api.DialImportRequest:
    properties:
      dialcodes:
        items:
          $ref: '#/definitions/api.DialCodeRequest'
        type: array
    required:
    - dialcodes
    type: object
  api.DistrictRes:
    properties:
      code:
        type: string
      created_at:
        type: string
      id:
        type: integer
      name:
        type: string
    type: object
  api.DocsResponse:
    properties:
      created_at:
        type: string
      description:
        type: string
      doc_id:
        type: integer
      document:
        type: string
      document_id:
        type: integer
      document_path:
        type: string
      document_usage:
        type: string
      form_id:
        type: string
    type: object
  api.DocumentsRequest:
    properties:
      countries:
        items:
          type: integer
        type: array
      crops:
        items:
          type: integer
        type: array
      description:
        type: string
      document_name:
        type: string
      document_usage:
        type: string
      iscrop:
        type: string
      isglobal:
        type: string
    required:
    - countries
    - crops
    - description
    - document_name
    - document_usage
    - iscrop
    - isglobal
    type: object
  api.ErrorTypeResponse:
    properties:
      error:
        type: string
    type: object
  api.ExitConsignmentResponse:
    properties:
      consignment_no:
        type: string
      created_at:
        type: string
      end_date:
        type: string
      exit_date:
        type: string
      exportcompany:
        type: string
      packhouse:
        type: string
      start_date:
        type: string
      status:
        type: string
    type: object
  api.ExitHandlerRequest:
    properties:
      exhcode:
        type: string
      exhdescription:
        type: string
      exitpoint_id:
        type: integer
    required:
    - exhcode
    - exhdescription
    - exitpoint_id
    type: object
  api.ExitHandlerResponse:
    properties:
      exhcode:
        type: string
      exhdescription:
        type: string
      exitpoint_id:
        type: integer
      id:
        type: integer
    required:
    - exhcode
    - exhdescription
    - exitpoint_id
    - id
    type: object
  api.ExitPointReq:
    properties:
      id:
        type: integer
      lat:
        type: number
      long:
        type: number
    required:
    - id
    - lat
    - long
    type: object
  api.ExitPointResponse:
    properties:
      created_at:
        type: string
      district_id:
        type: integer
      expcode:
        type: string
      expdescription:
        type: string
      expwhatsapp:
        type: string
      id:
        type: integer
      latitude:
        type: number
      longtitude:
        type: number
      modeoftransport_id:
        type: integer
      parish_id:
        type: integer
      status:
        type: string
      village_id:
        type: integer
    type: object
  api.ExportCompanyRequest:
    properties:
      expaddress1:
        type: string
      expcompanyphone:
        type: string
      expdistrict:
        type: integer
      expemail:
        type: string
      expiry_date:
        type: string
      expname:
        type: string
      expparish:
        type: integer
      expregno:
        type: string
      expsubcounty:
        type: integer
      expvillage:
        type: integer
      reg_status:
        type: string
    required:
    - expaddress1
    - expcompanyphone
    - expdistrict
    - expemail
    - expiry_date
    - expname
    - expparish
    - expregno
    - expsubcounty
    - expvillage
    - reg_status
    type: object
  api.ExportCompanyResponse:
    properties:
      created_at:
        type: string
      expaddress1:
        type: string
      expcompanyphone:
        type: string
      expdistrict_id:
        type: integer
      expemail:
        type: string
      expname:
        type: string
      expparish_id:
        type: integer
      expregno:
        type: string
      exprexno:
        $ref: '#/definitions/sql.NullString'
      expsubcounty_id:
        type: integer
      expvillage_id:
        type: integer
      id:
        type: integer
      logo:
        $ref: '#/definitions/sql.NullString'
      registrationstatus:
        type: string
      validitydate:
        type: string
    type: object
  api.ExportTypeResponse:
    properties:
      created_at:
        type: string
      expaddress1:
        type: string
      expcompanyphone:
        type: string
      expdistrict_id:
        type: integer
      expemail:
        type: string
      expname:
        type: string
      expparish_id:
        type: integer
      expregno:
        type: string
      exprexno:
        $ref: '#/definitions/sql.NullString'
      expsubcounty_id:
        type: integer
      expvillage_id:
        type: integer
      id:
        type: integer
      logo:
        $ref: '#/definitions/sql.NullString'
      registrationstatus:
        type: string
      validitydate:
        type: string
    type: object
  api.ExporterAttachment:
    properties:
      exportcompany_id:
        minimum: 1
        type: integer
      user_id:
        minimum: 1
        type: integer
    required:
    - exportcompany_id
    - user_id
    type: object
  api.ExporterFarmerCountResponse:
    properties:
      active:
        type: integer
      inactive:
        type: integer
      suspended:
        type: integer
    type: object
  api.ExporterInspectorReq:
    properties:
      exportcompany_id:
        type: integer
      packhouseinspector_id:
        type: integer
    type: object
  api.ExporterManagerReq:
    properties:
      email:
        type: string
      exportcompany_id:
        type: integer
      fullname:
        type: string
      nin:
        type: string
      phone:
        type: string
    required:
    - email
    - exportcompany_id
    - fullname
    - nin
    - phone
    type: object
  api.ExporterStamp:
    properties:
      stamps:
        $ref: '#/definitions/multipart.FileHeader'
    required:
    - stamps
    type: object
  api.FarmExporterReq:
    properties:
      exporter_id:
        type: integer
      farmer_id:
        type: integer
    required:
    - exporter_id
    - farmer_id
    type: object
  api.FarmerCountRes:
    properties:
      active_farmers:
        type: integer
      deactivated_farmers:
        type: integer
      inactive_farmers:
        type: integer
      redflagged:
        type: integer
    type: object
  api.FarmerExporter:
    properties:
      exportcompany_id:
        type: integer
      farmers:
        items:
          type: integer
        type: array
    required:
    - exportcompany_id
    - farmers
    type: object
  api.FarmerFarmsreq:
    properties:
      farmer_id:
        type: integer
      farms:
        items:
          $ref: '#/definitions/api.FarmsRequest'
        type: array
    required:
    - farmer_id
    - farms
    type: object
  api.FarmerOTP:
    properties:
      phone:
        type: string
    required:
    - phone
    type: object
  api.FarmerProduce:
    properties:
      acreage:
        type: integer
      crop_id:
        type: integer
      planting_date:
        type: string
      risk_status:
        type: string
    required:
    - acreage
    - crop_id
    - planting_date
    - risk_status
    type: object
  api.FarmerTxRequest:
    properties:
      contacts:
        items:
          $ref: '#/definitions/api.ContactsRequest'
        type: array
      farms:
        items:
          $ref: '#/definitions/db.FarmsRequestTx'
        type: array
      fmid:
        type: string
      fmidtype:
        type: string
      fmname:
        type: string
      fmphone:
        type: string
    required:
    - contacts
    - farms
    - fmid
    - fmidtype
    - fmname
    - fmphone
    type: object
  api.FarmerTypeTraceability:
    properties:
      created_at:
        type: string
      fmcode:
        $ref: '#/definitions/sql.NullString'
      fmemail:
        $ref: '#/definitions/sql.NullString'
      fmid:
        type: string
      fmidtype:
        type: string
      fmname:
        type: string
      fmphone:
        type: string
      fmphoto:
        $ref: '#/definitions/sql.NullString'
      id:
        type: integer
      isverified:
        type: boolean
      status:
        type: string
    type: object
  api.FarmerVerification:
    properties:
      otp:
        type: string
      phone:
        type: string
    required:
    - otp
    - phone
    type: object
  api.FarmsRequest:
    properties:
      acreage:
        type: number
      crop_id:
        type: integer
      district:
        type: integer
      lat:
        type: number
      long:
        type: number
      parish:
        type: integer
      planting_date:
        type: string
      subcounty:
        type: integer
      village:
        type: integer
    required:
    - acreage
    - crop_id
    - district
    - lat
    - long
    - parish
    - planting_date
    - subcounty
    - village
    type: object
  api.FetchCompletedCountInspectionsRes:
    properties:
      packinglists:
        type: integer
      qcp1s:
        type: integer
      qcp2s:
        type: integer
      qcp3s:
        type: integer
      receptionforms:
        type: integer
    type: object
  api.FetchRedFlagsRow:
    properties:
      created_at:
        type: string
      cropname:
        type: string
      fmname:
        type: string
      fullname:
        type: string
      id:
        type: integer
      isactive:
        type: boolean
      reason:
        type: string
      stage:
        type: string
      status:
        $ref: '#/definitions/sql.NullString'
      status_2:
        $ref: '#/definitions/sql.NullString'
      traceability_code:
        type: string
    type: object
  api.FilterClientRequest:
    properties:
      session_id:
        type: string
    type: object
  api.FinalReceptionReq:
    properties:
      receptionform_id:
        type: integer
      session_id:
        type: string
    required:
    - receptionform_id
    - session_id
    type: object
  api.GetFarmerBasedCropRow:
    properties:
      cropname:
        type: string
      farmer_id:
        type: integer
      fmcode:
        $ref: '#/definitions/sql.NullString'
      fmname:
        type: string
      id:
        type: integer
      traceability_code:
        type: string
      variant:
        type: string
    type: object
  api.HarvestTraceabiliity:
    properties:
      harvest_balance:
        type: number
      traceability_code:
        type: string
    required:
    - harvest_balance
    - traceability_code
    type: object
  api.InspectionReportReq:
    properties:
      consignment_no:
        type: string
      instructions:
        $ref: '#/definitions/api.PackhouseInstructions'
      notes:
        type: string
      other:
        type: string
      session_id:
        type: string
    required:
    - consignment_no
    - instructions
    - session_id
    type: object
  api.InterceptionNotice:
    properties:
      consignment_no:
        type: string
      instructions:
        type: string
      notes:
        type: string
      session_id:
        type: string
    required:
    - consignment_no
    - instructions
    type: object
  api.ListPendingQcp4sRowType:
    properties:
      consignment_no:
        $ref: '#/definitions/sql.NullString'
      created_at:
        type: string
      cropname:
        $ref: '#/definitions/sql.NullString'
      fullname:
        $ref: '#/definitions/sql.NullString'
      order_id:
        $ref: '#/definitions/sql.NullInt32'
      qcp4_id:
        type: integer
      status:
        type: string
      traceability_code:
        $ref: '#/definitions/sql.NullString'
      user_id:
        type: integer
    type: object
  api.ListPendingQcp5sRowType:
    properties:
      consignment_no:
        $ref: '#/definitions/sql.NullString'
      created_at:
        type: string
      cropname:
        $ref: '#/definitions/sql.NullString'
      fullname:
        $ref: '#/definitions/sql.NullString'
      order_id:
        $ref: '#/definitions/sql.NullInt32'
      qcp5_id:
        type: integer
      status:
        type: string
      traceability_code:
        $ref: '#/definitions/sql.NullString'
      user_id:
        type: integer
    type: object
  api.ModeofTransportRequest:
    properties:
      motdescription:
        type: string
      to_destination:
        type: string
      to_exit:
        type: string
      to_packhouse:
        type: string
    required:
    - motdescription
    - to_destination
    - to_exit
    - to_packhouse
    type: object
  api.ModeofTransportResp:
    properties:
      created_at:
        type: string
      id:
        type: integer
      motdescription:
        type: string
      status:
        type: string
      todestination:
        type: boolean
      toexit:
        type: boolean
      topackhouse:
        type: boolean
    type: object
  api.Mot:
    properties:
      motdescription:
        type: string
      to_destination:
        type: boolean
      to_exit:
        type: boolean
      to_packhouse:
        type: boolean
    required:
    - motdescription
    - to_destination
    - to_exit
    - to_packhouse
    type: object
  api.NNPORequest:
    properties:
      email:
        type: string
      fullname:
        type: string
      nin:
        type: string
      phone:
        type: string
      regno:
        type: string
    required:
    - email
    - fullname
    - nin
    - phone
    - regno
    type: object
  api.OrderAllDetails:
    properties:
      client_id:
        type: integer
      exportcompany_id:
        type: integer
      id:
        type: integer
      products:
        items:
          $ref: '#/definitions/api.ProductWeight'
        type: array
      qualitycontroller_id:
        type: integer
    required:
    - client_id
    - exportcompany_id
    - id
    - products
    - qualitycontroller_id
    type: object
  api.OrderListResponse:
    properties:
      companyname:
        type: string
      consignment_no:
        type: string
      contactname:
        type: string
      countryname:
        type: string
      created_at:
        type: string
      cropsdetails:
        items:
          $ref: '#/definitions/db.CropsOnOrdersRow'
        type: array
      order_id:
        type: integer
      status:
        type: string
      user_id:
        type: integer
    type: object
  api.OrderRequest:
    properties:
      client_id:
        minimum: 1
        type: integer
      exportcompany_id:
        minimum: 1
        type: integer
      products:
        items:
          $ref: '#/definitions/api.ProductsArray'
        type: array
      qualitycontroller_id:
        minimum: 1
        type: integer
    required:
    - client_id
    - exportcompany_id
    - products
    - qualitycontroller_id
    type: object
  api.OrderRes:
    properties:
      client_id:
        type: integer
      consignment_no:
        $ref: '#/definitions/sql.NullString'
      created_at:
        type: string
      exportcompany_id:
        type: integer
      id:
        type: integer
      status:
        type: string
      user_id:
        type: integer
    type: object
  api.OrderResponse:
    properties:
      client_id:
        type: integer
      companyname:
        type: string
      countryname:
        type: string
      created_at:
        type: string
      exportcompany_id:
        type: integer
      order_id:
        type: integer
      packinglist_id:
        type: integer
      status:
        type: string
    type: object
  api.OrderStatus:
    properties:
      order_id:
        type: integer
      status:
        type: string
    required:
    - order_id
    - status
    type: object
  api.OtherDocsResponse:
    properties:
      description:
        type: string
      id:
        type: integer
      name:
        type: string
      plannedconsignments_id:
        type: string
    type: object
  api.PackBatchReq:
    properties:
      box_weight:
        type: number
      boxes:
        type: integer
      packlist_batch_id:
        type: integer
      product_net_weight:
        type: number
      total_gross_weight:
        type: number
      total_product_weight:
        type: number
    required:
    - box_weight
    - boxes
    - packlist_batch_id
    - product_net_weight
    - total_gross_weight
    - total_product_weight
    type: object
  api.PackHouseRequest:
    properties:
      contactemail:
        type: string
      contactname:
        type: string
      contactphone:
        type: string
      district:
        type: integer
      expiry_date:
        type: string
      lat:
        type: number
      long:
        type: number
      parish:
        type: integer
      phname:
        type: string
      phregno:
        type: string
      reg_status:
        type: string
      streetaddress:
        type: string
      village:
        type: integer
    required:
    - contactemail
    - contactname
    - contactphone
    - district
    - expiry_date
    - lat
    - long
    - parish
    - phname
    - phregno
    - reg_status
    - streetaddress
    - village
    type: object
  api.PackHouseResponse:
    properties:
      contactemail:
        type: string
      contactname:
        type: string
      contactphone:
        type: string
      created_at:
        type: string
      district_id:
        type: integer
      expirydate:
        type: string
      id:
        type: integer
      lat:
        type: number
      long:
        type: number
      parish_id:
        type: integer
      phname:
        type: string
      phregno:
        type: string
      regstatus:
        type: string
      streetaddress:
        type: string
      village_id:
        type: integer
    type: object
  api.PackHouseUp:
    properties:
      id:
        type: integer
      lat:
        type: number
      long:
        type: number
    required:
    - id
    - lat
    - long
    type: object
  api.PackOthers:
    properties:
      box_weight:
        type: number
      crop_id:
        type: integer
      packinglist_id:
        type: integer
      product_name:
        type: string
      product_net_weight:
        type: number
      total_boxes:
        type: integer
      total_gross_weight:
        type: number
      total_product_weight:
        type: number
    required:
    - packinglist_id
    - product_name
    - total_boxes
    type: object
  api.PackageTypeRequest:
    properties:
      pgcode:
        type: string
      pgdescription:
        type: string
    required:
    - pgcode
    - pgdescription
    type: object
  api.PackhouseInstructions:
    enum:
    - None
    - Re-Sort
    - Re-Document
    - Other
    type: string
    x-enum-varnames:
    - None
    - Resort
    - ReDocument
    - Other
  api.PackhouseList:
    properties:
      contactemail:
        $ref: '#/definitions/sql.NullString'
      contactname:
        $ref: '#/definitions/sql.NullString'
      contactphone:
        $ref: '#/definitions/sql.NullString'
      phname:
        $ref: '#/definitions/sql.NullString'
      phregno:
        $ref: '#/definitions/sql.NullString'
      streetaddress:
        $ref: '#/definitions/sql.NullString'
    type: object
  api.PackhouseTypeResponse:
    properties:
      contactemail:
        type: string
      contactname:
        type: string
      contactphone:
        type: string
      created_at:
        type: string
      district_id:
        type: integer
      expirydate:
        type: string
      id:
        type: integer
      lat:
        type: number
      long:
        type: number
      parish_id:
        type: integer
      phname:
        type: string
      phregno:
        type: string
      regstatus:
        type: string
      streetaddress:
        type: string
      village_id:
        type: integer
    type: object
  api.PackhouseUpdate:
    properties:
      id:
        type: integer
      status:
        type: string
    required:
    - id
    - status
    type: object
  api.PackingListRequest:
    properties:
      box_weight:
        type: number
      crop_id:
        type: integer
      order_id:
        type: integer
      packinglist_id:
        type: integer
      plp_id:
        type: integer
      product_net_weight:
        type: number
      total_boxes:
        type: integer
      total_gross_weight:
        type: number
      total_product_weight:
        type: number
      total_weight:
        type: number
      traceability_code:
        type: string
    required:
    - box_weight
    - crop_id
    - order_id
    - packinglist_id
    - plp_id
    - product_net_weight
    - total_boxes
    - total_gross_weight
    - total_product_weight
    - total_weight
    - traceability_code
    type: object
  api.PackinglistDetailsResponse:
    properties:
      box_weight:
        type: number
      crop_id:
        type: integer
      crophscode:
        type: string
      cropname:
        type: string
      exportcompany_id:
        type: integer
      packinglist_product_status:
        type: string
      plp_id:
        type: integer
      product_net_weight:
        type: number
      risk_status:
        type: string
      status:
        type: string
      total_boxes:
        type: integer
      total_gross_weight:
        type: number
      total_product_weight:
        type: number
      traceability_code:
        type: string
    type: object
  api.PackinglistResponse:
    properties:
      company_name:
        type: string
      created_at:
        type: string
      destination:
        type: string
      order_id:
        type: integer
      packinglist_id:
        type: integer
      status:
        type: string
      user_id:
        type: integer
      username:
        type: string
    type: object
  api.Parish:
    properties:
      parish:
        type: string
      subcounty:
        type: integer
    required:
    - parish
    - subcounty
    type: object
  api.ParishCreate:
    properties:
      code:
        type: string
      parish:
        type: string
      subcounty_id:
        type: integer
    required:
    - code
    - parish
    - subcounty_id
    type: object
  api.ParishRes:
    properties:
      code:
        type: string
      created_at:
        type: string
      id:
        type: integer
      parish:
        type: string
      subcounty_id:
        type: integer
    type: object
  api.ParishTypeRes:
    properties:
      code:
        type: string
      created_at:
        type: string
      id:
        type: integer
      parish:
        type: string
      subcounty_id:
        type: integer
    type: object
  api.PasswordReset:
    properties:
      email:
        type: string
    required:
    - email
    type: object
  api.PlannedConsignmentDetailsResponse:
    properties:
      airline_id:
        type: integer
      airlinename:
        type: string
      country:
        type: string
      country_id:
        type: integer
      created_at:
        type: string
      end_date:
        type: string
      exit_date:
        type: string
      exithandler:
        type: string
      exithandler_id:
        type: integer
      exitpoint:
        type: string
      exitpoint_id:
        type: integer
      exportcompany:
        type: string
      exportcompany_id:
        type: integer
      modeoftransport:
        type: string
      motid:
        type: integer
      order_id:
        type: integer
      orders:
        items:
          $ref: '#/definitions/api.OrderResponse'
        type: array
      packhouse:
        type: string
      regno:
        type: string
      rexno:
        type: string
      start_date:
        type: string
      status:
        type: string
      user_id:
        type: integer
    type: object
  api.PlannedConsignmentDocumentResponse:
    properties:
      created_at:
        type: string
      description:
        type: string
      documentusage:
        type: string
      id:
        type: integer
      iscrop:
        type: boolean
      isglobal:
        type: boolean
      name:
        type: string
    type: object
  api.PlannedConsignmentOtherDocsResponse:
    properties:
      created_at:
        type: string
      description:
        type: string
      id:
        type: integer
      name:
        type: string
      plannedconsignments_id:
        type: string
    type: object
  api.PlannedConsignmentReponse:
    properties:
      consignment_no:
        type: string
      created_at:
        type: string
      end_date:
        type: string
      expname:
        type: string
      packhouse:
        type: string
      start_date:
        type: string
      status:
        type: string
    type: object
  api.PlannedConsignmentResponse:
    properties:
      created_at:
        type: string
      end_date:
        type: string
      exportcompany_id:
        type: integer
      id:
        type: string
      start_date:
        type: string
      status:
        type: string
      user_id:
        type: integer
    type: object
  api.PlannedConsignmentStatus:
    enum:
    - Submitted
    - Queried
    - Accepted
    - Completed
    type: string
    x-enum-varnames:
    - Submitted
    - Queried
    - Accepted
    - Completeds
  api.PlanningRequest:
    properties:
      end_date:
        type: string
      order_id:
        items:
          type: integer
        minItems: 1
        type: array
      session_id:
        type: string
      start_date:
        type: string
    required:
    - end_date
    - order_id
    - session_id
    - start_date
    type: object
  api.ProductDocTypeRequest:
    properties:
      pddocumentcode:
        type: string
      pddocumentdescription:
        type: string
    required:
    - pddocumentcode
    - pddocumentdescription
    type: object
  api.ProductDocumentTypeRes:
    properties:
      created_at:
        type: string
      id:
        type: integer
      pddocumentcode:
        type: string
      pddocumentdescription:
        type: string
    type: object
  api.ProductWeight:
    properties:
      crop_id:
        type: integer
      weight:
        type: number
    required:
    - crop_id
    - weight
    type: object
  api.ProductsArray:
    properties:
      crop_id:
        minimum: 1
        type: integer
      weight:
        minimum: 1
        type: number
    required:
    - crop_id
    - weight
    type: object
  api.QCP1RecommendationsRequest:
    properties:
      passed_weight:
        type: number
      qcp1_id:
        type: integer
      rejected_weight:
        type: number
      session_id:
        type: string
      status:
        type: string
    required:
    - qcp1_id
    - session_id
    - status
    type: object
  api.QCP3AttributesRequest:
    properties:
      other:
        type: string
      qcp3_id:
        type: integer
      qty_removed:
        type: number
      qty_taken:
        type: number
      qualityattributes:
        items:
          type: integer
        type: array
    required:
    - other
    - qcp3_id
    - qty_taken
    - qualityattributes
    type: object
  api.QCP3RecommendationRequest:
    properties:
      other:
        type: string
      passed_weight:
        type: number
      qcp3_id:
        type: integer
      reasonforrejection:
        type: string
      rejected_weight:
        type: number
      status:
        $ref: '#/definitions/api.RecommendationStatus'
    required:
    - passed_weight
    - qcp3_id
    - status
    type: object
  api.QCPListsType:
    properties:
      qcp1:
        type: string
      qcp2:
        type: string
      qcp3:
        type: string
    type: object
  api.Qcp1QrCodes:
    properties:
      created_at:
        type: string
      id:
        type: integer
      qrcode:
        type: string
      receptionform_id:
        type: integer
    type: object
  api.Qcp1RecommendationType:
    properties:
      created_at:
        type: string
      id:
        type: integer
      netweightpassed:
        $ref: '#/definitions/sql.NullFloat64'
      netweightrejected:
        type: number
      other:
        $ref: '#/definitions/sql.NullString'
      qcp1_id:
        type: integer
      status:
        type: string
    type: object
  api.Qcp1Req:
    properties:
      other:
        type: string
      percentage:
        type: number
      qcp1_id:
        type: integer
      qty_removed:
        type: number
      qty_taken:
        minimum: 1
        type: number
      qualityattribute_id:
        items:
          type: integer
        type: array
      traceability_code:
        type: string
    required:
    - other
    - qcp1_id
    - qty_taken
    - qualityattribute_id
    type: object
  api.Qcp1Request:
    properties:
      consignment_no:
        type: string
      crop_id:
        type: integer
      farmer_id:
        type: integer
      order_id:
        type: integer
      session_id:
        type: string
      status:
        type: string
    required:
    - consignment_no
    - crop_id
    - farmer_id
    - order_id
    - session_id
    - status
    type: object
  api.Qcp1Response:
    properties:
      batches:
        type: integer
      client:
        type: string
      consignment_no:
        type: string
      country:
        type: string
      created_at:
        type: string
      cropname:
        type: string
      fmcode:
        type: string
      fmname:
        type: string
      fullname:
        type: string
      id:
        type: integer
      order_id:
        type: integer
      qcp1_id:
        type: integer
      status:
        type: string
      traceability_code:
        type: string
      user_id:
        type: integer
      weightpassed:
        type: number
    type: object
  api.Qcp2AttributesRequest:
    properties:
      other:
        type: string
      qcp2_id:
        minimum: 1
        type: integer
      qty_removed:
        type: number
      qty_taken:
        type: number
      qualityattributes:
        items:
          type: integer
        type: array
    required:
    - qcp2_id
    - qty_taken
    - qualityattributes
    type: object
  api.Qcp2RecommendationsRequest:
    properties:
      other:
        type: string
      passed_weight:
        type: number
      qcp2_id:
        minimum: 1
        type: integer
      rejected_weight:
        type: number
      status:
        type: string
    required:
    - passed_weight
    - qcp2_id
    - status
    type: object
  api.Qcp2Response:
    properties:
      batch_no:
        type: string
      clientname:
        type: string
      consignment_no:
        type: string
      country:
        type: string
      created_at:
        type: string
      crop_name:
        type: string
      fmname:
        type: string
      fullname:
        type: string
      order_id:
        type: integer
      qcp2_id:
        type: integer
      qcp2_status:
        type: string
      traceability_code:
        type: string
      user_id:
        type: integer
    type: object
  api.Qcp2sCompanyReport:
    properties:
      status:
        type: string
    required:
    - status
    type: object
  api.Qcp3RecommendationResType:
    properties:
      created_at:
        type: string
      id:
        type: integer
      netweightpassed:
        $ref: '#/definitions/sql.NullFloat64'
      netweightrejected:
        type: number
      other:
        $ref: '#/definitions/sql.NullString'
      qcp3_id:
        type: integer
      reasonforrejection:
        $ref: '#/definitions/sql.NullString'
      status:
        type: string
    type: object
  api.Qcp3Response:
    properties:
      batch_no:
        type: string
      client:
        type: string
      consignment_no:
        type: string
      country:
        type: string
      created_at:
        type: string
      crop_id:
        type: integer
      crop_name:
        type: string
      fmname:
        type: string
      fullname:
        type: string
      order_id:
        type: integer
      qcp3_id:
        type: integer
      qcp3_status:
        type: string
      traceability_code:
        type: string
      user_id:
        type: integer
    type: object
  api.Qcp4AttributeResponse:
    properties:
      qcp4_id:
        type: integer
      qcp4_product_id:
        type: integer
      qualityattributes_id:
        type: integer
    type: object
  api.Qcp4DetailsResponse:
    properties:
      qcp4_attributes:
        items:
          $ref: '#/definitions/api.Qcp4AttributeResponse'
        type: array
      qcp4_other_attributes:
        items:
          $ref: '#/definitions/api.Qcp4OtherAttributeResponse'
        type: array
      qcp4_others:
        items:
          $ref: '#/definitions/api.Qcp4OtherResponse'
        type: array
      qcp4_products:
        items:
          $ref: '#/definitions/api.Qcp4Response'
        type: array
      qcp4_recommendations:
        items:
          $ref: '#/definitions/api.Qcp4RecommendationResponse'
        type: array
    type: object
  api.Qcp4OtherAttributeResponse:
    properties:
      qcp4_id:
        type: integer
      qcp4_other_id:
        type: integer
      qualityattributes_id:
        type: integer
    type: object
  api.Qcp4OtherResponse:
    properties:
      boxweight:
        type: number
      noofboxes:
        type: integer
      packinglist_id:
        type: integer
      product_name:
        type: string
      productnetweight:
        type: number
      qcp4_order_id:
        type: integer
      qcp4_rowid:
        type: integer
      sampled_boxes:
        type: integer
      status:
        type: string
      total_product_grossweight:
        type: number
      total_product_weight:
        type: number
    required:
    - boxweight
    - productnetweight
    - total_product_grossweight
    - total_product_weight
    type: object
  api.Qcp4RecommendationRequest:
    properties:
      passed_weight:
        type: number
      rejected_weight:
        type: number
      rejection_reason:
        type: string
      status:
        type: string
    required:
    - status
    type: object
  api.Qcp4RecommendationResponse:
    properties:
      qcp4_id:
        type: integer
      qcp4_product_id:
        type: integer
      reason:
        $ref: '#/definitions/sql.NullString'
      status:
        type: string
      weight_passed:
        type: number
      weight_rejected:
        type: number
    type: object
  api.Qcp4Response:
    properties:
      boxweight:
        type: number
      packinglist_id:
        type: integer
      product_id:
        type: integer
      productname:
        type: string
      productnetweight:
        type: number
      qcp4_order_id:
        type: integer
      qcp4_rowid:
        type: integer
      sampledboxes:
        type: integer
      status:
        type: string
      total_boxes:
        type: integer
      total_product_grossweight:
        type: number
      total_product_weight:
        type: number
      traceability_code:
        type: string
    required:
    - boxweight
    - productnetweight
    - total_product_grossweight
    - total_product_weight
    type: object
  api.Qcp5AttributeResponse:
    properties:
      qcp5_id:
        type: integer
      qcp5_product_id:
        type: integer
      qualityattributes_id:
        type: integer
    type: object
  api.Qcp5DetailsTypeResponse:
    properties:
      qcp5_attributes:
        items:
          $ref: '#/definitions/api.Qcp5AttributeResponse'
        type: array
      qcp5_other_attributes:
        items:
          $ref: '#/definitions/api.Qcp5OtherAttributeResponse'
        type: array
      qcp5_others:
        items:
          $ref: '#/definitions/api.Qcp5OtherResponse'
        type: array
      qcp5_products:
        items:
          $ref: '#/definitions/api.Qcp5Response'
        type: array
      qcp5_recommendations:
        items:
          $ref: '#/definitions/api.Qcp5RecommendationResponse'
        type: array
    type: object
  api.Qcp5InspectionReportReq:
    properties:
      consignment_no:
        type: string
      exportcompany_id:
        type: integer
      notes:
        type: string
    required:
    - consignment_no
    - exportcompany_id
    type: object
  api.Qcp5InspectionRequest:
    properties:
      box_weight:
        type: number
      boxes:
        type: integer
      exportcompany_id:
        type: integer
      order_id:
        type: integer
      packinglist_id:
        type: integer
      packinglist_products_id:
        type: integer
      qcp5_attributes:
        items:
          type: integer
        type: array
      qcp5_id:
        type: integer
      qcp5_recommendations:
        $ref: '#/definitions/api.Qcp4RecommendationRequest'
      qcp5product_id:
        type: integer
      sampledboxes:
        type: integer
      session_id:
        type: string
      traceability_code:
        type: string
    required:
    - exportcompany_id
    type: object
  api.Qcp5OtherAttributeResponse:
    properties:
      qcp5_id:
        type: integer
      qcp5_other_id:
        type: integer
      qualityattributes_id:
        type: integer
    type: object
  api.Qcp5OtherInspectionRequest:
    properties:
      boxes:
        type: integer
      exportcompany_id:
        type: integer
      packinglist_products_id:
        type: integer
      qcp5_attributes:
        items:
          type: integer
        type: array
      qcp5_id:
        type: integer
      qcp5_recommendations:
        $ref: '#/definitions/api.Qcp4RecommendationRequest'
      qcp5product_id:
        type: integer
      sampledboxes:
        type: integer
      session_id:
        type: string
    type: object
  api.Qcp5OtherResponse:
    properties:
      boxweight:
        type: number
      noofboxes:
        type: integer
      order_id:
        type: integer
      otherattributes:
        items:
          $ref: '#/definitions/db.Qcp5OtherAttributesContentRow'
        type: array
      product_name:
        type: string
      productnetweight:
        type: number
      qcp5_rowid:
        type: integer
      recommendations:
        $ref: '#/definitions/db.Qcp5Otherrecommendation'
      sampled_boxes:
        type: integer
      status:
        type: string
      total_product_grossweight:
        type: number
      total_product_weight:
        type: number
    required:
    - boxweight
    - productnetweight
    - total_product_grossweight
    - total_product_weight
    type: object
  api.Qcp5RecommendationResponse:
    properties:
      qcp5_id:
        type: integer
      qcp5_product_id:
        type: integer
      reason:
        $ref: '#/definitions/sql.NullString'
      status:
        type: string
      weight_passed:
        type: number
      weight_rejected:
        type: number
    type: object
  api.Qcp5Response:
    properties:
      attributes:
        items:
          $ref: '#/definitions/db.Qcp5AttributesContentRow'
        type: array
      boxweight:
        type: number
      order_id:
        type: integer
      packinglist_id:
        type: integer
      product_id:
        type: integer
      productname:
        type: string
      productnetweight:
        type: number
      qcp5_rowid:
        type: integer
      recommendation:
        $ref: '#/definitions/db.Qcp5Recommendation'
      sampledboxes:
        type: integer
      status:
        type: string
      total_boxes:
        type: integer
      total_product_grossweight:
        type: number
      total_product_weight:
        type: number
      traceability_code:
        type: string
    required:
    - boxweight
    - productnetweight
    - total_product_grossweight
    - total_product_weight
    type: object
  api.Qcp5StatusReq:
    properties:
      consignment_no:
        type: string
      consignment_status:
        type: string
      documentdate:
        type: string
      documentnumber:
        type: string
      exportcompany_id:
        type: integer
      instructions:
        type: string
      passedweight:
        type: number
      reason:
        type: string
      rejectedweight:
        type: number
      target:
        type: string
    required:
    - consignment_no
    - consignment_status
    - exportcompany_id
    type: object
  api.QcpEmailResponse:
    properties:
      email:
        type: string
      fullname:
        type: string
      id:
        type: integer
      phone:
        type: string
    type: object
  api.QcpReqEmail:
    properties:
      email:
        type: string
    required:
    - email
    type: object
  api.QualityAttributeRequest:
    properties:
      description:
        type: string
      qcp1:
        type: string
      qcp2:
        type: string
      qcp3:
        type: string
      qcp4:
        type: string
      qcp5:
        type: string
      receptionform:
        type: string
    required:
    - description
    - qcp1
    - qcp2
    - qcp3
    - qcp4
    - qcp5
    - receptionform
    type: object
  api.QualityTypeAttribute:
    properties:
      created_at:
        type: string
      description:
        type: string
      id:
        type: integer
      qcp1:
        type: boolean
      qcp2:
        type: boolean
      qcp3:
        type: boolean
      qcp4:
        type: boolean
      qcp5:
        type: boolean
      receptionform:
        type: boolean
      status:
        type: string
    type: object
  api.QualityattributeResType:
    properties:
      created_at:
        type: string
      description:
        type: string
      id:
        type: integer
      qcp1:
        type: boolean
      qcp2:
        type: boolean
      qcp3:
        type: boolean
      qcp4:
        type: boolean
      qcp5:
        type: boolean
      receptionform:
        type: boolean
      status:
        type: string
    type: object
  api.ReasonRejectionRequest:
    properties:
      reasoncode:
        type: string
      reasondescription:
        type: string
    required:
    - reasoncode
    - reasondescription
    type: object
  api.ReasonTyperejection:
    properties:
      created_at:
        type: string
      id:
        type: integer
      reasoncode:
        type: string
      reasondescription:
        type: string
    type: object
  api.ReceptionCountType:
    properties:
      pending:
        type: string
      rejected:
        type: string
      submitted:
        type: string
    type: object
  api.ReceptionDocumentsRequests:
    properties:
      document:
        $ref: '#/definitions/multipart.FileHeader'
      document_id:
        type: integer
      reception_id:
        type: integer
    required:
    - document
    - document_id
    - reception_id
    type: object
  api.ReceptionFormAttributesRequest:
    properties:
      others:
        type: string
      percentage:
        type: number
      qty_removed:
        type: number
      qty_taken:
        type: number
      qualityattributes:
        items:
          type: integer
        type: array
      receptionform_id:
        type: integer
    required:
    - receptionform_id
    type: object
  api.ReceptionFormRequest:
    properties:
      batches:
        minimum: 1
        type: integer
      carnumberplate:
        type: string
      crop_id:
        minimum: 1
        type: integer
      deliverytime:
        type: string
      driversname:
        type: string
      finalharvestbalance:
        type: number
      modeoftransport_id:
        minimum: 1
        type: integer
      netweight:
        minimum: 1
        type: number
      order_id:
        minimum: 1
        type: integer
      previousharvestbalance:
        type: number
      quantityrejected:
        type: number
      session_id:
        type: string
      status:
        type: string
      supplier_id:
        type: integer
      traceability_code:
        type: string
    required:
    - batches
    - carnumberplate
    - crop_id
    - deliverytime
    - driversname
    - modeoftransport_id
    - netweight
    - order_id
    - session_id
    - status
    - supplier_id
    - traceability_code
    type: object
  api.ReceptionTypeResponse:
    properties:
      receptiondetails:
        type: string
      signature:
        type: string
      stamp:
        type: string
    type: object
  api.ReceptionformType:
    properties:
      batches:
        type: integer
      carnumberplate:
        type: string
      created_at:
        type: string
      crop_id:
        type: integer
      deliverytime:
        type: string
      driversname:
        type: string
      exportcompany_id:
        type: integer
      finalharvestbalance:
        type: number
      id:
        type: integer
      modeoftransport_id:
        type: integer
      netweight:
        type: number
      order_id:
        type: integer
      packhouse_id:
        type: integer
      phytostatus:
        type: string
      previousharvestbalance:
        type: number
      quantityrejected:
        type: number
      score:
        type: integer
      status:
        type: string
      supplier_id:
        type: integer
      traceability_code:
        type: string
      user_id:
        type: integer
    type: object
  api.RecommendationStatus:
    enum:
    - FitForExport
    - Rejected
    - Resorting
    type: string
    x-enum-varnames:
    - FitForExport
    - Rejected
    - Resorting
  api.RedFlagReq:
    properties:
      crop_id:
        minimum: 1
        type: integer
      farmer_id:
        minimum: 1
        type: integer
      reason:
        type: string
      redflag:
        $ref: '#/definitions/api.RedFlagStage'
      traceability_code:
        type: string
    required:
    - crop_id
    - farmer_id
    - reason
    - redflag
    - traceability_code
    type: object
  api.RedFlagStage:
    enum:
    - ReceptionForm
    - Qcp1
    - Qcp2
    - Qcp3
    - FarmerFarms
    type: string
    x-enum-varnames:
    - ReceptionForm
    - Qcp_1
    - Qcp_2
    - Qcp_3
    - FarmerFarms
  api.RegStatuses:
    properties:
      id:
        type: integer
      status:
        type: string
    type: object
  api.RejectionRequest:
    properties:
      rejectioncode:
        type: string
      rejectiondescription:
        type: string
    required:
    - rejectioncode
    - rejectiondescription
    type: object
  api.RejectionType:
    properties:
      created_at:
        type: string
      id:
        type: integer
      rejectioncode:
        type: string
      rejectiondescription:
        type: string
    type: object
  api.RemoveRedFlags:
    properties:
      redflag_id:
        type: integer
    required:
    - redflag_id
    type: object
  api.ReportTypeResponse:
    properties:
      exporter_signature:
        type: string
      exporter_stamp:
        type: string
      inspector_stamp:
        type: string
      reports: {}
      suppliers:
        items: {}
        type: array
    type: object
  api.ReturnOrderByExportCompanyRow:
    properties:
      client_id:
        type: integer
      companyname:
        type: string
      consignment_no:
        $ref: '#/definitions/sql.NullString'
      country_id:
        type: integer
      countryname:
        type: string
      created_at:
        type: string
      exportcompany_id:
        type: integer
      order_id:
        type: integer
      status:
        type: string
    type: object
  api.RoasterRes:
    properties:
      date:
        type: string
      dayshift:
        type: boolean
      exitpoint_id:
        type: integer
      expcode:
        type: string
      expdescription:
        type: string
      fullname:
        type: string
      nightshift:
        type: boolean
      status:
        type: string
      user_id:
        type: integer
    type: object
  api.RoleRes:
    properties:
      created_at:
        type: string
      description:
        type: string
      exportcompany_id:
        $ref: '#/definitions/sql.NullInt32'
      id:
        type: integer
      name:
        type: string
    type: object
  api.Server:
    type: object
  api.SessionInfo:
    properties:
      exportcompany:
        type: string
      exportcompany_id:
        type: integer
      lat:
        type: number
      long:
        type: number
      packhouse:
        type: string
      packhouse_id:
        type: integer
    type: object
  api.StatusReq:
    properties:
      consignment_no:
        type: string
      reason:
        type: string
      status:
        $ref: '#/definitions/api.PlannedConsignmentStatus'
    required:
    - consignment_no
    - status
    type: object
  api.StatusReqIn:
    properties:
      crop_id:
        type: integer
      status:
        type: string
    type: object
  api.SubCountyRequest:
    properties:
      district_id:
        type: integer
      subcountycode:
        type: string
      subcountyname:
        type: string
    required:
    - district_id
    - subcountycode
    - subcountyname
    type: object
  api.SubmissionReq:
    properties:
      consignment_no:
        type: string
    required:
    - consignment_no
    type: object
  api.SuccessTypeResponse:
    properties:
      success:
        type: string
    type: object
  api.SupportAccountRequest:
    properties:
      email:
        type: string
      fullname:
        type: string
      nin:
        type: string
      phone:
        type: string
      regno:
        type: string
    required:
    - email
    - fullname
    - nin
    - phone
    - regno
    type: object
  api.SwitchRequest:
    properties:
      user_id:
        type: integer
      user_type:
        $ref: '#/definitions/api.UserRoles'
    required:
    - user_id
    - user_type
    type: object
  api.ToggleReq:
    properties:
      status:
        type: string
      user_id:
        type: integer
    required:
    - status
    - user_id
    type: object
  api.TrackStatusReq:
    properties:
      comment:
        type: string
      session_id:
        type: string
      truck_instructions:
        $ref: '#/definitions/api.TruckInstructions'
    required:
    - session_id
    - truck_instructions
    type: object
  api.TruckHygieneRequest:
    properties:
      checklist:
        items:
          type: integer
        type: array
      consignment_no:
        type: string
      date:
        type: string
      detergents_used:
        type: string
      refrigation_status:
        type: string
    required:
    - consignment_no
    - date
    - detergents_used
    - refrigation_status
    type: object
  api.TruckHygieneTypeResponse:
    properties:
      checklist:
        items: {}
        type: array
      reports: {}
      truckimage:
        type: string
    type: object
  api.TruckHygieneUpdate:
    properties:
      checklist:
        items:
          type: integer
        type: array
      consignment_no:
        type: string
      date:
        type: string
      detergents_used:
        type: string
      id:
        type: integer
      refrigation_status:
        type: string
    required:
    - consignment_no
    - date
    - detergents_used
    - id
    - refrigation_status
    type: object
  api.TruckInstructions:
    enum:
    - CleanTruck
    - UseOtherMeans
    type: string
    x-enum-varnames:
    - CleanTruck
    - UseOtherMeans
  api.UpdaeDistrictReq:
    properties:
      code:
        type: string
      id:
        type: integer
      name:
        type: string
    required:
    - code
    - id
    - name
    type: object
  api.UpdateAirlineRequest:
    properties:
      airlinecode:
        type: string
      airlinename:
        type: string
      id:
        minimum: 1
        type: integer
    required:
    - airlinecode
    - airlinename
    - id
    type: object
  api.UpdateClientRequest:
    properties:
      companyname:
        type: string
      contactemail:
        type: string
      contactname:
        type: string
      contactphone:
        type: string
      country_id:
        minimum: 1
        type: integer
      exportcompany_id:
        minimum: 1
        type: integer
      id:
        minimum: 1
        type: integer
    required:
    - companyname
    - contactemail
    - contactname
    - contactphone
    - country_id
    - exportcompany_id
    - id
    type: object
  api.UpdateConsignmentReasonRejectionRequest:
    properties:
      crr_code:
        type: string
      crr_description:
        type: string
      id:
        minimum: 1
        type: integer
    required:
    - crr_code
    - crr_description
    - id
    type: object
  api.UpdateConsignmentRejectionRequest:
    properties:
      cd_code:
        type: string
      cd_description:
        type: string
      id:
        minimum: 1
        type: integer
    required:
    - cd_code
    - cd_description
    - id
    type: object
  api.UpdateConsignmentRequest:
    properties:
      cd_code:
        type: string
      cd_description:
        type: string
      id:
        minimum: 1
        type: integer
    required:
    - cd_code
    - cd_description
    - id
    type: object
  api.UpdateEmailRequest:
    properties:
      email:
        minLength: 6
        type: string
      password:
        minLength: 6
        type: string
    required:
    - email
    - password
    type: object
  api.UpdateExitHandlerRequest:
    properties:
      exhcode:
        type: string
      exhdescription:
        type: string
      exitpoint_id:
        type: integer
      id:
        minimum: 1
        type: integer
    required:
    - exhcode
    - exhdescription
    - exitpoint_id
    - id
    type: object
  api.UpdateExitPointRequest:
    properties:
      district:
        type: integer
      expcode:
        type: string
      expdescription:
        type: string
      expwhatsapp:
        type: string
      id:
        type: integer
      mot_id:
        type: integer
      parish:
        type: integer
      village:
        type: integer
    required:
    - district
    - expcode
    - expdescription
    - expwhatsapp
    - id
    - mot_id
    - parish
    - village
    type: object
  api.UpdateExportCompanyRequest:
    properties:
      expaddress1:
        type: string
      expcompanyphone:
        type: string
      expdistrict:
        type: integer
      expemail:
        type: string
      expname:
        type: string
      expparish:
        type: integer
      expregno:
        type: string
      exprexno:
        type: string
      expvillage:
        type: integer
      id:
        type: integer
    required:
    - expaddress1
    - expcompanyphone
    - expdistrict
    - expemail
    - expname
    - expparish
    - expregno
    - exprexno
    - expvillage
    - id
    type: object
  api.UpdateModeOfTransportRequest:
    properties:
      id:
        type: integer
      motdescription:
        type: string
      to_destination:
        type: boolean
      to_exit:
        type: boolean
      to_packhouse:
        type: boolean
    required:
    - id
    - motdescription
    - to_destination
    - to_exit
    - to_packhouse
    type: object
  api.UpdateOrderRequest:
    properties:
      client_id:
        minimum: 1
        type: integer
      id:
        minimum: 1
        type: integer
    required:
    - client_id
    - id
    type: object
  api.UpdateOrderWeightReq:
    properties:
      crop_id:
        minimum: 1
        type: integer
      order_id:
        minimum: 1
        type: integer
      weight:
        type: number
    required:
    - crop_id
    - order_id
    - weight
    type: object
  api.UpdatePackHouseRequest:
    properties:
      contactemail:
        type: string
      contactname:
        type: string
      contactphone:
        type: string
      district:
        type: integer
      expiry_date:
        type: string
      lat:
        type: number
      long:
        type: number
      packhouse_id:
        type: integer
      parish:
        type: integer
      phname:
        type: string
      phregno:
        type: string
      streetaddress:
        type: string
      village:
        type: integer
    required:
    - contactemail
    - contactname
    - contactphone
    - district
    - expiry_date
    - lat
    - long
    - packhouse_id
    - parish
    - phname
    - phregno
    - streetaddress
    - village
    type: object
  api.UpdatePackageTypeRequest:
    properties:
      id:
        type: integer
      pgcode:
        type: string
      pgdescription:
        type: string
    required:
    - id
    - pgcode
    - pgdescription
    type: object
  api.UpdateParishReq:
    properties:
      code:
        type: string
      id:
        type: integer
      parish:
        type: string
      subcounty_id:
        type: integer
    type: object
  api.UpdateProductDocumentTypeRequest:
    properties:
      id:
        minimum: 1
        type: integer
      pddocumentcode:
        type: string
      pddocumentdescription:
        type: string
    required:
    - id
    type: object
  api.UpdateProductRequest:
    properties:
      ciccode:
        type: string
      crophscode:
        type: string
      cropname:
        type: string
      id:
        minimum: 1
        type: integer
      riskstatus:
        type: string
    required:
    - ciccode
    - crophscode
    - cropname
    - id
    - riskstatus
    type: object
  api.UpdateQualityAttributeRequest:
    properties:
      description:
        type: string
      id:
        minimum: 1
        type: integer
    required:
    - description
    - id
    type: object
  api.UpdateReasonRejectionRequest:
    properties:
      id:
        minimum: 1
        type: integer
      pddocumentcode:
        type: string
      pddocumentdescription:
        type: string
    required:
    - id
    type: object
  api.UpdateReceptionFormAttributesRequest:
    properties:
      id:
        type: integer
      others:
        type: string
      percentage:
        type: number
      qty_removed:
        type: number
      qty_taken:
        type: number
      qualityattributes:
        items:
          type: integer
        type: array
      receptionform_id:
        type: integer
    required:
    - receptionform_id
    type: object
  api.UpdateRedFlags:
    properties:
      reason:
        type: string
      redflag_id:
        type: integer
      status:
        type: string
    required:
    - reason
    - redflag_id
    - status
    type: object
  api.UpdateRejectionRequest:
    properties:
      id:
        minimum: 1
        type: integer
      rejectioncode:
        type: string
      rejectiondescription:
        type: string
    required:
    - id
    type: object
  api.UpdateReq:
    properties:
      packinglist_details:
        items:
          $ref: '#/definitions/api.PackingListRequest'
        type: array
      packinglist_id:
        type: integer
      packinglist_others:
        items:
          $ref: '#/definitions/api.PackOthers'
        type: array
    type: object
  api.UpdateReqLink:
    properties:
      confirmpassword:
        type: string
      password:
        type: string
      session_id:
        type: string
    required:
    - confirmpassword
    - password
    - session_id
    type: object
  api.UpdateStatusReq:
    properties:
      consignment_no:
        type: string
      packinglist_ids:
        items:
          type: integer
        type: array
    required:
    - consignment_no
    type: object
  api.UpdateSubcountyRequest:
    properties:
      district_id:
        type: integer
      id:
        minimum: 1
        type: integer
      subcountycode:
        type: string
      subcountyname:
        type: string
    required:
    - district_id
    - id
    - subcountycode
    - subcountyname
    type: object
  api.UpdateUserRequest:
    properties:
      confirmpassword:
        minLength: 6
        type: string
      password:
        minLength: 6
        type: string
    required:
    - confirmpassword
    - password
    type: object
  api.UpdateVillageReq:
    properties:
      code:
        type: string
      id:
        type: integer
      parish_id:
        type: integer
      village:
        type: string
    required:
    - code
    - id
    - parish_id
    - village
    type: object
  api.UserDetailsReq:
    properties:
      fullname:
        type: string
      phone:
        type: string
    required:
    - fullname
    type: object
  api.UserExporterReq:
    properties:
      exporter_id:
        type: integer
      user_id:
        type: integer
    required:
    - exporter_id
    - user_id
    type: object
  api.UserResType:
    properties:
      created_at:
        type: string
      email:
        type: string
      fullname:
        type: string
      id:
        type: integer
      nin:
        $ref: '#/definitions/sql.NullString'
      password:
        type: string
      phone:
        type: string
      regno:
        $ref: '#/definitions/sql.NullString'
      signature:
        $ref: '#/definitions/sql.NullString'
      stamp:
        $ref: '#/definitions/sql.NullString'
      status:
        $ref: '#/definitions/sql.NullString'
      user_type:
        type: string
    type: object
  api.UserRoles:
    enum:
    - PACKHOUSE-INSPECTOR
    - DCIC-ADMIN
    - EXPORTER
    - QUALITY-CONTROLLER
    - MANAGER
    - BORDER-INSPECTOR
    type: string
    x-enum-varnames:
    - PACKHOUSEINSPECTOR
    - DCICADMIN
    - EXPORTER
    - QUALITYCONTROLLER
    - MANAGER
    - BORDERINSPECTOR
  api.UserStatusToggle:
    properties:
      status:
        type: string
      user_id:
        type: integer
      user_type:
        type: string
    required:
    - status
    - user_id
    - user_type
    type: object
  api.VillageCreate:
    properties:
      code:
        type: string
      name:
        type: string
      parish_id:
        type: integer
    required:
    - code
    - name
    - parish_id
    type: object
  api.VillageRes:
    properties:
      code:
        type: string
      created_at:
        type: string
      id:
        type: integer
      parish_id:
        type: integer
      village:
        type: string
    type: object
  api.VillageResp:
    properties:
      code:
        type: string
      created_at:
        type: string
      district_code:
        type: string
      district_id:
        type: integer
      district_name:
        type: string
      id:
        type: integer
      parish:
        type: string
      parish_id:
        type: integer
      subcounty_id:
        type: integer
      village:
        type: string
    type: object
  api.VillageRespi:
    properties:
      code:
        type: string
      created_at:
        type: string
      id:
        type: integer
      parish_id:
        type: integer
      village:
        type: string
    type: object
  api.ZonReq:
    properties:
      districts:
        items:
          type: integer
        type: array
      zone_name:
        type: string
    required:
    - districts
    - zone_name
    type: object
  api.loginUserRequest:
    properties:
      email:
        type: string
      password:
        minLength: 6
        type: string
    required:
    - email
    - password
    type: object
  api.loginUserResponse:
    properties:
      access_token:
        type: string
      access_token_expires_at:
        type: string
      details:
        $ref: '#/definitions/db.Exitpoint'
      exitpoint_id:
        type: integer
      refresh_token:
        type: string
      refresh_token_expires_at:
        type: string
      session_id:
        type: string
      user:
        $ref: '#/definitions/api.CreateUserResponse'
    type: object
  api.logoReq:
    properties:
      exportcompany_id:
        type: integer
      logo:
        $ref: '#/definitions/multipart.FileHeader'
    required:
    - exportcompany_id
    - logo
    type: object
  api.subcountyRes:
    properties:
      code:
        type: string
      created_at:
        type: string
      district_id:
        type: integer
      id:
        type: integer
      name:
        type: string
    type: object
  api.trackhygienelist:
    properties:
      created_at:
        type: string
      id:
        type: integer
      requirement:
        type: string
      type:
        type: string
    type: object
  big.Int:
    type: object
  db.CropsOnOrdersRow:
    properties:
      cropname:
        type: string
      id:
        type: integer
      variant:
        type: string
      weight:
        type: number
      weightreceived:
        $ref: '#/definitions/sql.NullFloat64'
    type: object
  db.Exitpoint:
    properties:
      created_at:
        type: string
      district_id:
        type: integer
      expcode:
        type: string
      expdescription:
        type: string
      expwhatsapp:
        type: string
      id:
        type: integer
      latitude:
        type: number
      longtitude:
        type: number
      modeoftransport_id:
        type: integer
      parish_id:
        type: integer
      status:
        type: string
      village_id:
        type: integer
    type: object
  db.FarmsRequestTx:
    properties:
      acreage:
        type: number
      crop_id:
        type: integer
      district:
        type: integer
      lat:
        type: number
      long:
        type: number
      parish:
        type: integer
      planting_date:
        type: string
      subcounty:
        type: integer
      village:
        type: integer
    required:
    - acreage
    - crop_id
    - district
    - lat
    - long
    - parish
    - planting_date
    - subcounty
    - village
    type: object
  db.Qcp1:
    properties:
      created_at:
        type: string
      exportcompany_id:
        type: integer
      id:
        type: integer
      receptionform_id:
        type: integer
      status:
        type: string
      user_id:
        type: integer
      weightpassed:
        type: number
    type: object
  db.Qcp5AttributesContentRow:
    properties:
      description:
        type: string
      qcp5_id:
        type: integer
    type: object
  db.Qcp5OtherAttributesContentRow:
    properties:
      description:
        type: string
      product_name:
        type: string
    type: object
  db.Qcp5Otherrecommendation:
    properties:
      created_at:
        type: string
      exportcompany_id:
        type: integer
      id:
        type: integer
      qcp5_id:
        type: integer
      qcp5_others_id:
        type: integer
      reason:
        $ref: '#/definitions/sql.NullString'
      status:
        type: string
      user_id:
        type: integer
      weight_passed:
        type: number
      weight_rejected:
        type: number
    type: object
  db.Qcp5Recommendation:
    properties:
      created_at:
        type: string
      exportcompany_id:
        type: integer
      id:
        type: integer
      qcp5_id:
        type: integer
      qcp5_product_id:
        type: integer
      reason:
        $ref: '#/definitions/sql.NullString'
      status:
        type: string
      user_id:
        type: integer
      weight_passed:
        type: number
      weight_rejected:
        type: number
    type: object
  db.Store:
    type: object
  gin.Context:
    properties:
      accepted:
        description: Accepted defines a list of manually accepted formats for content
          negotiation.
        items:
          type: string
        type: array
      errors:
        description: Errors is a list of errors attached to all the handlers/middlewares
          who used this context.
        items:
          $ref: '#/definitions/gin.Error'
        type: array
      keys:
        additionalProperties: {}
        description: Keys is a key/value pair exclusively for the context of each
          request.
        type: object
      params:
        items:
          $ref: '#/definitions/gin.Param'
        type: array
      request:
        $ref: '#/definitions/http.Request'
      writer: {}
    type: object
  gin.Error:
    properties:
      err: {}
      meta: {}
      type:
        $ref: '#/definitions/gin.ErrorType'
    type: object
  gin.ErrorType:
    enum:
    - -9223372036854775808
    - 4611686018427387904
    - 1
    - 2
    - -1
    type: integer
    x-enum-varnames:
    - ErrorTypeBind
    - ErrorTypeRender
    - ErrorTypePrivate
    - ErrorTypePublic
    - ErrorTypeAny
  gin.H:
    additionalProperties: {}
    type: object
  gin.Param:
    properties:
      key:
        type: string
      value:
        type: string
    type: object
  http.Header:
    additionalProperties:
      items:
        type: string
      type: array
    type: object
  http.Request:
    properties:
      body:
        description: |-
          Body is the request's body.

          For client requests, a nil body means the request has no
          body, such as a GET request. The HTTP Client's Transport
          is responsible for calling the Close method.

          For server requests, the Request Body is always non-nil
          but will return EOF immediately when no body is present.
          The Server will close the request body. The ServeHTTP
          Handler does not need to.

          Body must allow Read to be called concurrently with Close.
          In particular, calling Close should unblock a Read waiting
          for input.
      cancel:
        description: |-
          Cancel is an optional channel whose closure indicates that the client
          request should be regarded as canceled. Not all implementations of
          RoundTripper may support Cancel.

          For server requests, this field is not applicable.

          Deprecated: Set the Request's context with NewRequestWithContext
          instead. If a Request's Cancel field and context are both
          set, it is undefined whether Cancel is respected.
        type: object
      close:
        description: |-
          Close indicates whether to close the connection after
          replying to this request (for servers) or after sending this
          request and reading its response (for clients).

          For server requests, the HTTP server handles this automatically
          and this field is not needed by Handlers.

          For client requests, setting this field prevents re-use of
          TCP connections between requests to the same hosts, as if
          Transport.DisableKeepAlives were set.
        type: boolean
      contentLength:
        description: |-
          ContentLength records the length of the associated content.
          The value -1 indicates that the length is unknown.
          Values >= 0 indicate that the given number of bytes may
          be read from Body.

          For client requests, a value of 0 with a non-nil Body is
          also treated as unknown.
        type: integer
      form:
        allOf:
        - $ref: '#/definitions/url.Values'
        description: |-
          Form contains the parsed form data, including both the URL
          field's query parameters and the PATCH, POST, or PUT form data.
          This field is only available after ParseForm is called.
          The HTTP client ignores Form and uses Body instead.
      header:
        allOf:
        - $ref: '#/definitions/http.Header'
        description: "Header contains the request header fields either received\nby
          the server or to be sent by the client.\n\nIf a server received a request
          with header lines,\n\n\tHost: example.com\n\taccept-encoding: gzip, deflate\n\tAccept-Language:
          en-us\n\tfOO: Bar\n\tfoo: two\n\nthen\n\n\tHeader = map[string][]string{\n\t\t\"Accept-Encoding\":
          {\"gzip, deflate\"},\n\t\t\"Accept-Language\": {\"en-us\"},\n\t\t\"Foo\":
          {\"Bar\", \"two\"},\n\t}\n\nFor incoming requests, the Host header is promoted
          to the\nRequest.Host field and removed from the Header map.\n\nHTTP defines
          that header names are case-insensitive. The\nrequest parser implements this
          by using CanonicalHeaderKey,\nmaking the first character and any characters
          following a\nhyphen uppercase and the rest lowercase.\n\nFor client requests,
          certain headers such as Content-Length\nand Connection are automatically
          written when needed and\nvalues in Header may be ignored. See the documentation\nfor
          the Request.Write method."
      host:
        description: |-
          For server requests, Host specifies the host on which the
          URL is sought. For HTTP/1 (per RFC 7230, section 5.4), this
          is either the value of the "Host" header or the host name
          given in the URL itself. For HTTP/2, it is the value of the
          ":authority" pseudo-header field.
          It may be of the form "host:port". For international domain
          names, Host may be in Punycode or Unicode form. Use
          golang.org/x/net/idna to convert it to either format if
          needed.
          To prevent DNS rebinding attacks, server Handlers should
          validate that the Host header has a value for which the
          Handler considers itself authoritative. The included
          ServeMux supports patterns registered to particular host
          names and thus protects its registered Handlers.

          For client requests, Host optionally overrides the Host
          header to send. If empty, the Request.Write method uses
          the value of URL.Host. Host may contain an international
          domain name.
        type: string
      method:
        description: |-
          Method specifies the HTTP method (GET, POST, PUT, etc.).
          For client requests, an empty string means GET.
        type: string
      multipartForm:
        allOf:
        - $ref: '#/definitions/multipart.Form'
        description: |-
          MultipartForm is the parsed multipart form, including file uploads.
          This field is only available after ParseMultipartForm is called.
          The HTTP client ignores MultipartForm and uses Body instead.
      postForm:
        allOf:
        - $ref: '#/definitions/url.Values'
        description: |-
          PostForm contains the parsed form data from PATCH, POST
          or PUT body parameters.

          This field is only available after ParseForm is called.
          The HTTP client ignores PostForm and uses Body instead.
      proto:
        description: |-
          The protocol version for incoming server requests.

          For client requests, these fields are ignored. The HTTP
          client code always uses either HTTP/1.1 or HTTP/2.
          See the docs on Transport for details.
        type: string
      protoMajor:
        description: "1"
        type: integer
      protoMinor:
        description: "0"
        type: integer
      remoteAddr:
        description: |-
          RemoteAddr allows HTTP servers and other software to record
          the network address that sent the request, usually for
          logging. This field is not filled in by ReadRequest and
          has no defined format. The HTTP server in this package
          sets RemoteAddr to an "IP:port" address before invoking a
          handler.
          This field is ignored by the HTTP client.
        type: string
      requestURI:
        description: |-
          RequestURI is the unmodified request-target of the
          Request-Line (RFC 7230, Section 3.1.1) as sent by the client
          to a server. Usually the URL field should be used instead.
          It is an error to set this field in an HTTP client request.
        type: string
      response:
        allOf:
        - $ref: '#/definitions/http.Response'
        description: |-
          Response is the redirect response which caused this request
          to be created. This field is only populated during client
          redirects.
      tls:
        allOf:
        - $ref: '#/definitions/tls.ConnectionState'
        description: |-
          TLS allows HTTP servers and other software to record
          information about the TLS connection on which the request
          was received. This field is not filled in by ReadRequest.
          The HTTP server in this package sets the field for
          TLS-enabled connections before invoking a handler;
          otherwise it leaves the field nil.
          This field is ignored by the HTTP client.
      trailer:
        allOf:
        - $ref: '#/definitions/http.Header'
        description: |-
          Trailer specifies additional headers that are sent after the request
          body.

          For server requests, the Trailer map initially contains only the
          trailer keys, with nil values. (The client declares which trailers it
          will later send.)  While the handler is reading from Body, it must
          not reference Trailer. After reading from Body returns EOF, Trailer
          can be read again and will contain non-nil values, if they were sent
          by the client.

          For client requests, Trailer must be initialized to a map containing
          the trailer keys to later send. The values may be nil or their final
          values. The ContentLength must be 0 or -1, to send a chunked request.
          After the HTTP request is sent the map values can be updated while
          the request body is read. Once the body returns EOF, the caller must
          not mutate Trailer.

          Few HTTP clients, servers, or proxies support HTTP trailers.
      transferEncoding:
        description: |-
          TransferEncoding lists the transfer encodings from outermost to
          innermost. An empty list denotes the "identity" encoding.
          TransferEncoding can usually be ignored; chunked encoding is
          automatically added and removed as necessary when sending and
          receiving requests.
        items:
          type: string
        type: array
      url:
        allOf:
        - $ref: '#/definitions/url.URL'
        description: |-
          URL specifies either the URI being requested (for server
          requests) or the URL to access (for client requests).

          For server requests, the URL is parsed from the URI
          supplied on the Request-Line as stored in RequestURI.  For
          most requests, fields other than Path and RawQuery will be
          empty. (See RFC 7230, Section 5.3)

          For client requests, the URL's Host specifies the server to
          connect to, while the Request's Host field optionally
          specifies the Host header value to send in the HTTP
          request.
    type: object
  http.Response:
    properties:
      body:
        description: |-
          Body represents the response body.

          The response body is streamed on demand as the Body field
          is read. If the network connection fails or the server
          terminates the response, Body.Read calls return an error.

          The http Client and Transport guarantee that Body is always
          non-nil, even on responses without a body or responses with
          a zero-length body. It is the caller's responsibility to
          close Body. The default HTTP client's Transport may not
          reuse HTTP/1.x "keep-alive" TCP connections if the Body is
          not read to completion and closed.

          The Body is automatically dechunked if the server replied
          with a "chunked" Transfer-Encoding.

          As of Go 1.12, the Body will also implement io.Writer
          on a successful "101 Switching Protocols" response,
          as used by WebSockets and HTTP/2's "h2c" mode.
      close:
        description: |-
          Close records whether the header directed that the connection be
          closed after reading Body. The value is advice for clients: neither
          ReadResponse nor Response.Write ever closes a connection.
        type: boolean
      contentLength:
        description: |-
          ContentLength records the length of the associated content. The
          value -1 indicates that the length is unknown. Unless Request.Method
          is "HEAD", values >= 0 indicate that the given number of bytes may
          be read from Body.
        type: integer
      header:
        allOf:
        - $ref: '#/definitions/http.Header'
        description: |-
          Header maps header keys to values. If the response had multiple
          headers with the same key, they may be concatenated, with comma
          delimiters.  (RFC 7230, section 3.2.2 requires that multiple headers
          be semantically equivalent to a comma-delimited sequence.) When
          Header values are duplicated by other fields in this struct (e.g.,
          ContentLength, TransferEncoding, Trailer), the field values are
          authoritative.

          Keys in the map are canonicalized (see CanonicalHeaderKey).
      proto:
        description: e.g. "HTTP/1.0"
        type: string
      protoMajor:
        description: e.g. 1
        type: integer
      protoMinor:
        description: e.g. 0
        type: integer
      request:
        allOf:
        - $ref: '#/definitions/http.Request'
        description: |-
          Request is the request that was sent to obtain this Response.
          Request's Body is nil (having already been consumed).
          This is only populated for Client requests.
      status:
        description: e.g. "200 OK"
        type: string
      statusCode:
        description: e.g. 200
        type: integer
      tls:
        allOf:
        - $ref: '#/definitions/tls.ConnectionState'
        description: |-
          TLS contains information about the TLS connection on which the
          response was received. It is nil for unencrypted responses.
          The pointer is shared between responses and should not be
          modified.
      trailer:
        allOf:
        - $ref: '#/definitions/http.Header'
        description: |-
          Trailer maps trailer keys to values in the same
          format as Header.

          The Trailer initially contains only nil values, one for
          each key specified in the server's "Trailer" header
          value. Those values are not added to Header.

          Trailer must not be accessed concurrently with Read calls
          on the Body.

          After Body.Read has returned io.EOF, Trailer will contain
          any trailer values sent by the server.
      transferEncoding:
        description: |-
          Contains transfer encodings from outer-most to inner-most. Value is
          nil, means that "identity" encoding is used.
        items:
          type: string
        type: array
      uncompressed:
        description: |-
          Uncompressed reports whether the response was sent compressed but
          was decompressed by the http package. When true, reading from
          Body yields the uncompressed content instead of the compressed
          content actually set from the server, ContentLength is set to -1,
          and the "Content-Length" and "Content-Encoding" fields are deleted
          from the responseHeader. To get the original response from
          the server, set Transport.DisableCompression to true.
        type: boolean
    type: object
  multipart.FileHeader:
    properties:
      filename:
        type: string
      header:
        $ref: '#/definitions/textproto.MIMEHeader'
      size:
        type: integer
    type: object
  multipart.Form:
    properties:
      file:
        additionalProperties:
          items:
            $ref: '#/definitions/multipart.FileHeader'
          type: array
        type: object
      value:
        additionalProperties:
          items:
            type: string
          type: array
        type: object
    type: object
  net.IPNet:
    properties:
      ip:
        description: network number
        items:
          type: integer
        type: array
      mask:
        description: network mask
        items:
          type: integer
        type: array
    type: object
  pkix.AttributeTypeAndValue:
    properties:
      type:
        items:
          type: integer
        type: array
      value: {}
    type: object
  pkix.Extension:
    properties:
      critical:
        type: boolean
      id:
        items:
          type: integer
        type: array
      value:
        items:
          type: integer
        type: array
    type: object
  pkix.Name:
    properties:
      country:
        items:
          type: string
        type: array
      extraNames:
        description: |-
          ExtraNames contains attributes to be copied, raw, into any marshaled
          distinguished names. Values override any attributes with the same OID.
          The ExtraNames field is not populated when parsing, see Names.
        items:
          $ref: '#/definitions/pkix.AttributeTypeAndValue'
        type: array
      locality:
        items:
          type: string
        type: array
      names:
        description: |-
          Names contains all parsed attributes. When parsing distinguished names,
          this can be used to extract non-standard attributes that are not parsed
          by this package. When marshaling to RDNSequences, the Names field is
          ignored, see ExtraNames.
        items:
          $ref: '#/definitions/pkix.AttributeTypeAndValue'
        type: array
      serialNumber:
        type: string
      streetAddress:
        items:
          type: string
        type: array
    type: object
  sql.NullFloat64:
    properties:
      float64:
        type: number
      valid:
        description: Valid is true if Float64 is not NULL
        type: boolean
    type: object
  sql.NullInt32:
    properties:
      int32:
        type: integer
      valid:
        description: Valid is true if Int32 is not NULL
        type: boolean
    type: object
  sql.NullString:
    properties:
      string:
        type: string
      valid:
        description: Valid is true if String is not NULL
        type: boolean
    type: object
  textproto.MIMEHeader:
    additionalProperties:
      items:
        type: string
      type: array
    type: object
  time.Duration:
    enum:
    - -9223372036854775808
    - 9223372036854775807
    - 1
    - 1000
    - 1000000
    - 1000000000
    - 60000000000
    - 3600000000000
    - -9223372036854775808
    - 9223372036854775807
    - 1
    - 1000
    - 1000000
    - 1000000000
    - 60000000000
    - 3600000000000
    type: integer
    x-enum-varnames:
    - minDuration
    - maxDuration
    - Nanosecond
    - Microsecond
    - Millisecond
    - Second
    - Minute
    - Hour
    - minDuration
    - maxDuration
    - Nanosecond
    - Microsecond
    - Millisecond
    - Second
    - Minute
    - Hour
  tls.ConnectionState:
    properties:
      cipherSuite:
        description: |-
          CipherSuite is the cipher suite negotiated for the connection (e.g.
          TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_AES_128_GCM_SHA256).
        type: integer
      didResume:
        description: |-
          DidResume is true if this connection was successfully resumed from a
          previous session with a session ticket or similar mechanism.
        type: boolean
      handshakeComplete:
        description: HandshakeComplete is true if the handshake has concluded.
        type: boolean
      negotiatedProtocol:
        description: NegotiatedProtocol is the application protocol negotiated with
          ALPN.
        type: string
      negotiatedProtocolIsMutual:
        description: |-
          NegotiatedProtocolIsMutual used to indicate a mutual NPN negotiation.

          Deprecated: this value is always true.
        type: boolean
      ocspresponse:
        description: |-
          OCSPResponse is a stapled Online Certificate Status Protocol (OCSP)
          response provided by the peer for the leaf certificate, if any.
        items:
          type: integer
        type: array
      peerCertificates:
        description: |-
          PeerCertificates are the parsed certificates sent by the peer, in the
          order in which they were sent. The first element is the leaf certificate
          that the connection is verified against.

          On the client side, it can't be empty. On the server side, it can be
          empty if Config.ClientAuth is not RequireAnyClientCert or
          RequireAndVerifyClientCert.

          PeerCertificates and its contents should not be modified.
        items:
          $ref: '#/definitions/x509.Certificate'
        type: array
      serverName:
        description: |-
          ServerName is the value of the Server Name Indication extension sent by
          the client. It's available both on the server and on the client side.
        type: string
      signedCertificateTimestamps:
        description: |-
          SignedCertificateTimestamps is a list of SCTs provided by the peer
          through the TLS handshake for the leaf certificate, if any.
        items:
          items:
            type: integer
          type: array
        type: array
      tlsunique:
        description: |-
          TLSUnique contains the "tls-unique" channel binding value (see RFC 5929,
          Section 3). This value will be nil for TLS 1.3 connections and for
          resumed connections that don't support Extended Master Secret (RFC 7627).
        items:
          type: integer
        type: array
      verifiedChains:
        description: |-
          VerifiedChains is a list of one or more chains where the first element is
          PeerCertificates[0] and the last element is from Config.RootCAs (on the
          client side) or Config.ClientCAs (on the server side).

          On the client side, it's set if Config.InsecureSkipVerify is false. On
          the server side, it's set if Config.ClientAuth is VerifyClientCertIfGiven
          (and the peer provided a certificate) or RequireAndVerifyClientCert.

          VerifiedChains and its contents should not be modified.
        items:
          items:
            $ref: '#/definitions/x509.Certificate'
          type: array
        type: array
      version:
        description: Version is the TLS version used by the connection (e.g. VersionTLS12).
        type: integer
    type: object
  url.URL:
    properties:
      forceQuery:
        description: append a query ('?') even if RawQuery is empty
        type: boolean
      fragment:
        description: fragment for references, without '#'
        type: string
      host:
        description: host or host:port (see Hostname and Port methods)
        type: string
      omitHost:
        description: do not emit empty host (authority)
        type: boolean
      opaque:
        description: encoded opaque data
        type: string
      path:
        description: path (relative paths may omit leading slash)
        type: string
      rawFragment:
        description: encoded fragment hint (see EscapedFragment method)
        type: string
      rawPath:
        description: encoded path hint (see EscapedPath method)
        type: string
      rawQuery:
        description: encoded query values, without '?'
        type: string
      scheme:
        type: string
      user:
        allOf:
        - $ref: '#/definitions/url.Userinfo'
        description: username and password information
    type: object
  url.Userinfo:
    type: object
  url.Values:
    additionalProperties:
      items:
        type: string
      type: array
    type: object
  util.Config:
    properties:
      accessTokenDuration:
        $ref: '#/definitions/time.Duration'
      apikey:
        type: string
      appurl:
        type: string
      dbdatabase:
        type: string
      dbdriver:
        type: string
      dbsource:
        type: string
      dbuser:
        type: string
      emailSenderAddress:
        type: string
      emailSenderName:
        type: string
      emailSenderPassword:
        type: string
      refreshTokenDuration:
        $ref: '#/definitions/time.Duration'
      serverAddress:
        type: string
      smsgateway:
        type: string
      symmetricKey:
        type: string
      username:
        type: string
    type: object
  x509.Certificate:
    properties:
      authorityKeyId:
        items:
          type: integer
        type: array
      basicConstraintsValid:
        description: |-
          BasicConstraintsValid indicates whether IsCA, MaxPathLen,
          and MaxPathLenZero are valid.
        type: boolean
      crldistributionPoints:
        description: CRL Distribution Points
        items:
          type: string
        type: array
      dnsnames:
        description: |-
          Subject Alternate Name values. (Note that these values may not be valid
          if invalid values were contained within a parsed certificate. For
          example, an element of DNSNames may not be a valid DNS domain name.)
        items:
          type: string
        type: array
      emailAddresses:
        items:
          type: string
        type: array
      excludedDNSDomains:
        items:
          type: string
        type: array
      excludedEmailAddresses:
        items:
          type: string
        type: array
      excludedIPRanges:
        items:
          $ref: '#/definitions/net.IPNet'
        type: array
      excludedURIDomains:
        items:
          type: string
        type: array
      extKeyUsage:
        description: Sequence of extended key usages.
        items:
          $ref: '#/definitions/x509.ExtKeyUsage'
        type: array
      extensions:
        description: |-
          Extensions contains raw X.509 extensions. When parsing certificates,
          this can be used to extract non-critical extensions that are not
          parsed by this package. When marshaling certificates, the Extensions
          field is ignored, see ExtraExtensions.
        items:
          $ref: '#/definitions/pkix.Extension'
        type: array
      extraExtensions:
        description: |-
          ExtraExtensions contains extensions to be copied, raw, into any
          marshaled certificates. Values override any extensions that would
          otherwise be produced based on the other fields. The ExtraExtensions
          field is not populated when parsing certificates, see Extensions.
        items:
          $ref: '#/definitions/pkix.Extension'
        type: array
      ipaddresses:
        items:
          items:
            type: integer
          type: array
        type: array
      isCA:
        type: boolean
      issuer:
        $ref: '#/definitions/pkix.Name'
      issuingCertificateURL:
        items:
          type: string
        type: array
      keyUsage:
        $ref: '#/definitions/x509.KeyUsage'
      maxPathLen:
        description: |-
          MaxPathLen and MaxPathLenZero indicate the presence and
          value of the BasicConstraints' "pathLenConstraint".

          When parsing a certificate, a positive non-zero MaxPathLen
          means that the field was specified, -1 means it was unset,
          and MaxPathLenZero being true mean that the field was
          explicitly set to zero. The case of MaxPathLen==0 with MaxPathLenZero==false
          should be treated equivalent to -1 (unset).

          When generating a certificate, an unset pathLenConstraint
          can be requested with either MaxPathLen == -1 or using the
          zero value for both MaxPathLen and MaxPathLenZero.
        type: integer
      maxPathLenZero:
        description: |-
          MaxPathLenZero indicates that BasicConstraintsValid==true
          and MaxPathLen==0 should be interpreted as an actual
          maximum path length of zero. Otherwise, that combination is
          interpreted as MaxPathLen not being set.
        type: boolean
      notBefore:
        description: Validity bounds.
        type: string
      ocspserver:
        description: RFC 5280, 4.2.2.1 (Authority Information Access)
        items:
          type: string
        type: array
      permittedDNSDomains:
        items:
          type: string
        type: array
      permittedDNSDomainsCritical:
        description: Name constraints
        type: boolean
      permittedEmailAddresses:
        items:
          type: string
        type: array
      permittedIPRanges:
        items:
          $ref: '#/definitions/net.IPNet'
        type: array
      permittedURIDomains:
        items:
          type: string
        type: array
      policies:
        description: |-
          Policies contains all policy identifiers included in the certificate.
          In Go 1.22, encoding/gob cannot handle and ignores this field.
        items:
          $ref: '#/definitions/x509.OID'
        type: array
      policyIdentifiers:
        description: |-
          PolicyIdentifiers contains asn1.ObjectIdentifiers, the components
          of which are limited to int32. If a certificate contains a policy which
          cannot be represented by asn1.ObjectIdentifier, it will not be included in
          PolicyIdentifiers, but will be present in Policies, which contains all parsed
          policy OIDs.
        items:
          items:
            type: integer
          type: array
        type: array
      publicKey: {}
      publicKeyAlgorithm:
        $ref: '#/definitions/x509.PublicKeyAlgorithm'
      raw:
        description: Complete ASN.1 DER content (certificate, signature algorithm
          and signature).
        items:
          type: integer
        type: array
      rawIssuer:
        description: DER encoded Issuer
        items:
          type: integer
        type: array
      rawSubject:
        description: DER encoded Subject
        items:
          type: integer
        type: array
      rawSubjectPublicKeyInfo:
        description: DER encoded SubjectPublicKeyInfo.
        items:
          type: integer
        type: array
      rawTBSCertificate:
        description: Certificate part of raw ASN.1 DER content.
        items:
          type: integer
        type: array
      serialNumber:
        $ref: '#/definitions/big.Int'
      signature:
        items:
          type: integer
        type: array
      signatureAlgorithm:
        $ref: '#/definitions/x509.SignatureAlgorithm'
      subject:
        $ref: '#/definitions/pkix.Name'
      subjectKeyId:
        items:
          type: integer
        type: array
      unhandledCriticalExtensions:
        description: |-
          UnhandledCriticalExtensions contains a list of extension IDs that
          were not (fully) processed when parsing. Verify will fail if this
          slice is non-empty, unless verification is delegated to an OS
          library which understands all the critical extensions.

          Users can access these extensions using Extensions and can remove
          elements from this slice if they believe that they have been
          handled.
        items:
          items:
            type: integer
          type: array
        type: array
      unknownExtKeyUsage:
        description: Encountered extended key usages unknown to this package.
        items:
          items:
            type: integer
          type: array
        type: array
      uris:
        items:
          $ref: '#/definitions/url.URL'
        type: array
      version:
        type: integer
    type: object
  x509.ExtKeyUsage:
    enum:
    - 0
    - 1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    - 10
    - 11
    - 12
    - 13
    type: integer
    x-enum-varnames:
    - ExtKeyUsageAny
    - ExtKeyUsageServerAuth
    - ExtKeyUsageClientAuth
    - ExtKeyUsageCodeSigning
    - ExtKeyUsageEmailProtection
    - ExtKeyUsageIPSECEndSystem
    - ExtKeyUsageIPSECTunnel
    - ExtKeyUsageIPSECUser
    - ExtKeyUsageTimeStamping
    - ExtKeyUsageOCSPSigning
    - ExtKeyUsageMicrosoftServerGatedCrypto
    - ExtKeyUsageNetscapeServerGatedCrypto
    - ExtKeyUsageMicrosoftCommercialCodeSigning
    - ExtKeyUsageMicrosoftKernelCodeSigning
  x509.KeyUsage:
    enum:
    - 1
    - 2
    - 4
    - 8
    - 16
    - 32
    - 64
    - 128
    - 256
    type: integer
    x-enum-varnames:
    - KeyUsageDigitalSignature
    - KeyUsageContentCommitment
    - KeyUsageKeyEncipherment
    - KeyUsageDataEncipherment
    - KeyUsageKeyAgreement
    - KeyUsageCertSign
    - KeyUsageCRLSign
    - KeyUsageEncipherOnly
    - KeyUsageDecipherOnly
  x509.OID:
    type: object
  x509.PublicKeyAlgorithm:
    enum:
    - 0
    - 1
    - 2
    - 3
    - 4
    type: integer
    x-enum-comments:
      DSA: Only supported for parsing.
    x-enum-varnames:
    - UnknownPublicKeyAlgorithm
    - RSA
    - DSA
    - ECDSA
    - Ed25519
  x509.SignatureAlgorithm:
    enum:
    - 0
    - 1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    type: integer
    x-enum-comments:
      DSAWithSHA1: Unsupported.
      DSAWithSHA256: Unsupported.
      ECDSAWithSHA1: Only supported for signing, and verification of CRLs, CSRs, and
        OCSP responses.
      MD2WithRSA: Unsupported.
      MD5WithRSA: Only supported for signing, not verification.
      SHA1WithRSA: Only supported for signing, and verification of CRLs, CSRs, and
        OCSP responses.
    x-enum-varnames:
    - UnknownSignatureAlgorithm
    - MD2WithRSA
    - MD5WithRSA
    - SHA1WithRSA
    - SHA256WithRSA
    - SHA384WithRSA
    - SHA512WithRSA
    - DSAWithSHA1
    - DSAWithSHA256
    - ECDSAWithSHA1
    - ECDSAWithSHA256
    - ECDSAWithSHA384
    - ECDSAWithSHA512
    - SHA256WithRSAPSS
    - SHA384WithRSAPSS
    - SHA512WithRSAPSS
    - PureEd25519
info:
  contact: {}
paths:
  /add/farmer/farms:
    put:
      description: Updates the details of farms associated with a farmer
      operationId: updateFarmerFarms
      parameters:
      - description: Update Farmer Farms Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.FarmerFarmsreq'
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update farmer's farms
  /add/order/crop:
    post:
      consumes:
      - application/json
      description: Updates the crops associated with a specific order
      parameters:
      - description: Update order crops request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.CropsUpdateOrder'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Order Crops
  /add/quality/controller:
    post:
      consumes:
      - multipart/form-data
      description: Creates a quality controller
      parameters:
      - description: Role ID
        in: query
        name: role_id
        required: true
        type: integer
      - description: Full Name
        in: query
        name: fullname
        required: true
        type: string
      - description: Registration No
        in: query
        name: regno
        required: true
        type: string
      - description: National Identification No
        in: query
        name: nin
        required: true
        type: string
      - description: Contact Phone
        in: query
        name: contactphone
        required: true
        type: string
      - description: Contact Email
        in: query
        name: contactemail
        required: true
        type: string
      - description: Signature
        in: formData
        name: signature
        required: true
        type: file
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Quality Controller
  /admin/units:
    get:
      consumes:
      - application/json
      description: Retrieve a list of administrative units based on pagination parameters
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get administrative units
      tags:
      - admin_units
  /airlines:
    get:
      consumes:
      - application/json
      description: Retrieve a list of airlines with optional pagination parameters
      parameters:
      - default: 1
        description: Page ID
        in: query
        name: page_id
        type: integer
      - default: 10
        description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.AirlineResponse'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a list of airlines
      tags:
      - airlines
    post:
      consumes:
      - application/json
      description: Create a new airline with the provided details
      parameters:
      - description: Airline request payload
        in: body
        name: airline
        required: true
        schema:
          $ref: '#/definitions/api.AirlineRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.AirlineResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new airline
      tags:
      - airlines
    put:
      consumes:
      - application/json
      description: Update the details of an existing airline by its ID
      parameters:
      - default: 1
        description: Airline ID
        in: path
        name: id
        required: true
        type: integer
      - description: Airline update request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateAirlineRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.AirlineResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update an airline
      tags:
      - airlines
  /airlines/{id}:
    get:
      consumes:
      - application/json
      description: Get details of an airline by its ID
      parameters:
      - default: 1
        description: Airline ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.AirlineResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get an airline
      tags:
      - airlines
  /all/border/inspectors:
    get:
      consumes:
      - application/json
      description: Retrieves border inspectors
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return Border Inspectors
  /all/company/qcp1s:
    get:
      consumes:
      - application/json
      description: Retrieves QCP1 report for multiple companies
      parameters:
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: QCP1 Companies Report
  /all/company/qcp2s:
    get:
      consumes:
      - application/json
      description: Generates a report for QCP2s of all companies
      parameters:
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp2sCompanyReport'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate QCP2 Companies Report
  /all/company/qcp3s:
    get:
      consumes:
      - application/json
      description: Generates a report for companies based on QCP3 checks
      parameters:
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate Companies Report for QCP3
  /all/company/qcp4s:
    get:
      consumes:
      - application/json
      description: Retrieves QCP4 companies report based on the provided status
      parameters:
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: QCP4 companies report
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
      summary: Get QCP4 companies report
      tags:
      - QCP4
  /all/company/qcp5s:
    get:
      description: Retrieve reports for QCP5 companies based on status
      operationId: qcp5-companies-report
      parameters:
      - description: Status of QCP5 companies
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Returns QCP5 companies report
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP5 companies report
  /all/countries:
    get:
      consumes:
      - application/json
      description: Retrieves a list of all countries or paginates the list based on
        the provided parameters
      parameters:
      - description: Page ID for pagination
        in: query
        name: page_id
        type: integer
      - description: Page size for pagination
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.CountryRes'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all countries or paginate the list
      tags:
      - country
  /all/crops:
    get:
      consumes:
      - application/json
      description: Retrieves all crops
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.CropRes'
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve all crops
      tags:
      - crops
  /all/details/reception/{id}:
    get:
      consumes:
      - application/json
      description: Get all details related to a reception form
      operationId: get-all-reception-details
      parameters:
      - description: Reception Form ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.ReceptionTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get all reception details
  /all/districts:
    get:
      consumes:
      - application/json
      description: Lists all districts with pagination support
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.DistrictRes'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all districts
      tags:
      - districts
  /all/exit/handlers:
    get:
      consumes:
      - application/json
      description: Retrieve a list of all exit handlers
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExitHandlerResponse'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get all exit handlers
      tags:
      - exit_handlers
  /all/exit/points:
    get:
      consumes:
      - application/json
      description: List all exit points with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExitPointResponse'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all exit points with pagination
      tags:
      - exit_points
  /all/export/companies:
    get:
      description: Retrieves a list of all export companies
      responses:
        "200":
          description: Success
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExportCompanyResponse'
              type: array
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve All Export Companies
  /all/exporter/farmers/list:
    get:
      description: Retrieves details of all farmers associated with a specific export
        company and crop
      operationId: allFarmersForExporters
      parameters:
      - description: Export Company ID
        in: query
        name: exportcompany_id
        required: true
        type: integer
      - description: Crop ID
        in: query
        name: crop_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve all farmers for an export company and crop
  /all/packhouse/inspectors:
    get:
      consumes:
      - application/json
      description: Retrieves packhouse inspectors
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return packhouse Inspectors
  /all/parishes:
    get:
      consumes:
      - application/json
      description: Lists all the parishes
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Parish list
          schema:
            items:
              $ref: '#/definitions/api.Parish'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List All Parishes
  /all/parishes/{id}:
    get:
      consumes:
      - application/json
      description: Lists all parishes for a particular district
      parameters:
      - description: District ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ParishRes'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all parishes for a district
      tags:
      - parishes
  /all/qcs/{id}:
    get:
      description: Return QCS per exporter
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return QCS per exporter
      tags:
      - QCS
  /all/quality/controllers:
    get:
      consumes:
      - application/json
      description: Lists all quality controllers
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List All Quality Controllers
  /all/supports:
    get:
      consumes:
      - application/json
      description: Retrieves support accounts
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return Support Accounts
  /all/truck/hygienes:
    get:
      description: Retrieve all truck hygiene records with optional pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.trackhygienelist'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve all truck hygiene records
      tags:
      - hygiene
  /all/villages:
    get:
      consumes:
      - application/json
      description: Lists all villages with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: List of Villages
          schema:
            items:
              $ref: '#/definitions/api.VillageResp'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List All Villages
      tags:
      - Villages
  /all/villages/{id}:
    get:
      consumes:
      - application/json
      description: Lists all villages for a particular parish
      parameters:
      - description: Parish ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.VillageRes'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all villages for a parish
      tags:
      - villages
  /all/zones:
    get:
      consumes:
      - application/json
      description: List all zones with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: List of Zones
          schema:
            items:
              $ref: '#/definitions/api.AllZonesRow'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List All Zones
      tags:
      - Zone
  /all/zones/{id}:
    get:
      consumes:
      - application/json
      description: Get zones for a specific district by ID
      parameters:
      - description: District ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: List of Zones
          schema:
            items:
              $ref: '#/definitions/api.AllZonesRow'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Zones for District
      tags:
      - Zone
  /assign/farmer:
    post:
      consumes:
      - application/json
      description: Assigns farmers to a specified export company if they are not already
        assigned
      operationId: assignFarmerToExporter
      parameters:
      - description: Farmer Exporter
        in: body
        name: FarmerExporter
        required: true
        schema:
          $ref: '#/definitions/api.FarmerExporter'
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Farmer already assigned to this company
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Assign farmers to an export company
  /attach/inspector/exporters:
    post:
      consumes:
      - application/json
      description: Attach more exporters to an inspector
      parameters:
      - description: Attach More Exporters Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.AttachMoreReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Attach More Exporters
      tags:
      - Exporter
  /attach/packhouse:
    post:
      consumes:
      - application/json
      description: Attach a packhouse to an export company
      parameters:
      - description: Packhouse attachment request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.AttachPackhouseRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Attach Packhouse
  /attach/qc/exporter:
    post:
      description: Attaches a user to an export company as a QC exporter
      parameters:
      - description: Exporter attachment request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ExporterAttachment'
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Attach QC Exporter
  /attach/role:
    post:
      consumes:
      - application/json
      description: Attach a specific role to a user by their IDs
      parameters:
      - description: Role attachment data
        in: body
        name: AttachRoleRequest
        required: true
        schema:
          $ref: '#/definitions/api.AttachRoleRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Attach a role to a user
      tags:
      - roles
  /batch/packing/list/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves batch packing list details by ID
      parameters:
      - description: Batch Packing List ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.CustomDetailsResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Packing list not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Batch Packing List Details
  /border/consignment/stats:
    get:
      consumes:
      - application/json
      description: Endpoint to get statistics related to border inspectors.
      produces:
      - application/json
      responses:
        "200":
          description: Statistics response
          schema:
            $ref: '#/definitions/api.BorderInspectorStatsType'
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Get Border Inspector Stats
      tags:
      - BorderInspection
  /border/inspector/roaster:
    get:
      description: Fetch the border inspector roaster
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.RoasterRes'
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/gin.H'
      summary: Fetch Border Inspector Roaster
      tags:
      - Inspector
  /change/client/status:
    post:
      consumes:
      - application/json
      description: Change the status of a client by its ID
      parameters:
      - description: Client status change request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ClientStatusReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Change client status
      tags:
      - clients
  /change/consignment/status:
    get:
      consumes:
      - application/json
      description: Changes status of a consignment
      parameters:
      - description: Status request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.StatusReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Change Consignment Status
  /change/order/status:
    post:
      consumes:
      - application/json
      description: Changes the status of a specific order
      parameters:
      - description: Order status request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.OrderStatus'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Change Order Status
  /change/user/status:
    post:
      consumes:
      - application/json
      description: Toggle user status.
      parameters:
      - description: Request to toggle user status
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ToggleReq'
      produces:
      - application/json
      responses:
        "200":
          description: Updated Status
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Toggle user status.
      tags:
      - Users
  /clients:
    get:
      consumes:
      - application/json
      description: Retrieve a list of clients with pagination and filtering options
      parameters:
      - default: 1
        description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - default: 10
        description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ClientResponse'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a list of clients
      tags:
      - clients
    post:
      consumes:
      - application/json
      description: Create a new client with the provided details
      parameters:
      - description: Client request payload
        in: body
        name: client
        required: true
        schema:
          $ref: '#/definitions/api.ClientRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ClientResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new client
      tags:
      - clients
    put:
      consumes:
      - application/json
      description: Update the details of a client by its ID
      parameters:
      - default: 1
        description: Client ID
        in: path
        name: id
        required: true
        type: integer
      - description: Client update request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateClientRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ClientResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a client
      tags:
      - clients
  /clients/{id}:
    get:
      consumes:
      - application/json
      description: Get details of a client by its ID
      parameters:
      - default: 1
        description: Client ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ClientResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a client
      tags:
      - clients
  /clients/count/{id}:
    get:
      consumes:
      - application/json
      description: Get the count of clients categorized by their status
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CountsTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get count of clients by status
      tags:
      - clients
  /consignment/doctypes:
    get:
      consumes:
      - application/json
      description: Retrieve a list of consignment document types with pagination
      parameters:
      - default: 1
        description: 'Page ID (min: 5, max: 10)'
        in: query
        name: page_id
        required: true
        type: integer
      - default: 5
        description: 'Page Size (min: 5, max: 10)'
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.Consignmentdoctype'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a list of consignment document types
      tags:
      - consignment
    post:
      consumes:
      - application/json
      description: Create a new consignment document type
      parameters:
      - description: Consignment document type creation request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ConsigmentDocTypeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentdoctype'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a consignment document type
      tags:
      - consignment
    put:
      consumes:
      - application/json
      description: Update an existing consignment document type by its ID
      parameters:
      - description: Consignment document type update request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateConsignmentRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentdoctype'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a consignment document type
      tags:
      - consignment
  /consignment/doctypes/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve a consignment document type from the database by its ID
      parameters:
      - description: Consignment document type ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentdoctype'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a consignment document type by ID
      tags:
      - consignment
  /consignment/documents/{id}:
    delete:
      consumes:
      - application/json
      description: Deletes documents related to a consignment
      parameters:
      - description: Document ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Delete Consignment Documents
  /consignment/reason-rejections:
    get:
      consumes:
      - application/json
      description: Retrieve a paginated list of consignment reason rejections
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentreasonrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a list of consignment reason rejections
      tags:
      - consignment
    post:
      consumes:
      - application/json
      description: Create a new consignment reason rejection
      parameters:
      - description: Consignment Reason Rejection details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.ConsigmentReasonRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentreasonrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a consignment reason rejection
      tags:
      - consignment
  /consignment/reason-rejections/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve details of a consignment reason rejection by its ID
      parameters:
      - description: Consignment Reason Rejection ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.Consignmentreasonrejection'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a consignment reason rejection by ID
      tags:
      - consignment
    put:
      consumes:
      - application/json
      description: Update a consignment reason rejection by ID
      parameters:
      - description: Consignment Reason Rejection ID
        in: path
        name: id
        required: true
        type: integer
      - description: Consignment Reason Rejection details
        in: body
        name: UpdateConsignmentReasonRejectionRequest
        required: true
        schema:
          $ref: '#/definitions/api.UpdateConsignmentReasonRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentreasonrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a consignment reason rejection
      tags:
      - consignment
  /consignment/rejection:
    put:
      consumes:
      - application/json
      description: Update details of a consignment rejection by its ID
      parameters:
      - description: Consignment Rejection ID
        in: path
        name: id
        required: true
        type: integer
      - description: Consignment Rejection details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateConsignmentRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a consignment rejection
      tags:
      - consignment
  /consignment/rejection/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve a consignment rejection by its unique identifier
      parameters:
      - description: Consignment Rejection ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a consignment rejection by ID
      tags:
      - consignment
  /consignment/rejections:
    get:
      consumes:
      - application/json
      description: Retrieve a list of consignment rejections with pagination
      parameters:
      - description: Page number (default 1)
        in: query
        name: page_id
        type: integer
      - description: Page size (default 10, max 10)
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.Consignmentrejection'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List consignment rejections
      tags:
      - consignment
    post:
      consumes:
      - application/json
      description: Create a new consignment rejection
      parameters:
      - description: Consignment rejection creation request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ConsigmentRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.Consignmentrejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a consignment rejection
      tags:
      - consignment
  /consignment/report/{id}:
    get:
      consumes:
      - application/json
      description: Generate a consignment report based on the provided consignment
        number
      parameters:
      - description: Consignment Number
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ConsignmentReport'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate a consignment report
      tags:
      - consignment
  /convert/pdf64:
    post:
      consumes:
      - application/json
      description: Convert a PDF file to a base64 encoded string
      operationId: convert-pdf-to-base64
      parameters:
      - description: Context
        in: body
        name: ctx
        required: true
        schema:
          type: string
      - description: PDF file path
        in: body
        name: filed
        required: true
        schema:
          type: string
      produces:
      - application/json
      responses:
        "200":
          description: Base64 encoded PDF
          schema:
            type: string
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Convert PDF to base64
  /count/qcps/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves total QCPs for a session
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Total QCPs
  /count/qcps/order/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves total QCPs for an order
      parameters:
      - description: Order ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Total Order QCPs
  /count/scheduled/consignments:
    get:
      consumes:
      - application/json
      description: Retrieves count of consignments in different statuses
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.CountResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Count of Scheduled Consignments
  /countries:
    get:
      consumes:
      - application/json
      description: Retrieves a paginated list of countries based on the provided parameters
      parameters:
      - description: Page ID for pagination
        in: query
        name: page_id
        required: true
        type: integer
      - description: 'Page size for pagination (min: 5, max: 10)'
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.CountryRes'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve paginated list of countries
      tags:
      - country
    post:
      consumes:
      - application/json
      description: Creates a new country with the provided details
      parameters:
      - description: Country Request Body
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.CountryRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CountryRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new country
      tags:
      - country
    put:
      consumes:
      - application/json
      description: Updates the details of a specific country
      parameters:
      - description: Country ID
        in: path
        name: id
        required: true
        type: integer
      - description: Country Code
        in: body
        name: countrycode
        required: true
        schema:
          type: string
      - description: Country Name
        in: body
        name: countryname
        required: true
        schema:
          type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CountryRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update country details
      tags:
      - country
  /country/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves a country with the provided ID
      parameters:
      - description: Country ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CountryRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a country by ID
      tags:
      - country
  /create-inspection-report:
    post:
      consumes:
      - application/json
      description: Creates an inspection report based on the provided request.
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      - description: Inspection Report Request
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/api.InspectionReportReq'
      - description: User ID
        in: path
        name: user_id
        required: true
        type: string
      - description: Export Company ID
        in: path
        name: exportcompany_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Inspection report created successfully
          schema:
            type: string
      summary: Create Inspection Report
      tags:
      - Inspection Reports
  /create-user-logs/{activity_type}/{activity_description}:
    post:
      consumes:
      - application/json
      description: Creates a log entry for user activities
      parameters:
      - description: Activity Type
        in: path
        name: activity_type
        required: true
        type: string
      - description: Activity Description
        in: path
        name: activity_description
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Log created successfully
          schema:
            type: string
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create User Logs
      tags:
      - Logs
  /create/admin/account:
    post:
      consumes:
      - application/json
      description: Creates an admin user account
      parameters:
      - description: Create Admin Account Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.AdminRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Admin Account
  /create/border/inspector:
    post:
      consumes:
      - multipart/form-data
      description: Creates a border inspector
      parameters:
      - description: Role ID
        in: query
        name: role_id
        required: true
        type: integer
      - description: Full Name
        in: query
        name: fullname
        required: true
        type: string
      - description: Registration No
        in: query
        name: regno
        required: true
        type: string
      - description: National Identification No
        in: query
        name: nin
        required: true
        type: string
      - description: Contact Phone
        in: query
        name: contactphone
        required: true
        type: string
      - description: Contact Email
        in: query
        name: contactemail
        required: true
        type: string
      - description: Signature
        in: formData
        name: signature
        required: true
        type: file
      - description: District ID
        in: query
        name: district_id
        required: true
        type: integer
      - description: Zone ID
        in: query
        name: zone_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Border Inspector
  /create/dcic/admin:
    post:
      consumes:
      - application/json
      description: Creates an admin user account
      parameters:
      - description: Create Admin Account Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.AdminRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Admin Account
  /create/destruction/notice:
    post:
      consumes:
      - application/json
      description: Create a destruction notice with provided data
      parameters:
      - description: Destruction Notice Data
        in: body
        name: notice
        required: true
        schema:
          $ref: '#/definitions/api.DestructionNotice'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a destruction notice
      tags:
      - destruction
  /create/exporter/manager:
    post:
      consumes:
      - application/json
      description: Create export company manager
      parameters:
      - description: Create Exporter Manager
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.ExporterManagerReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create export company manager
      tags:
      - Exporter
  /create/inspection/recommendation:
    post:
      consumes:
      - multipart/form-data
      description: Create an inspection recommendation with provided data
      parameters:
      - in: formData
        name: comment
        type: string
      - in: formData
        name: consignment_no
        required: true
        type: string
      - in: formData
        name: session_id
        required: true
        type: string
      - in: formData
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create an inspection recommendation
      tags:
      - inspection
  /create/inspection/report:
    post:
      consumes:
      - application/json
      description: Creates an inspection report based on the provided request data
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
      summary: Create an inspection report
      tags:
      - Inspection Report
  /create/interception/notice:
    post:
      consumes:
      - application/json
      description: Create an inspection notice with provided data
      parameters:
      - description: Interception Notice Data
        in: body
        name: notice
        required: true
        schema:
          $ref: '#/definitions/api.InterceptionNotice'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create an inspection notice
      tags:
      - interception
  /create/nppo/inspectors:
    post:
      consumes:
      - application/json
      description: Create a new NNPO inspector
      parameters:
      - description: NNPO inspector details
        in: body
        name: inspector
        required: true
        schema:
          $ref: '#/definitions/api.NNPORequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create NNPO inspector
      tags:
      - NNPO Inspector
  /create/other/reception/documents:
    post:
      consumes:
      - application/json
      description: Create other reception documents
      operationId: create-other-reception-documents
      parameters:
      - description: Reception Document
        in: formData
        name: repdoc
        required: true
        type: file
      - description: Description
        in: formData
        name: description
        required: true
        type: string
      - description: Reception Form ID
        in: formData
        name: receptionform_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create other reception documents
  /create/packhouse/inspector:
    post:
      consumes:
      - application/json
      description: Creates a packhouse inspector
      parameters:
      - description: Full Name
        in: body
        name: fullname
        required: true
        schema:
          type: string
      - description: Registration No
        in: body
        name: regno
        required: true
        schema:
          type: string
      - description: National Identification No
        in: body
        name: nin
        required: true
        schema:
          type: string
      - description: Phone
        in: body
        name: phone
        required: true
        schema:
          type: string
      - description: Email
        in: body
        name: email
        required: true
        schema:
          type: string
      - description: Exporters
        in: body
        name: exporters
        required: true
        schema:
          type: array
      - description: Packhouses
        in: body
        name: packhouses
        required: true
        schema:
          type: array
      - description: Zones
        in: body
        name: zones
        required: true
        schema:
          type: array
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Packhouse Inspector
  /create/qcp2/attributes:
    post:
      consumes:
      - application/json
      description: Creates QCP2 attributes
      parameters:
      - description: QCP2 attributes
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.Qcp2AttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP2 Attributes
  /create/qcp2/recommendation:
    post:
      consumes:
      - application/json
      description: Creates QCP2 recommendations
      parameters:
      - description: QCP2 recommendations
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.Qcp2RecommendationsRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP2 Recommendations
  /create/qcp3/attributes:
    post:
      consumes:
      - application/json
      description: Creates attributes for QCP3
      parameters:
      - description: QCP3 attributes details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.QCP3AttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP3 Attributes
  /create/qcp3/recommendation:
    post:
      consumes:
      - application/json
      description: Creates a recommendation for QCP3
      parameters:
      - description: QCP3 recommendation details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.QCP3RecommendationRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP3 Recommendation
  /create/qcp5/inspection/recommendation:
    post:
      consumes:
      - application/json
      description: Endpoint to create a new QCP5 inspection recommendation.
      parameters:
      - description: QCP5 Inspection Recommendation Request Payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/api.Qcp5StatusReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success response
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Create QCP5 Inspection Recommendation
      tags:
      - QCP5
  /create/qcp5/inspection/report:
    post:
      consumes:
      - application/json
      description: Endpoint to create a new QCP5 inspection report.
      parameters:
      - description: QCP5 Inspection Report Request Payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/api.Qcp5InspectionReportReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success response
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Create QCP5 Inspection Report
      tags:
      - QCP5
  /create/qcp5s/{consignment_no}:
    post:
      description: Creates QCP5s based on the provided consignment number
      operationId: create-qcp5s
      parameters:
      - description: Consignment number
        in: path
        name: consignment_no
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: string
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP5s
  /create/reception/attributes:
    post:
      consumes:
      - application/json
      description: Create attributes for a reception form including quality attributes
        and others
      parameters:
      - description: Reception Form Attributes
        in: body
        name: receptionFormAttributes
        required: true
        schema:
          $ref: '#/definitions/api.ReceptionFormAttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Reception Attributes
      tags:
      - Reception
  /create/reception/documents:
    post:
      consumes:
      - application/json
      description: Create reception documents with the given details
      operationId: create-reception-documents
      parameters:
      - description: Reception Documents Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ReceptionDocumentsRequests'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Create reception documents
  /create/reception/form:
    post:
      consumes:
      - application/json
      description: Create a new reception form with the given details
      operationId: create-reception-form
      parameters:
      - description: Reception Form Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ReceptionFormRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ReceptionformType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Create a new reception form
  /create/support/account:
    post:
      consumes:
      - application/json
      description: Creates a support user account
      parameters:
      - description: Create Support Account Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.SupportAccountRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Support Account
  /create/truck/hygiene:
    post:
      consumes:
      - application/json
      description: Create a new truck hygiene report with provided data
      parameters:
      - description: Truck Hygiene Request Data
        in: body
        name: report
        required: true
        schema:
          $ref: '#/definitions/api.TruckHygieneRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new truck hygiene report
      tags:
      - hygiene
  /create/zonal/inspector:
    post:
      consumes:
      - application/json
      description: Creates a zonal inspector
      parameters:
      - description: Full Name
        in: body
        name: fullname
        required: true
        schema:
          type: string
      - description: National Identification No
        in: body
        name: nin
        required: true
        schema:
          type: string
      - description: Phone
        in: body
        name: phone
        required: true
        schema:
          type: string
      - description: Email
        in: body
        name: email
        required: true
        schema:
          type: string
      - description: Zones
        in: body
        name: zones
        required: true
        schema:
          type: array
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Zonal Inspector
  /create/zone:
    post:
      consumes:
      - application/json
      description: Create a new zone with associated districts
      parameters:
      - description: Zone Details
        in: body
        name: zone
        required: true
        schema:
          $ref: '#/definitions/api.ZonReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Zone
      tags:
      - Zone
  /crop/farmers/{id}:
    get:
      description: Retrieves a list of farmers who supply a specific crop based on
        the provided crop ID
      operationId: returnCropSuppliers
      parameters:
      - description: Crop ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                $ref: '#/definitions/api.GetFarmerBasedCropRow'
              type: array
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve crop suppliers
  /crops:
    get:
      consumes:
      - application/json
      description: Retrieves a list of crops with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.CropRes'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a list of crops with pagination
      tags:
      - crops
    post:
      consumes:
      - application/json
      description: Creates a new crop
      parameters:
      - description: Crop details to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.CropRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CropRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new crop
      tags:
      - crops
    put:
      consumes:
      - application/json
      description: Updates the details of a crop
      parameters:
      - description: Crop ID
        in: path
        name: id
        required: true
        type: integer
      - description: Crop details to update
        in: body
        name: input
        required: true
        schema:
          $ref: '#/definitions/api.UpdateProductRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CropRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update crop details
      tags:
      - crops
  /crops/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves a crop by ID
      parameters:
      - description: Crop ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CropRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a crop by ID
      tags:
      - crops
  /crops/count:
    get:
      consumes:
      - application/json
      description: Returns the count of crops based on their status
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CropCountRes'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get crop counts
      tags:
      - crops
  /crops/status/update:
    post:
      consumes:
      - application/json
      description: Updates the status of a crop
      parameters:
      - description: Request body
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.StatusReqIn'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update crop status
      tags:
      - crops
  /deactivate/crop:
    post:
      consumes:
      - application/json
      description: Deactivates a crop on a specific order
      parameters:
      - description: Deactivate crop request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.DeactivateCropReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Deactivate Crop on Order
  /deactivate/exporter:
    post:
      description: Deactivates an exporter
      parameters:
      - description: Deactivation request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.DeactiveReq'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Deactivate Exporter
  /deactivate/farm/{id}:
    put:
      description: Deactivates a farm based on the farm ID
      operationId: deactivateFarm
      parameters:
      - description: Farm ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Deactivate a farm
  /deactivate/packhouse:
    post:
      consumes:
      - multipart/form-data
      description: Deactivates a packhouse
      parameters:
      - description: Suspension report
        in: formData
        name: report
        required: true
        type: file
      - description: Packhouse ID
        in: formData
        name: packhouse_id
        required: true
        type: integer
      - description: Status
        in: formData
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Deactivate Packhouse
  /delete/farmer/farm/{id}:
    delete:
      description: Deletes a specific farm associated with a farmer based on the farm
        ID
      operationId: deleteFarmerFarm
      parameters:
      - description: Farm ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Delete a farm from a farmer
  /delete/truck/report/{id}:
    delete:
      consumes:
      - application/json
      description: Delete trucks per consignment by vehicle ID
      operationId: delete-trucks-per-consignment
      parameters:
      - description: Vehicle ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Delete trucks per consignment
  /destruction/notice/{id}:
    get:
      consumes:
      - application/json
      description: Get destruction notice by consignment number
      operationId: get-destruction-notice
      parameters:
      - description: Consignment number
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get destruction notice
  /detach/farmer/from/exporter:
    post:
      description: Detaches a farmer from a specific exporter
      operationId: detachFarmerFromExporter
      parameters:
      - description: Detach Farmer From Exporter Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.FarmExporterReq'
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Detach a farmer from an exporter
  /detach/inspector:
    post:
      description: Detaches a packhouse inspector from an exporter company
      parameters:
      - description: User exporter request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UserExporterReq'
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Detach Inspector From Exporter
  /detailed/order/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves details of a specific order
      parameters:
      - description: Order ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve order details
  /district/sub/county/{id}:
    get:
      consumes:
      - application/json
      description: Get all subcounties for a specific district
      parameters:
      - description: District ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.subcountyRes'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get subcounties by district ID
      tags:
      - Subcounty
  /districts:
    put:
      consumes:
      - application/json
      description: Update an existing district
      parameters:
      - description: District ID
        in: path
        name: id
        required: true
        type: integer
      - description: District data
        in: body
        name: district
        required: true
        schema:
          $ref: '#/definitions/api.UpdaeDistrictReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.DistrictRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update an existing district
      tags:
      - admin_units
  /districts/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve an existing district by ID
      parameters:
      - description: District ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.DistrictRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve an existing district
      tags:
      - admin_units
  /districts/create:
    post:
      consumes:
      - application/json
      description: Create a new district
      parameters:
      - description: District data
        in: body
        name: district
        required: true
        schema:
          $ref: '#/definitions/api.CreateDistrictReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new district
      tags:
      - admin_units
  /documents/details/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve details of a document by ID
      parameters:
      - description: Document ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.AllDocumentDetailsRow'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve document details
      tags:
      - documents
  /email/update/password:
    post:
      consumes:
      - application/json
      description: Updates a user's email and password
      parameters:
      - description: Update Email and Password Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateEmailRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Email and Password
  /exit/handler/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve details of an exit handler by ID
      parameters:
      - description: Exit handler ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitHandlerResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve exit handler details
      tags:
      - exit_handlers
  /exit/handlers:
    get:
      consumes:
      - application/json
      description: Retrieve a list of exit handlers
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExitHandlerResponse'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve a list of exit handlers
      tags:
      - exit_handlers
    post:
      consumes:
      - application/json
      description: Create a new exit handler
      parameters:
      - description: Exit handler data
        in: body
        name: exithandler
        required: true
        schema:
          $ref: '#/definitions/api.ExitHandlerRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitHandlerResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create new exit handler
      tags:
      - exit_handlers
    put:
      consumes:
      - application/json
      description: Update the details of an exit handler
      parameters:
      - description: Exit handler ID
        in: path
        name: id
        required: true
        type: integer
      - description: Updated exit handler data
        in: body
        name: exithandler
        required: true
        schema:
          $ref: '#/definitions/api.UpdateExitHandlerRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitHandlerResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update exit handler details
      tags:
      - exit_handlers
  /exit/point/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve an exit point by its ID
      parameters:
      - description: Exit Point ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitPointResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get exit point by ID
      tags:
      - exit_points
  /exit/point/roaster:
    get:
      consumes:
      - application/json
      description: Endpoint to get the exit point roaster.
      produces:
      - application/json
      responses:
        "200":
          description: Exit point roaster
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Get Exit Point Roaster
      tags:
      - BorderInspection
  /exit/points:
    get:
      consumes:
      - application/json
      description: Retrieve a list of exit points with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExitPointResponse'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get exit points with pagination
      tags:
      - exit_points
    post:
      consumes:
      - application/json
      description: Create a new exit point
      parameters:
      - description: Request body
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.CreateExitPointRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitPointResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new exit point
      tags:
      - exit_points
    put:
      consumes:
      - application/json
      description: Update exit point details
      parameters:
      - description: Request body
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateExitPointRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ExitPointResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update exit point details
      tags:
      - exit_points
  /exit/points/list:
    get:
      consumes:
      - application/json
      description: List exit points with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.ExitPointResponse'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List exit points with pagination
      tags:
      - exit_points
  /export/companies:
    get:
      consumes:
      - application/json
      description: Retrieves a list of export companies
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.ExportCompanyResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Export Companies
    post:
      consumes:
      - application/json
      description: Creates a new export company and user in the system
      parameters:
      - description: Export Company details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ExportCompanyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Export Company
    put:
      consumes:
      - application/json
      description: Updates export company details
      parameters:
      - description: Export company ID
        in: path
        name: id
        required: true
        type: integer
      - description: Export company details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateExportCompanyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ExportCompanyResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Export company not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Export Company
  /export/farmer/codes:
    get:
      description: Exports traceability codes of farmers to an Excel file
      operationId: exportFarmerTraceabilityCodes
      produces:
      - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      responses:
        "200":
          description: File with farmer traceability codes
          schema:
            type: string
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Export farmer traceability codes
  /export/registration/statuses:
    get:
      description: Retrieves a list of export registration statuses
      responses:
        "200":
          description: Success
          schema:
            items:
              items:
                $ref: '#/definitions/api.RegStatuses'
              type: array
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Export Registration Statuses
  /exportcompany/orders/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves orders associated with an export company
      parameters:
      - description: Export company ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.ReturnOrderByExportCompanyRow'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Export Company Orders
  /exporter/consignment/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves details of a specific planned consignment
      parameters:
      - description: Planned consignment ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PlannedConsignmentDetailsResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Planned consignment not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Planned Consignment Details
  /exporter/dashboard/stats/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves statistics for a dashboard associated with a specific
        session for an exporter
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve dashboard statistics for exporter
  /exporter/farmers:
    get:
      description: Retrieves details of all farmers associated with a specific export
        company
      operationId: allExporterFarmers
      parameters:
      - description: Export Company ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve all farmers for an export company
  /exporter/farmers/list:
    get:
      description: Retrieves details of farmers associated with a specific export
        company with pagination
      operationId: farmersForExporters
      parameters:
      - description: Export Company ID
        in: query
        name: exportcompany_id
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve paginated farmers for an export company
  /exporter/packhouses/{session_id}:
    get:
      consumes:
      - application/json
      description: Get packhouses associated with an exporter
      parameters:
      - description: Session ID
        in: path
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PackhouseList'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Exporter Packhouses
  /exporter/user/stats/{id}:
    get:
      consumes:
      - application/json
      description: Export statistics of a user session
      parameters:
      - description: Session ID
        in: path
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Export user statistics
      tags:
      - User Stats
  /farmer/{id}:
    get:
      description: Retrieve farmer traceability data by ID
      operationId: getFarmerTraceability
      parameters:
      - description: Farmer Traceability ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.FarmerTypeTraceability'
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Farmer Traceability not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve farmer traceability data
  /farmer/farms/{id}:
    get:
      description: Retrieve farms for a farmer by ID
      operationId: getFarmerFarms
      parameters:
      - description: ID of the farmer
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve farms for a farmer
  /farmer/produce/{id}:
    get:
      description: Retrieves produce for a farmer by ID
      operationId: getFarmerProduce
      parameters:
      - description: ID of the farmer
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                $ref: '#/definitions/api.FarmerProduce'
              type: array
            type: array
        "404":
          description: Farmer not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get farmer produce
  /farmers:
    get:
      description: Retrieve farmer traceability data with pagination
      operationId: getFarmerTraceabilities
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.FarmerTypeTraceability'
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve farmer traceability data
    put:
      consumes:
      - application/json
      description: Update farmer traceability data by ID
      operationId: updateFarmerTraceability
      parameters:
      - description: Farmer ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Farmer not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update farmer traceability data
  /farmers/count:
    get:
      description: Get the count of farmers based on their status
      operationId: farmerCount
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.FarmerCountRes'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get farmer counts
  /farmers/exporter/count/{id}:
    get:
      description: Retrieves count of active, inactive, and suspended farmers associated
        with an exporter
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ExporterFarmerCountResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Session not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Farmer Exporter Count
  /fetch/accepted/consigments:
    get:
      consumes:
      - application/json
      description: Retrieves accepted planned consignments based on session ID
      parameters:
      - description: Session ID
        in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Accepted Planned Consignments
  /fetch/all/consignments:
    get:
      consumes:
      - application/json
      description: Retrieves all planned consignments based on status
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Comma-separated list of statuses
        in: query
        name: status
        required: true
        type: string
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentDetailsResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get All Planned Consignments
  /fetch/awaiting/consigments:
    get:
      consumes:
      - application/json
      description: Retrieves awaiting planned consignments based on session ID
      parameters:
      - description: Session ID
        in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Awaiting Planned Consignments
  /fetch/awaiting/exit/consigments/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves awaiting consignments by exit point based on session
        ID
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Session not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Awaiting Consignments By Exit Point
  /fetch/awaiting/exit/consignments:
    get:
      consumes:
      - application/json
      description: Endpoint to get awaiting border consignments.
      produces:
      - application/json
      responses:
        "200":
          description: List of awaiting border consignments
          schema:
            items:
              $ref: '#/definitions/api.ExitConsignmentResponse'
            type: array
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Get Awaiting Border Consignments
      tags:
      - BorderInspection
  /fetch/boarder/consignments:
    get:
      consumes:
      - application/json
      description: Endpoint to fetch all border consignments by status.
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: List of border consignments
          schema:
            items:
              $ref: '#/definitions/api.ExitConsignmentResponse'
            type: array
        "400":
          description: Bad request response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Fetch All Border Consignments
      tags:
      - BorderInspection
  /fetch/company/logo/{id}:
    get:
      description: Retrieves company logo
      parameters:
      - description: Export company ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch Company Logo
  /fetch/completed/boarder/consignments:
    get:
      consumes:
      - application/json
      description: Endpoint to get completed border consignments.
      produces:
      - application/json
      responses:
        "200":
          description: List of completed border consignments
          schema:
            items:
              $ref: '#/definitions/api.ExitConsignmentResponse'
            type: array
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Get Completed Border Consignments
      tags:
      - BorderInspection
  /fetch/completed/consigments:
    get:
      consumes:
      - application/json
      description: Retrieves completed planned consignments
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Completed Planned Consignments
  /fetch/count/inspections/{id}:
    get:
      description: Retrieves the count of completed inspections for an exporter
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.FetchCompletedCountInspectionsRes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Session not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch Completed Count Inspections
  /fetch/exporter/stamp/{id}:
    get:
      consumes:
      - application/json
      description: Fetch the stamp of an exporter by ID
      parameters:
      - description: Exporter ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch exporter stamp
      tags:
      - Exporter Stamp
  /fetch/farmers:
    get:
      description: Retrieves details of all farmers
      operationId: getAllFarmers
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve all farmers
  /fetch/planned/consigments/documents/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves documents related to a planned consignment
      parameters:
      - description: Planned consignment ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.CustomDocResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Planned Consignment Documents
  /fetch/queried/consigments:
    get:
      consumes:
      - application/json
      description: Retrieves queried planned consignments based on status and session
        ID
      parameters:
      - description: Session ID
        in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Queried Planned Consignments
  /fetch/reception/attributes/{id}:
    get:
      consumes:
      - application/json
      description: Fetches reception attributes by ID
      parameters:
      - description: Attributes ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch Reception Attributes
      tags:
      - ReceptionForms
  /fetch/reception/documents/{id}:
    get:
      consumes:
      - application/json
      description: Fetches reception documents by ID
      parameters:
      - description: Document ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch Reception Documents
      tags:
      - ReceptionForms
  /fetch/red/flags:
    get:
      consumes:
      - application/json
      description: Retrieves red flags based on status and pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.FetchRedFlagsRow'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Fetch Red Flags
  /fetch/rejected/consigments:
    get:
      consumes:
      - application/json
      description: Retrieves queried planned consignments based on status and session
        ID
      parameters:
      - description: Session ID
        in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PlannedConsignmentReponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Queried Planned Consignments
  /fetch/stopped/consignments:
    get:
      consumes:
      - application/json
      description: Endpoint to get stopped consignments.
      produces:
      - application/json
      responses:
        "200":
          description: List of stopped consignments
          schema:
            items:
              $ref: '#/definitions/api.ExitConsignmentResponse'
            type: array
        "500":
          description: Internal server error response
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Get Stopped Consignments
      tags:
      - BorderInspection
  /filter/exportcompany/clients:
    post:
      consumes:
      - application/json
      description: Filter clients associated with the specified session ID
      parameters:
      - description: Filter client request payload
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.FilterClientRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ClientResponse'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter clients by session ID
      tags:
      - clients
  /filter/exportcompany/orders:
    get:
      consumes:
      - application/json
      description: Retrieves orders of a specific export company based on provided
        filters
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Order Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.OrderListResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter Export Company Orders
  /filter/qcp1/attributes:
    get:
      consumes:
      - application/json
      description: Filters QCP1 quality attributes
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter QCP1 Attributes
  /filter/qcp2/attributes:
    get:
      consumes:
      - application/json
      description: Filters QCP2 attributes
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter QCP2 Attributes
  /filter/qcp3/attributes:
    get:
      consumes:
      - application/json
      description: Retrieves a list of QCP3 quality attributes based on filtering
        criteria
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.QualityattributeResType'
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter QCP3 Quality Attributes
      tags:
      - QualityControl
  /filter/reception/attributes:
    get:
      consumes:
      - application/json
      description: Filter reception attributes
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter Reception Attributes
      tags:
      - ReceptionForms
  /generate/farmer/code/{FarmerID}/{CropID}/{DistrictID}:
    get:
      description: Generates a unique farmer code based on the provided IDs
      operationId: generateFarmerCode
      parameters:
      - description: Farmer ID
        in: path
        name: FarmerID
        required: true
        type: integer
      - description: Crop ID
        in: path
        name: CropID
        required: true
        type: integer
      - description: District ID
        in: path
        name: DistrictID
        required: true
        type: integer
      - description: Context
        in: body
        name: ctx
        required: true
        schema:
          $ref: '#/definitions/gin.Context'
      produces:
      - application/json
      responses:
        "200":
          description: Generated farmer code
          schema:
            type: string
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate farmer code
  /get-exact-file:
    get:
      consumes:
      - application/json
      description: Retrieves the exact file content based on the provided path
      parameters:
      - description: File path
        in: query
        name: path
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: File content
          schema:
            items:
              type: integer
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Exact File
  /import/admin/units:
    post:
      consumes:
      - application/json
      description: Import administrative units in bulk from a CSV file
      parameters:
      - description: Districts CSV file
        in: formData
        name: districts
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import administrative units
      tags:
      - admin_units
  /import/bulk/farmers:
    post:
      consumes:
      - multipart/form-data
      description: Bulk imports farmers from a CSV file
      operationId: bulkFarmerImport
      parameters:
      - description: CSV file with farmers data
        in: formData
        name: farmers
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Bulk import farmers
  /import/countries:
    post:
      consumes:
      - multipart/form-data
      description: Imports countries from a CSV file
      parameters:
      - description: CSV file containing countries
        in: formData
        name: countries
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import countries from CSV file
      tags:
      - country
  /import/crops:
    post:
      consumes:
      - multipart/form-data
      description: Imports crops from a CSV file
      parameters:
      - description: CSV file containing crops data
        in: formData
        name: crops
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import crops
      tags:
      - crops
  /import/dial/codes:
    post:
      consumes:
      - application/json
      description: Imports dial codes
      parameters:
      - description: Dial Codes to import
        in: body
        name: dialcodes
        required: true
        schema:
          $ref: '#/definitions/api.DialImportRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import dial codes
      tags:
      - dialcode
  /import/districts:
    post:
      consumes:
      - multipart/form-data
      description: Imports districts in bulk from a CSV file
      parameters:
      - description: Districts CSV file
        in: formData
        name: districts
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import districts
      tags:
      - districts
  /import/exit/handlers:
    post:
      consumes:
      - multipart/form-data
      description: Import exit handlers from a CSV file
      parameters:
      - description: CSV file containing exit handlers
        in: formData
        name: exithandlers
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import exit handlers from CSV
      tags:
      - exit_handlers
  /import/exit/points:
    post:
      consumes:
      - multipart/form-data
      description: Import exit points from CSV file
      parameters:
      - description: CSV file containing exit points
        in: formData
        name: exitpoints
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import exit points from CSV
      tags:
      - exit_points
  /import/parishes:
    post:
      consumes:
      - multipart/form-data
      description: Import parishes from a CSV file
      parameters:
      - description: CSV file containing parishes data
        in: formData
        name: parishes
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Parishes imported successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import Parishes
  /import/quality/attributes:
    post:
      consumes:
      - multipart/form-data
      description: Import quality attributes from a CSV file
      operationId: import-quality-attributes
      parameters:
      - description: Quality Attributes CSV File
        in: formData
        name: qualityattributes
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.QualityTypeAttribute'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import quality attributes from a CSV file
  /import/subcounties:
    post:
      consumes:
      - multipart/form-data
      description: Import multiple subcounties by uploading a CSV file
      parameters:
      - description: CSV file with subcounty data
        in: formData
        name: file
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import subcounties from a CSV file
      tags:
      - Subcounty
  /import/transport/modes:
    post:
      consumes:
      - multipart/form-data
      description: Import bulk modes of transport from a CSV file
      operationId: importBulkModesoftransport
      parameters:
      - description: CSV file containing modes of transport
        in: formData
        name: modesoftransport
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Successfully imported modes of transport
          schema:
            items:
              $ref: '#/definitions/api.Mot'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Bad file format
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import bulk modes of transport
  /import/villages:
    post:
      consumes:
      - multipart/form-data
      description: Imports a list of villages from a CSV file
      parameters:
      - description: CSV file containing village data
        in: formData
        name: villages
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Villages Imported Successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import Villages
      tags:
      - Villages
  /import/zones:
    post:
      consumes:
      - multipart/form-data
      description: Import zones from a CSV file
      parameters:
      - description: CSV file containing zones
        in: formData
        name: zones
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Import Zones
      tags:
      - Zone
  /inactive/order/crops/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves orders of a specific export company based on provided
        filters
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Order Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              items:
                $ref: '#/definitions/api.OrderListResponse'
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter Export Company Orders
  /inspection/recommendation/{id}:
    get:
      consumes:
      - application/json
      description: Get inspection recommendations by ID
      operationId: get-inspection-recommendation
      parameters:
      - description: Inspection recommendation ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get inspection recommendations
  /inspection/regimes/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves inspection regimes based on the provided request data
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.QCPListsType'
      summary: Retrieve inspection regimes
      tags:
      - Inspection Regimes
  /inspection/report/{id}:
    get:
      consumes:
      - application/json
      description: Get an inspection report by its ID
      parameters:
      - description: Inspection Report ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ReportTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get an inspection report
      tags:
      - report
  /inspector/{id}:
    get:
      consumes:
      - application/json
      description: Gets a packhouse inspector
      parameters:
      - description: Inspector ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.UserResType'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packhouse Inspector
  /inspector/companies/{id}:
    get:
      description: Retrieves the companies associated with a Packhouse Inspector.
      parameters:
      - description: Inspector ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: List of companies
          schema:
            items:
              items:
                $ref: '#/definitions/api.CompanyRes'
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/gin.H'
      summary: Get Inspector Companies
      tags:
      - Inspectors
  /inspector/stamps:
    get:
      description: Get inspector stamps
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.SuccessTypeResponse'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get inspector stamps
      tags:
      - Inspector
  /intercept/other/product:
    post:
      consumes:
      - application/json
      description: Intercepts other product
      parameters:
      - in: path
        name: box_weight
        required: true
        type: number
      - in: path
        name: consignment_no
        required: true
        type: string
      - in: path
        name: exportcompany_id
        required: true
        type: integer
      - in: path
        name: notes
        required: true
        type: string
      - in: path
        name: product_name
        required: true
        type: string
      - in: path
        name: qcp5_id
        required: true
        type: integer
      - in: path
        name: qcp5_row_id
        required: true
        type: integer
      - in: path
        name: reason
        required: true
        type: string
      - in: path
        name: recommendationaction
        required: true
        type: string
      - in: path
        name: weight_rejected
        required: true
        type: number
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Intercept Other Product
  /intercept/product:
    post:
      consumes:
      - application/json
      description: Intercepts product
      parameters:
      - in: path
        name: box_weight
        required: true
        type: number
      - in: path
        name: consignment_no
        required: true
        type: string
      - in: path
        name: exportcompany_id
        required: true
        type: integer
      - in: path
        name: notes
        required: true
        type: string
      - in: path
        name: product_id
        required: true
        type: integer
      - in: path
        name: qcp5_id
        required: true
        type: integer
      - in: path
        name: qcp5_row_id
        required: true
        type: integer
      - in: path
        name: reason
        required: true
        type: string
      - in: path
        name: recommendationaction
        required: true
        type: string
      - in: path
        name: traceability_code
        required: true
        type: string
      - in: path
        name: weight_rejected
        required: true
        type: number
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Intercept Product
  /interception/notice/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves interception notice per consignment
      parameters:
      - description: Consignment Number
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Interception Notice Per Consignment
  /issue/red/flag:
    post:
      consumes:
      - application/json
      description: Issues a red flag based on the provided details
      parameters:
      - description: Red flag issue details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.RedFlagReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Issue Red Flag
  /list/dcic/admin:
    get:
      consumes:
      - application/json
      description: Lists DCIC admins
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List DCIC Admins
  /list/document/configs:
    get:
      consumes:
      - application/json
      description: Retrieve a list of document configurations
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.AllDocumentDetailsRow'
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List document configurations
      tags:
      - documents
  /list/export/order/packing/list:
    get:
      consumes:
      - application/json
      description: Lists pending order packing lists
      parameters:
      - description: Order ID
        in: query
        name: order_id
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PackinglistResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Pending Order Packing Lists
  /list/export/packing/list:
    get:
      consumes:
      - application/json
      description: Lists pending packing lists
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PackinglistResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Session not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Pending Packing Lists
  /list/exporter/admin:
    get:
      description: List exporter admins
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List exporter admins
      tags:
      - Exporter
  /list/exporter/consignments:
    get:
      consumes:
      - application/json
      description: Retrieves planned consignments based on status and session ID
      parameters:
      - description: Session ID
        in: query
        name: id
        required: true
        type: string
      - description: Comma-separated list of statuses
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Planned Consignments
  /list/exporter/farmers/list:
    get:
      description: Retrieves details of farmers associated with a specific export
        company with pagination and status filter
      operationId: listFarmersForExporters
      parameters:
      - description: Export Company ID
        in: query
        name: exportcompany_id
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve paginated farmers for an export company with a specific status
  /list/exporter/order/qcp1s:
    get:
      consumes:
      - application/json
      description: Lists all exporter order quality control point ones
      parameters:
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Order ID
        in: query
        name: order_id
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp1Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all exporter order quality control point ones
  /list/exporter/order/qcp2s:
    get:
      consumes:
      - application/json
      description: Fetches the list of QCP2s by order
      parameters:
      - description: Page size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Order ID
        in: query
        name: order_id
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp2Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List QCP2s by Order
  /list/exporter/pending/order/qcp3s:
    get:
      consumes:
      - application/json
      description: Lists QCP3 order checks based on status and order ID
      parameters:
      - description: Order ID
        in: query
        name: order_id
        required: true
        type: integer
      - description: Status
        in: query
        name: status
        required: true
        type: string
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp3Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List QCP3 Order Checks
  /list/exporter/pending/qcp2s:
    get:
      consumes:
      - application/json
      description: Fetches the list of pending QCP2s
      parameters:
      - description: Page size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp2Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Pending QCP2s
  /list/exporter/pending/qcp3s:
    get:
      consumes:
      - application/json
      description: Lists QCP3 checks based on status
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Status
        in: query
        name: status
        required: true
        type: string
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp3Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List QCP3 Checks
  /list/exporter/qcp1s:
    get:
      consumes:
      - application/json
      description: Lists all exporter quality control point ones
      parameters:
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp1Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all exporter quality control point ones
  /list/exporter/qcp2s:
    get:
      consumes:
      - application/json
      description: Fetches the list of QCP2s
      parameters:
      - description: Page size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.Qcp2Response'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List QCP2s
  /list/exporter/receptionforms:
    get:
      consumes:
      - application/json
      description: List reception forms based on exporter session ID and status
      parameters:
      - description: Exporter session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Comma-separated list of statuses
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Reception Forms
      tags:
      - ReceptionForms
  /list/pending/qcp4s:
    get:
      consumes:
      - application/json
      description: List QCP4 inspections based on session ID, page ID, and page size
      parameters:
      - description: Session ID
        in: formData
        name: session_id
        required: true
        type: string
      - description: Page ID
        in: formData
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: formData
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ListPendingQcp4sRowType'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List QCP4 Inspections
  /list/pending/qcp5s:
    get:
      consumes:
      - application/json
      description: Endpoint to list pending QCP5 inspections based on session ID.
      parameters:
      - description: Session ID
        in: path
        name: session_id
        required: true
        type: string
      - description: Page ID
        in: path
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: path
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: List of pending QCP5 inspections
          schema:
            items:
              $ref: '#/definitions/api.ListPendingQcp5sRowType'
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Pending QCP5s
      tags:
      - QCP5
  /list/super/admin:
    get:
      consumes:
      - application/json
      description: Lists super admins
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Super Admins
  /list/trucks/consignment/{id}:
    get:
      consumes:
      - application/json
      description: Get trucks per consignment by consignment number
      operationId: get-trucks-per-consignment
      parameters:
      - description: Consignment number
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get trucks per consignment
  /list/user/export/companies:
    get:
      consumes:
      - application/json
      description: Get export companies associated with a user
      parameters:
      - in: query
        minimum: 1
        name: export_company
        required: true
        type: integer
      - in: query
        minimum: 1
        name: user_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get user's export companies
      tags:
      - User Export Companies
  /login:
    post:
      description: Logs in User in the database.
      produces:
      - application/json
      responses:
        "200":
          description: OK
      summary: Logs in User in the database
  /notifications:
    post:
      description: Send notifications
      parameters:
      - description: Phone
        in: query
        name: phone
        required: true
        type: string
      - description: Message
        in: query
        name: message
        required: true
        type: string
      responses:
        "200":
          description: Notification sent
          schema:
            type: string
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Send notifications
      tags:
      - Notifications
  /nppo/inspectors:
    get:
      consumes:
      - application/json
      description: Return a paginated list of NPPO inspectors
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.UserResType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return Paginated NPPO Inspectors
      tags:
      - NPPO
  /nppos/list:
    get:
      consumes:
      - application/json
      description: Return a paginated list of NPPO inspectors
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return Paginated NPPO Inspectors
      tags:
      - NPPO
  /order/weight:
    post:
      consumes:
      - application/json
      description: Updates the weight of a crop on a specific order
      parameters:
      - description: Update weight request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateOrderWeightReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Weight on Crop
  /orders:
    get:
      consumes:
      - application/json
      description: Retrieves a list of orders based on provided filters
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      - description: Order Status
        in: query
        name: status
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              items:
                $ref: '#/definitions/api.OrderListResponse'
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Session not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Orders
    post:
      consumes:
      - application/json
      description: Creates a new order
      parameters:
      - description: Order details to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.OrderRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.OrderRes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Unique violation
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Order
  /orders/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves an order by ID
      parameters:
      - description: Order ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Order not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Order
  /orders/stats/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves statistics for orders associated with a specific session
      parameters:
      - description: Session ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve order statistics
  /other/product/list/{id}:
    post:
      consumes:
      - application/json
      description: Deletes other packing list details by ID
      parameters:
      - description: Packing List ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Delete Other Packing List
  /pack/house/{id}:
    get:
      consumes:
      - application/json
      description: Get details of a packhouse by ID
      parameters:
      - description: Packhouse ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PackHouseResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Packhouse not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packhouse
  /pack/houses:
    get:
      consumes:
      - application/json
      description: Get a list of packhouses
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.PackHouseResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packhouses
    post:
      consumes:
      - application/json
      description: Creates a new packhouse
      parameters:
      - description: Packhouse details to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.PackHouseRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PackHouseResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Packhouse already exists
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Packhouse
    put:
      consumes:
      - application/json
      description: Updates a packhouse
      parameters:
      - description: Packhouse details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdatePackHouseRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PackHouseResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Packhouse not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Packhouse
  /package/type/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves details of a specific package type
      parameters:
      - description: Package Type ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve package type details
  /package/types:
    get:
      consumes:
      - application/json
      description: Retrieves a list of package types with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Retrieve package types with pagination
    post:
      consumes:
      - application/json
      description: Creates a new package type
      parameters:
      - description: Package type request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.PackageTypeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Package Type
    put:
      consumes:
      - application/json
      description: Updates package type details
      parameters:
      - description: Package type ID
        in: path
        name: id
        required: true
        type: integer
      - description: Package type details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdatePackageTypeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Package type not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Package Type
  /packhouse/count:
    get:
      consumes:
      - application/json
      description: Retrieves counts of active, inactive, and suspended packhouses
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packhouse Count
  /packhouse/inspector/{id}:
    get:
      description: Retrieves the details of a Packhouse Inspector by ID.
      parameters:
      - description: Inspector ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: Inspector details
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packhouse Inspector by ID
      tags:
      - Inspectors
  /packhouses:
    get:
      consumes:
      - application/json
      description: Get details of all packhouses
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              items:
                $ref: '#/definitions/api.PackhouseList'
              type: array
            type: array
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get All Packhouses
  /packing/batch/list/{id}:
    get:
      consumes:
      - application/json
      description: Returns packing list batch
      parameters:
      - description: Batch ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Return Packing List Batch
  /packing/list/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves packing list details by ID
      parameters:
      - description: Packing List ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PackinglistResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Packing list not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packing List
  /packing/list/boxes/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves packing list boxes per pack list
      parameters:
      - description: Packing list ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packing List Boxes
  /packing/list/details/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves packing list details by ID
      parameters:
      - description: Packing List ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PackinglistDetailsResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Packing list not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Packing List Details
  /packing/list/report/{id}:
    get:
      consumes:
      - application/json
      description: Generates packinglist report
      parameters:
      - description: Packinglist ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate Packinglist Report
  /packinglist/per/consignment/{id}:
    get:
      consumes:
      - application/json
      description: Updates weight to the same box weight
      parameters:
      - description: Export company ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Weight to Same Box Weight
  /packinglist/update/weight:
    put:
      consumes:
      - application/json
      description: Updates the weight details for boxes in the same packing list
      parameters:
      - description: Packing List Batch Request
        in: body
        name: packinglist
        required: true
        schema:
          $ref: '#/definitions/api.PackBatchReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Weight for Same Box Weight
      tags:
      - Packing List
  /parish/sub/county/{id}:
    get:
      consumes:
      - application/json
      description: Get all parishes for a specific subcounty
      parameters:
      - description: Subcounty ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ParishTypeRes'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get parishes by subcounty ID
      tags:
      - Subcounty
  /parishes:
    put:
      consumes:
      - application/json
      description: Update an existing parish
      parameters:
      - description: Parish ID
        in: path
        name: id
        required: true
        type: integer
      - description: Parish details
        in: body
        name: parish
        required: true
        schema:
          $ref: '#/definitions/api.UpdateParishReq'
      produces:
      - application/json
      responses:
        "200":
          description: Updated parish details
          schema:
            $ref: '#/definitions/api.Parish'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Parish
  /parishes/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve a parish by ID
      parameters:
      - description: Parish ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Parish details
          schema:
            $ref: '#/definitions/api.Parish'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Parish
  /parishes/create:
    post:
      consumes:
      - application/json
      description: Create a new parish
      parameters:
      - description: Parish details
        in: body
        name: parish
        required: true
        schema:
          $ref: '#/definitions/api.ParishCreate'
      produces:
      - application/json
      responses:
        "200":
          description: Parish created successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Parish
  /path:
    get:
      consumes:
      - application/json
      description: Retrieves a file based on the provided path
      parameters:
      - description: File path
        in: query
        name: path
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        "200":
          description: Success
          schema:
            type: file
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get File
  /phytocertificate/consignment/{id}:
    get:
      consumes:
      - application/json
      description: Get phyto certificate by consignment number
      operationId: get-phyto-certificate
      parameters:
      - description: Consignment number
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: string
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get phyto certificate
  /product/doc/type/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves a product document type by ID
      parameters:
      - description: Product document type ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ProductDocumentTypeRes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Product document type not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a product document type by ID
  /product/doc/types:
    get:
      consumes:
      - application/json
      description: Retrieves a list of product document types
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            items:
              $ref: '#/definitions/api.ProductDocumentTypeRes'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a list of product document types
    post:
      consumes:
      - application/json
      description: Creates a new product document type
      parameters:
      - description: Product document type details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.ProductDocTypeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ProductDocumentTypeRes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Document Type Already Exists
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a product document type
    put:
      consumes:
      - application/json
      description: Updates a product document type
      parameters:
      - description: Product document type details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateProductDocumentTypeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ProductDocumentTypeRes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Product document type not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a product document type
  /qcp/by/email:
    post:
      consumes:
      - application/json
      description: Retrieves QCP details by email
      parameters:
      - description: Email
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.QcpReqEmail'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.QcpEmailResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP by Email
  /qcp1:
    post:
      consumes:
      - application/json
      description: Creates a new quality control point one
      parameters:
      - description: Quality control point one details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.Qcp1Request'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/db.Qcp1'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create quality control point one
  /qcp1/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP1 details
      parameters:
      - description: QCP1 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP1
  /qcp1/qrcodes/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP1 QR codes
      parameters:
      - description: QCP1 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.Qcp1QrCodes'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP1 QR Codes
  /qcp1/recommendation/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP1 recommendation
      parameters:
      - description: Recommendation ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.Qcp1RecommendationType'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Recommendation QCP1
  /qcp1/recommendations:
    post:
      consumes:
      - application/json
      description: Creates QCP1 recommendations
      parameters:
      - description: QCP1 recommendations details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.QCP1RecommendationsRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create QCP1 recommendations
  /qcp1/report/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP1 report
      parameters:
      - description: QCP1 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP1 Report
  /qcp1s/attributes:
    post:
      consumes:
      - application/json
      description: Creates quality control point one attributes
      parameters:
      - description: Quality control point one attributes
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.Qcp1Req'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create quality control point one attributes
  /qcp2/{id}:
    get:
      consumes:
      - application/json
      description: Fetches details of a specific QCP2
      parameters:
      - description: QCP2 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP2 Details
  /qcp2/full/details/{id}:
    get:
      consumes:
      - application/json
      description: Generates a report for a specific QCP2
      parameters:
      - description: QCP2 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/gin.H'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate QCP2 Report
  /qcp2/handle/attributes:
    post:
      consumes:
      - application/json
      description: Handles creation or update of QCP2 attributes
      parameters:
      - description: QCP2 ID
        in: query
        name: qcp2_id
        required: true
        type: integer
      - description: QCP2 attributes details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.Qcp2AttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Handle QCP2 Attributes
  /qcp2/recommendation/{id}:
    get:
      consumes:
      - application/json
      description: Fetches recommendation for a specific QCP2
      parameters:
      - description: QCP2 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP2 Recommendation
  /qcp3/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves details of a QCP3 check
      parameters:
      - description: QCP3 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: QCP3 not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP3 Details
  /qcp3/full/details/{id}:
    get:
      consumes:
      - application/json
      description: Generates a report for a QCP3 check
      parameters:
      - description: QCP3 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Generate QCP3 Report
  /qcp3/handle/attributes:
    post:
      consumes:
      - application/json
      description: Handles creation and update of QCP3 attributes
      parameters:
      - description: QCP3 attributes details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.QCP3AttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Handle QCP3 Attributes
  /qcp3/recommendation/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves recommendation for a QCP3 check
      parameters:
      - description: QCP3 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.Qcp3RecommendationResType'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Recommendation for QCP3
  /qcp4/all/details/{id}:
    get:
      consumes:
      - application/json
      description: Retrieve detailed information for QCP4 including recommendations,
        attributes, products, and others
      parameters:
      - description: QCP4 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.Qcp4DetailsResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP4 Details
      tags:
      - QCP4
  /qcp4/full/report/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves filtered QCP4 reports based on the provided QCP4 ID
      parameters:
      - description: QCP4 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Filtered QCP4 reports
          schema:
            additionalProperties: true
            type: object
      summary: Filter QCP4 reports
      tags:
      - QCP4
  /qcp4/inspection:
    post:
      consumes:
      - application/json
      description: Perform QCP4 inspection and update related data
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Perform QCP4 Inspection
  /qcp4/other/inspection:
    post:
      consumes:
      - application/json
      description: Perform QCP4 inspection for other products and update related data
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Perform QCP4 Inspection for Other Products
  /qcp4/report/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP4 report based on the provided QCP4 ID
      parameters:
      - description: QCP4 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: QCP4 report data
          schema:
            additionalProperties: true
            type: object
      summary: Get QCP4 report
      tags:
      - QCP4
  /qcp4s/consignment:
    get:
      consumes:
      - application/json
      description: Get QCP4 inspections per consignment based on session ID and consignment
        number
      parameters:
      - description: Consignment Number
        in: query
        name: consignment_no
        required: true
        type: string
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ConsignmentResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP4 Inspections per Consignment
  /qcp4s/list/consignment/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves QCP4 lists per consignment based on consignment ID
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: QCP4 lists per consignment
          schema:
            $ref: '#/definitions/api.ConsignmentResponse'
      summary: Retrieve QCP4 lists per consignment
      tags:
      - QCP4 Lists
  /qcp5/all/details/{id}:
    get:
      consumes:
      - application/json
      description: Endpoint to retrieve details of a specific QCP5 inspection.
      parameters:
      - description: QCP5 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: QCP5 details
          schema:
            $ref: '#/definitions/api.Qcp5DetailsTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP5 Details
      tags:
      - QCP5
  /qcp5/full/report/{id}:
    get:
      description: Filter Quality Control Process 5 (QCP5) reports based on QCP5 ID
      operationId: filter-qcp5-reports
      parameters:
      - description: QCP5 ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Returns filtered QCP5 reports
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Filter QCP5 reports
  /qcp5/inspection/report/{id}:
    get:
      description: Retrieve inspection report for a given consignment ID
      operationId: get-qcp5-inspection-report
      parameters:
      - description: Consignment ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Returns QCP5 inspection report
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP5 inspection report
    post:
      consumes:
      - application/json
      description: Endpoint to perform QCP5 inspection and update various attributes
        in the database.
      parameters:
      - description: Authorization token
        in: header
        name: authorization
        required: true
        type: string
      - description: Request body containing QCP5 inspection details
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/api.Qcp5InspectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Perform QCP5 Inspection
      tags:
      - QCP5
  /qcp5/other/inspection:
    post:
      consumes:
      - application/json
      description: Endpoint to perform QCP5 inspection for other products and update
        various attributes in the database.
      parameters:
      - description: Authorization token
        in: header
        name: authorization
        required: true
        type: string
      - description: Request body containing QCP5 inspection details for other products
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/api.Qcp5OtherInspectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Perform QCP5 Inspection for other products
      tags:
      - QCP5
  /qcp5s/consignment:
    get:
      consumes:
      - application/json
      description: Endpoint to retrieve QCP5s for a specific consignment.
      parameters:
      - description: Consignment number
        in: query
        name: consignment_no
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: QCP5s per consignment
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get QCP5s per Consignment
      tags:
      - QCP5
  /quality/attribute/:id:
    put:
      consumes:
      - application/json
      description: Update a quality attribute with the given details
      operationId: update-quality-attribute
      parameters:
      - description: Update Quality Attribute Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateQualityAttributeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.QualityTypeAttribute'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a quality attribute
  /quality/attribute/{id}:
    get:
      consumes:
      - application/json
      description: Get a quality attribute by its ID
      operationId: get-quality-attribute
      parameters:
      - description: Quality Attribute ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.QualityTypeAttribute'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a quality attribute by ID
  /quality/attributes:
    get:
      consumes:
      - application/json
      description: Get all quality attributes
      operationId: get-all-quality-attributes
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.QualityTypeAttribute'
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get all quality attributes
    post:
      consumes:
      - application/json
      description: Store a new quality attribute with the given details
      operationId: store-quality-attribute
      parameters:
      - description: Quality Attribute Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.QualityAttributeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.QualityTypeAttribute'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Store a new quality attribute
  /quality/controller/list/{id}:
    get:
      description: Return a list of quality controllers per exporter
      parameters:
      - description: Exporter ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/gin.H'
      summary: Return Quality Controllers per Exporter
      tags:
      - QualityController
  /reason/rejection/{id}:
    get:
      consumes:
      - application/json
      description: Get a reason for rejection by its ID
      operationId: get-reason-rejection
      parameters:
      - description: Reason Rejection ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ReasonTyperejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a reason for rejection by ID
  /reason/rejections:
    get:
      consumes:
      - application/json
      description: Get all reasons for rejection
      operationId: get-all-reasons-rejection
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ReasonTyperejection'
            type: array
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get all reasons for rejection
    post:
      consumes:
      - application/json
      description: Create a new reason for rejection with the given details
      operationId: create-reason-rejection
      parameters:
      - description: Reason Rejection Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ReasonRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ReasonTyperejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new reason for rejection
    put:
      consumes:
      - application/json
      description: Update a reason for rejection with the given details
      operationId: update-reason-rejection
      parameters:
      - description: Update Reason Rejection Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateReasonRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.ReasonTyperejection'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a reason for rejection
  /reception/form/{id}:
    get:
      consumes:
      - application/json
      description: Return reception details with the given ID
      operationId: return-reception-details
      parameters:
      - description: Reception ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Return reception details
  /reception/form/count:
    get:
      consumes:
      - application/json
      description: Get counts of pending, submitted, and rejected reception forms
      operationId: get-reception-form-counts
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.ReceptionCountType'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get reception form counts
  /reception/forms/{id}:
    get:
      consumes:
      - application/json
      description: Get reception forms under consignment by order ID
      operationId: get-reception-forms-under-consignment
      parameters:
      - description: Order ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              type: object
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get reception forms under consignment
  /reception/full/details/{id}:
    get:
      consumes:
      - application/json
      description: Fetches full details of a reception
      parameters:
      - description: Reception ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Reception Full Details
      tags:
      - ReceptionForms
  /reception/otherdocs/{id}:
    delete:
      consumes:
      - application/json
      description: Delete other reception documents by ID
      operationId: delete-other-reception-documents
      parameters:
      - description: ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Delete other reception documents
    get:
      consumes:
      - application/json
      description: Get other reception documents by ID
      operationId: get-other-reception-documents
      parameters:
      - description: ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get other reception documents
  /red/flags/count:
    get:
      consumes:
      - application/json
      description: Retrieves counts of pending, approved, and denied red flags
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/gin.H'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Red Flag Counts
  /rejections:
    get:
      consumes:
      - application/json
      description: Get a list of rejection reasons with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.RejectionType'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List rejection reasons
      tags:
      - rejections
    post:
      consumes:
      - application/json
      description: Create a new rejection reason
      parameters:
      - description: Rejection request body
        in: body
        name: RejectionRequest
        required: true
        schema:
          $ref: '#/definitions/api.RejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.RejectionType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a rejection reason
      tags:
      - rejections
    put:
      consumes:
      - application/json
      description: Update an existing rejection reason by ID
      parameters:
      - description: Update rejection request body
        in: body
        name: UpdateRejectionRequest
        required: true
        schema:
          $ref: '#/definitions/api.UpdateRejectionRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.RejectionType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a rejection reason
      tags:
      - rejections
  /rejections/{id}:
    get:
      consumes:
      - application/json
      description: Get a specific rejection reason by ID
      parameters:
      - description: Rejection ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.RejectionType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a rejection reason
      tags:
      - rejections
  /remove/red/flag:
    post:
      consumes:
      - application/json
      description: Removes a red flag
      parameters:
      - description: Red flag removal details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.RemoveRedFlags'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Remove Red Flag
  /reset/password/{token}:
    post:
      description: Updates the password using the provided session ID.
      parameters:
      - description: Update Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateReqLink'
      responses:
        "200":
          description: Password updated successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Password
      tags:
      - Authentication
  /roles:
    get:
      consumes:
      - application/json
      description: Get a paginated list of all roles
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page Size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.RoleRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List all roles
      tags:
      - roles
    post:
      consumes:
      - application/json
      description: Create a new role with the specified name, description, and permissions
      parameters:
      - description: Role data
        in: body
        name: CreateRoleRequest
        required: true
        schema:
          $ref: '#/definitions/api.CreateRoleRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.CreateRoleRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new role
      tags:
      - roles
  /roles/{id}:
    get:
      consumes:
      - application/json
      description: Get the details of a specific role by its ID
      parameters:
      - description: Role ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.RoleRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a role by ID
      tags:
      - roles
  /roles/permissions/{id}:
    get:
      consumes:
      - application/json
      description: Get the permissions assigned to a specific role by its ID
      parameters:
      - description: Role ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get permissions for a role
      tags:
      - roles
  /schedule/planning/form:
    post:
      consumes:
      - application/json
      description: Schedules planning form
      parameters:
      - description: Planning details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.PlanningRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PlannedConsignmentResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Schedule Planning Form
  /search/border/inspector:
    get:
      description: Searches for a Border Inspector by name.
      parameters:
      - description: Inspector name
        in: query
        name: inspector
        required: true
        type: string
      responses:
        "200":
          description: List of inspectors
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Border Inspector
      tags:
      - Inspectors
  /search/crops:
    get:
      consumes:
      - application/json
      description: Searches for crops by name
      parameters:
      - description: Crop name to search
        in: query
        name: cropname
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              items:
                $ref: '#/definitions/api.CropRes'
              type: array
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search crops by name
      tags:
      - crops
  /search/exporter:
    get:
      consumes:
      - application/json
      description: Retrieves exporter details by name
      parameters:
      - description: Exporter name to search for
        in: query
        name: exporter
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.ExportTypeResponse'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Exporter by Name
  /search/farmer:
    get:
      description: Searches and retrieves details of farmers by their name
      operationId: searchFarmerName
      parameters:
      - description: Farmer Name
        in: query
        name: farmer_name
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            items:
              items:
                additionalProperties: true
                type: object
              type: array
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search farmers by name
  /search/packhouse:
    get:
      consumes:
      - application/json
      description: Retrieves packhouse details by name
      parameters:
      - description: Packhouse name to search for
        in: query
        name: packhouse
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.PackhouseTypeResponse'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Packhouse
  /search/packhouse/inspector:
    get:
      description: Searches for a Packhouse Inspector by name.
      parameters:
      - description: Inspector name
        in: query
        name: inspector
        required: true
        type: string
      responses:
        "200":
          description: List of inspectors
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Packhouse Inspector
      tags:
      - Inspectors
  /search/quality/controller:
    get:
      description: Searches for a Quality Controller by name.
      parameters:
      - description: Quality Controller name
        in: query
        name: qualitycontroller
        required: true
        type: string
      responses:
        "200":
          description: List of quality controllers
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Quality Controller
      tags:
      - Quality Controllers
  /search/zonal/inspector:
    get:
      description: Searches for a Zonal Inspector by name.
      parameters:
      - description: Zonal Inspector name
        in: query
        name: zonalinspector
        required: true
        type: string
      responses:
        "200":
          description: List of zonal inspectors
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Search Zonal Inspector
      tags:
      - Inspectors
  /send-reset-link:
    post:
      description: Sends a password reset link to the user's email.
      parameters:
      - description: User Email
        in: query
        name: email
        required: true
        type: string
      - description: User Fullname
        in: query
        name: fullname
        required: true
        type: string
      - description: Token
        in: query
        name: token
        required: true
        type: string
      responses:
        "200":
          description: Reset link sent successfully
          schema:
            type: string
        "500":
          description: Failed to send reset link
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Send Reset Link
      tags:
      - Authentication
  /send/otp:
    post:
      consumes:
      - application/json
      description: Send a one-time password to the farmer's phone
      parameters:
      - description: Farmer phone number
        in: body
        name: farmer
        required: true
        schema:
          $ref: '#/definitions/api.FarmerOTP'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Send OTP to farmer
      tags:
      - Farmer OTP
  /send/reset/password/link:
    post:
      consumes:
      - application/json
      description: Send a password reset link to the provided email
      parameters:
      - description: Password Reset Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.PasswordReset'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Reset Password
      tags:
      - User
  /sendClientMails:
    post:
      description: Sends emails to clients
      parameters:
      - description: Full name of the recipient
        in: query
        name: fullname
        required: true
        type: string
      - description: Email address of the recipient
        in: query
        name: email
        required: true
        type: string
      - description: Temporary password
        in: query
        name: password
        required: true
        type: string
      - description: User type
        in: query
        name: usertype
        required: true
        type: string
      responses:
        "200":
          description: Success
          schema:
            type: string
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Send Client Mails
  /server:
    post:
      consumes:
      - application/json
      description: Creates a new server with the given configuration, store, and token
        maker
      parameters:
      - description: Configuration
        in: body
        name: config
        required: true
        schema:
          $ref: '#/definitions/util.Config'
      - description: Database Store
        in: body
        name: store
        required: true
        schema:
          $ref: '#/definitions/db.Store'
      produces:
      - application/json
      responses:
        "200":
          description: Server created successfully
          schema:
            $ref: '#/definitions/api.Server'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/gin.H'
      summary: Create a new server
      tags:
      - Server
  /setup-router:
    post:
      description: Configures all routes for the server
      responses: {}
      summary: Set up server routes
      tags:
      - Server
  /show/packhouse/inpectors:
    get:
      consumes:
      - application/json
      description: Lists inspectors
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Inspectors
  /show/quality/controllers:
    get:
      consumes:
      - application/json
      description: Lists quality controllers
      parameters:
      - description: Session ID
        in: query
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            items:
              $ref: '#/definitions/api.UserResType'
            type: array
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List Quality Controllers
  /show/reception/documents/{id}:
    get:
      consumes:
      - application/json
      description: Show details of reception documents
      operationId: show-reception-documents
      parameters:
      - description: Reception document ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            additionalProperties: true
            type: object
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Show reception documents
  /stamp-inspectors:
    get:
      consumes:
      - application/json
      description: Retrieves the file paths of stamp inspectors from the specified
        folder
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: File paths of stamp inspectors
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
      summary: Retrieve stamp inspectors' file paths
      tags:
      - Stamp Inspectors
  /start:
    get:
      description: Runs the HTTP server on a specified address
      parameters:
      - description: Server address
        in: query
        name: address
        required: true
        type: string
      responses:
        "200":
          description: Server started successfully
          schema:
            type: string
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/gin.H'
      summary: Start the server
      tags:
      - Server
  /store/consignment/documents:
    post:
      consumes:
      - application/json
      description: Creates documents related to a consignment
      parameters:
      - description: Consignment number
        in: formData
        name: consignment_no
        required: true
        type: string
      - description: Document ID
        in: formData
        name: document_id
        required: true
        type: integer
      - description: Consignment file
        in: formData
        name: consignmentfile
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PlannedConsignmentDocumentResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Consignment Documents
  /store/consignment/otherdocuments:
    post:
      consumes:
      - application/json
      description: Creates other documents related to a consignment
      parameters:
      - description: Consignment number
        in: formData
        name: consignment_no
        required: true
        type: string
      - description: Description
        in: formData
        name: description
        required: true
        type: string
      - description: Consignment other document
        in: formData
        name: repdoc
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.PlannedConsignmentOtherDocsResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Consignment Other Docs
  /store/consignment/transport/details:
    post:
      consumes:
      - application/json
      description: Creates transport details of a consignment
      parameters:
      - description: Transport details of a consignment
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ConsignmentTpDetails'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.ConsignmentTpDetailsResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Consignment Transport Details
  /store/document/details:
    post:
      consumes:
      - application/json
      description: Create new documents with associated countries and crops in a transaction
      parameters:
      - description: Document data
        in: body
        name: document
        required: true
        schema:
          $ref: '#/definitions/api.DocumentsRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.AllDocumentDetailsRow'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create new documents
      tags:
      - documents
  /store/farmer/details:
    post:
      consumes:
      - application/json
      description: Create a farmer transaction with contacts and farms data
      operationId: createFarmerTx
      parameters:
      - description: Farmer transaction request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.FarmerTxRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a farmer transaction
  /sub/counties:
    get:
      consumes:
      - application/json
      description: Get a list of subcounties, optionally with pagination
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/api.subcountyRes'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get subcounties with pagination
      tags:
      - Subcounty
    put:
      consumes:
      - application/json
      description: Update the details of an existing subcounty
      parameters:
      - description: Updated subcounty details
        in: body
        name: subcounty
        required: true
        schema:
          $ref: '#/definitions/api.UpdateSubcountyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.subcountyRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a subcounty
      tags:
      - Subcounty
  /sub/county/{id}:
    get:
      consumes:
      - application/json
      description: Get details of a specific subcounty by its ID
      parameters:
      - description: Subcounty ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get a subcounty by ID
      tags:
      - Subcounty
  /sub/county/create:
    post:
      consumes:
      - application/json
      description: Create a new subcounty with the given details
      parameters:
      - description: Subcounty details
        in: body
        name: subcounty
        required: true
        schema:
          $ref: '#/definitions/api.SubCountyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.subcountyRes'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a new subcounty
      tags:
      - Subcounty
  /submit/consignment:
    post:
      consumes:
      - application/json
      description: Submits a consignment for processing
      parameters:
      - description: Submission request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.SubmissionReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Submit Consignment
  /submit/reception/form:
    post:
      consumes:
      - application/json
      description: Submit reception form details
      operationId: submit-reception-form
      parameters:
      - description: Reception Form Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.FinalReceptionReq'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Submit reception form
  /switch/inspector/role:
    post:
      consumes:
      - application/json
      description: Switch the role of an inspector
      parameters:
      - description: User ID and new role
        in: body
        name: switch
        required: true
        schema:
          $ref: '#/definitions/api.SwitchRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Switch inspector role
      tags:
      - Inspector Role
  /toggle/user/status:
    post:
      consumes:
      - application/json
      description: Toggles the active status of a user
      parameters:
      - description: User Status Toggle Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UserStatusToggle'
      produces:
      - application/json
      responses:
        "200":
          description: User details with updated status
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Toggle User Status
      tags:
      - Users
  /transport/mode/{id}:
    get:
      description: Retrieve a mode of transport by ID
      operationId: getModeOfTransport
      parameters:
      - description: Mode of transport ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Mode of transport details
          schema:
            $ref: '#/definitions/api.ModeofTransportResp'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Mode of transport not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get mode of transport
  /transport/modes:
    get:
      description: List all modes of transport
      operationId: getModesOfTransport
      parameters:
      - description: Page ID
        in: query
        name: page_id
        type: integer
      - description: Page size
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: List of modes of transport
          schema:
            items:
              $ref: '#/definitions/api.ModeofTransportResp'
            type: array
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: List modes of transport
    post:
      consumes:
      - application/json
      description: Create a new mode of transport
      operationId: createModeOfTransport
      parameters:
      - description: Mode of transport details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.ModeofTransportRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Successfully created mode of transport
          schema:
            $ref: '#/definitions/api.ModeofTransportResp'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Mode of transport already exists
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create mode of transport
    put:
      consumes:
      - application/json
      description: Update an existing mode of transport
      operationId: updateModeOfTransport
      parameters:
      - description: Mode of transport details
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateModeOfTransportRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Successfully updated mode of transport
          schema:
            $ref: '#/definitions/api.ModeofTransportResp'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Mode of transport not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update mode of transport
  /truck/hygiene/{id}:
    get:
      consumes:
      - application/json
      description: Get truck hygiene details by ID
      operationId: get-truck-hygiene
      parameters:
      - description: Truck hygiene ID
        in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.TruckHygieneTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get truck hygiene details
  /truck/status:
    post:
      consumes:
      - application/json
      description: Create a track status request with provided data
      parameters:
      - description: Track Status Request Data
        in: body
        name: status
        required: true
        schema:
          $ref: '#/definitions/api.TrackStatusReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create a track status request
      tags:
      - track
  /update-inspection-report:
    post:
      consumes:
      - application/json
      description: Updates an inspection report based on the provided request.
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      - description: Inspection Report Request
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/api.InspectionReportReq'
      produces:
      - application/json
      responses:
        "200":
          description: Inspection report updated successfully
          schema:
            type: string
      summary: Update Inspection Report
      tags:
      - Inspection Reports
  /update/all/order:
    put:
      consumes:
      - application/json
      description: Updates order details
      parameters:
      - description: Order ID
        in: body
        name: id
        required: true
        schema:
          type: integer
      - description: Order details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateOrderRequest'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            type: object
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Order not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Order
  /update/batch/list:
    post:
      consumes:
      - application/json
      description: Updates packing batch list details
      parameters:
      - description: Batch List Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.BatchReqS'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Packing Batch List
  /update/exitpoint/gps:
    put:
      consumes:
      - application/json
      description: Update exit point GPS coordinates
      parameters:
      - description: Request body
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.ExitPointReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update exit point GPS coordinates
      tags:
      - exit_points
  /update/exporter/stamp:
    post:
      description: Updates exporter stamp
      parameters:
      - description: Exporter stamp
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.ExporterStamp'
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Exporter Stamp
  /update/harvest/balance:
    post:
      consumes:
      - application/json
      description: Updates the harvest balance for a farmer's farm
      parameters:
      - description: Harvest Balance Request
        in: body
        name: harvest_balance
        required: true
        schema:
          $ref: '#/definitions/api.HarvestTraceabiliity'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Harvest Balance
      tags:
      - Harvest
  /update/order/weight:
    post:
      consumes:
      - application/json
      description: Updates order weight
      parameters:
      - description: Weight reject
        in: body
        name: weightreject
        required: true
        schema:
          type: number
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Order Weight
  /update/packhouse/gps:
    post:
      consumes:
      - application/json
      description: Updates the GPS coordinates of a packhouse
      parameters:
      - description: Packhouse GPS details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.PackHouseUp'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Packhouse GPS
  /update/packhouse/status:
    put:
      consumes:
      - application/json
      description: Updates the status of a packhouse
      parameters:
      - description: Packhouse ID
        in: path
        name: id
        required: true
        type: integer
      - description: Packhouse status update details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.PackhouseUpdate'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Packhouse Status
  /update/packing/list:
    post:
      consumes:
      - application/json
      description: Updates packing list details
      parameters:
      - description: Packing list details to update
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateReq'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Packing List
  /update/packinglist/status:
    post:
      consumes:
      - application/json
      description: Updates the status of packing lists based on the provided request.
      parameters:
      - description: Context
        in: path
        name: ctx
        required: true
        type: string
      - description: Update Status Request
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/api.UpdateStatusReq'
      produces:
      - application/json
      responses:
        "200":
          description: Status updated successfully
          schema:
            type: string
      summary: Update Packing List Status
      tags:
      - Packing Lists
  /update/reception/attributes:
    put:
      consumes:
      - application/json
      description: Update reception attributes with the given details
      operationId: update-reception-attributes
      parameters:
      - description: Update Reception Attributes Request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateReceptionFormAttributesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      security:
      - ApiKeyAuth: []
      summary: Update reception attributes
  /update/reception/form:
    put:
      consumes:
      - application/json
      description: Updates a reception form
      parameters:
      - description: Reception ID
        in: path
        name: id
        required: true
        type: integer
      - description: Session ID
        in: header
        name: session_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Reception Form
      tags:
      - ReceptionForms
  /update/red/flags:
    put:
      consumes:
      - application/json
      description: Updates status and reason of a red flag
      parameters:
      - description: Red flag update details
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UpdateRedFlags'
      produces:
      - application/json
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Red Flag
  /update/session/details:
    put:
      consumes:
      - application/json
      description: Updates session information for a user
      parameters:
      - description: Session ID
        in: body
        name: session_id
        required: true
        schema:
          type: string
      - description: Packhouse ID
        in: body
        name: packhouse_id
        required: true
        schema:
          type: integer
      - description: Export Company ID
        in: body
        name: exportcompany_id
        required: true
        schema:
          type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SessionInfo'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Session for User
  /update/truck/hygiene/report:
    post:
      consumes:
      - application/json
      description: Update a truck hygiene report with new data
      parameters:
      - description: Truck Hygiene Update Data
        in: body
        name: report
        required: true
        schema:
          $ref: '#/definitions/api.TruckHygieneUpdate'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update a truck hygiene report
      tags:
      - hygiene
  /update/truck/image:
    post:
      consumes:
      - multipart/form-data
      description: Upload an image report of a truck
      parameters:
      - description: Truck Image
        in: formData
        name: truck_image
        required: true
        type: file
      - description: Consignment Number
        in: formData
        name: consignment_no
        required: true
        type: string
      - description: Vehicle Registration Number
        in: formData
        name: vehicleregno
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload a truck image report
      tags:
      - hygiene
  /update/user/signature:
    post:
      consumes:
      - multipart/form-data
      description: Update user signature.
      parameters:
      - description: Authorization Payload
        in: header
        name: auth_payload
        required: true
        type: string
      - description: User signature to be updated
        in: formData
        name: signature
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: User Signature Uploaded Successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update user signature.
      tags:
      - Users
  /upload/company/logo:
    post:
      description: Uploads company logo
      parameters:
      - description: Company logo request
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.logoReq'
      responses:
        "200":
          description: Success
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload Company Logo
  /upload/farmer/id:
    post:
      consumes:
      - multipart/form-data
      description: Uploads farmer ID image for the given farmer ID
      operationId: uploadFarmerID
      parameters:
      - description: ID of the farmer
        in: formData
        name: farmer_id
        required: true
        type: integer
      - description: Farmer ID image
        in: formData
        name: farmer_image
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: Successful operation
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Invalid request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload farmer ID
  /upload/inspector/files:
    post:
      consumes:
      - multipart/form-data
      description: Uploads inspector files
      parameters:
      - description: User ID
        in: formData
        name: user_id
        required: true
        type: integer
      - description: Stamp
        in: formData
        name: stamp
        required: true
        type: file
      - description: Signature
        in: formData
        name: signature
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload Files
  /upload/inspector/stamps:
    post:
      consumes:
      - multipart/form-data
      description: Upload inspector stamps
      parameters:
      - description: Inspector Stamps
        in: formData
        name: stamps
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: string
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload inspector stamps
      tags:
      - Inspector
  /upload/truck/image:
    post:
      consumes:
      - multipart/form-data
      description: Upload an image of a truck
      parameters:
      - description: Consignment Number
        in: formData
        name: consignment_no
        required: true
        type: string
      - description: Truck Image
        in: formData
        name: truck_image
        required: true
        type: file
      - description: Vehicle Registration Number
        in: formData
        name: vehicleregno
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Upload a truck image
      tags:
      - hygiene
  /user/details/update:
    post:
      consumes:
      - application/json
      description: Update user details.
      parameters:
      - description: Authorization Payload
        in: header
        name: auth_payload
        required: true
        type: string
      - description: User details to be updated
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/api.UserDetailsReq'
      produces:
      - application/json
      responses:
        "200":
          description: 'success: updated user details successfully'
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update user details.
      tags:
      - Users
  /user/export/companies:
    get:
      consumes:
      - application/json
      description: Retrieves export companies associated with the user
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Export Companies for User
  /user/pack/houses:
    get:
      consumes:
      - application/json
      description: Retrieves pack houses associated with the user
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            type: object
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Pack Houses for User
  /user/signature:
    get:
      consumes:
      - application/json
      description: Fetch the signature of the authenticated user
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get user signature
      tags:
      - User Signature
  /user/type/stats:
    get:
      consumes:
      - application/json
      description: Retrieves statistics for different user types
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: User Type Statistics
  /user/update/password:
    post:
      consumes:
      - application/json
      description: Updates a user's password
      parameters:
      - description: Authorization Token
        in: header
        name: Authorization
        required: true
        type: string
      - description: Update User Password Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.UpdateUserRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update User Password
  /users:
    get:
      description: Fetches a list of users
      parameters:
      - description: Page ID
        in: query
        name: page_id
        required: true
        type: integer
      - description: Page Size
        in: query
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.UserResType'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Users
    post:
      consumes:
      - application/json
      description: Creates a new user
      parameters:
      - description: Create User Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.CreateUserRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.UserResType'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create User
  /users/{id}:
    get:
      description: Fetches a user by ID
      parameters:
      - description: User ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.UserResType'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get User
  /users/login:
    post:
      consumes:
      - application/json
      description: Logs in a user
      parameters:
      - description: Login User Request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.loginUserRequest'
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.loginUserResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "401":
          description: unauthorized
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Login User
  /users/logout:
    post:
      consumes:
      - application/json
      description: Logs out a user
      parameters:
      - description: Session ID
        in: body
        name: session_id
        required: true
        schema:
          type: string
      produces:
      - application/json
      responses:
        "200":
          description: ok
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Logout
  /verify/otp:
    post:
      consumes:
      - application/json
      description: Verify the OTP sent to the farmer's phone
      parameters:
      - description: OTP and phone number
        in: body
        name: verification
        required: true
        schema:
          $ref: '#/definitions/api.FarmerVerification'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Verify OTP
      tags:
      - Farmer OTP
  /villages:
    put:
      consumes:
      - application/json
      description: Updates an existing village
      parameters:
      - description: Village Data
        in: body
        name: village
        required: true
        schema:
          $ref: '#/definitions/api.UpdateVillageReq'
      produces:
      - application/json
      responses:
        "200":
          description: Updated Village
          schema:
            $ref: '#/definitions/api.VillageRespi'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Update Village
      tags:
      - Villages
  /villages/{id}:
    get:
      consumes:
      - application/json
      description: Gets details of a specific village by ID
      parameters:
      - description: Village ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: Village Data
          schema:
            $ref: '#/definitions/api.VillageRespi'
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "404":
          description: Village not found
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Get Village
      tags:
      - Villages
  /villages/create:
    post:
      consumes:
      - application/json
      description: Creates a new village
      parameters:
      - description: Village Data
        in: body
        name: village
        required: true
        schema:
          $ref: '#/definitions/api.VillageCreate'
      produces:
      - application/json
      responses:
        "200":
          description: village created successfully
          schema:
            type: string
        "400":
          description: Bad request
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
        "500":
          description: Internal server error
          schema:
            $ref: '#/definitions/api.ErrorTypeResponse'
      summary: Create Village
      tags:
      - Villages
  /zonal/inspector:
    get:
      consumes:
      - application/json
      description: Get a list of zonal inspectors
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.SuccessTypeResponse'
      summary: List zonal inspectors
      tags:
      - Zonal Inspectors
swagger: "2.0"
