openapi: 3.0.3
info:
  title: 'Timetaag API Documentation'
  description: 'Timetaag API provides secure and flexible endpoints for integrating time and attendance management into your applications. It supports real-time data syncing, employee authentication, shift scheduling, leave management, biometric device integration, and detailed reporting.'
  version: 1.0.0
servers:
  -
    url: 'https://app.timetaag.com'
paths:
  /api/v1/AdminLogin:
    post:
      summary: Login
      operationId: login
      description: 'This endpoint is used to login a user to the system.'
      parameters:
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Successful Login'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"data\": {\n         \"company_global_id\": \"10000\",\n         \"company_name\": \"Demo Company\",\n         \"super_admin_email\": \"user@example.com\"\n         \"subscription_device\": 2,\n         \"subscription_users\": 100,\n         \"subscription_date_end\": \"2024-09-12 00:00:00\"\n         },\n         \"current_license_status\": {\n         \"text\": \"Active\",\n         \"class\": \"text-success\"\n         }\n     },\n    \"message\": \"Logged In Successfully.\",\n}"
        400:
          description: 'Failed Login'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Invalid email or password!'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Invalid email or password!'
      tags:
        - Auth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: ''
                  example: user@example.com
                password:
                  type: string
                  description: ''
                  example: YourPassword
              required:
                - email
                - password
      security: []
  /api/v1/GetAttendance:
    get:
      summary: 'Get Attendance Rule'
      operationId: getAttendanceRule
      description: 'This endpoint is used to fetch all Attendance available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Attendance Rule'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Attendance Rule Retrieved Successfully.\",\n     \"data\": [\n         {\n             \"id\": 1,\n             \"AttSettingName\": \"Default\",\n             \"AttSettingCode\": \"Default\",\n             \"WeeklyOff1Day\": \"Friday\",\n             \"WeeklyOff1Occurence\": \"1,2,3,4,5\",\n             \"WeeklyOff2Day\": \"none\",\n             \"WeeklyOff2Occurence\": \"\",\n             \"HalfDayForLessDurationMin\": 7,\n             \"AbsentForLessDurationMin\": 6,\n             \"OTFormula\": \"shift_hour\",\n             \"MinimumOT\": 10,\n             \"MaximumOT\": 600,\n             \"GraceForLateComing\": 0,\n             \"GraceForEarlying\": 0,\n             \"MarkHalfDayWhenLateByMins\": 0,\n             \"MarkHalfDayWhenEarlyByMins\": 0,\n             \"IsConsiderFirstandLastPunch\": null,\n             \"IsValidateEarlyPunch\": null,\n             \"IsValidateLatePunch\": null,\n             \"IsDeductBreakDuration\": null,\n             \"SetSinglePunchStatusAs\": \"In Punch + 1 min\",\n             \"IsWOPHOPInOT\": 1,\n             \"IsAutoCompOff\": null,\n             \"HalfDayParForLessDurationMin\": 7,\n             \"AbsentParForLessDurationMin\": 6,\n             \"IsValPreSufAbsentOnWOHO\": null,\n             \"IsValSuffixAbsentOnWOHO\": null,\n             \"IsValPrefixAbsentOnWOHO\": null,\n             \"IsValLeaveForPrefixSuffix\": null,\n             \"HalfDayCoffForLessDurationMin\": 0,\n             \"NoCoffForLessDurationMin\": 0,\n             \"HalfDayCoffForLessOT\": 0,\n             \"NoCoffForLessOT\": 0,\n             \"ApplicableLeaves\": \"1\",\n             \"IsConsiderHAbsForContLate\": null,\n             \"MarkOrDeductDayLate\": 0.5,\n             \"WhenLateBy\": 2,\n             \"IsDeductLeaveForConLate\": null,\n             \"DeductLeaveType1Late\": null,\n             \"DeductLeaveType2Late\": null,\n             \"DeductLeaveType3Late\": null,\n             \"IsSameForEveryLate\": null,\n             \"IsConsiderHAbsConLateByMin\": null,\n             \"MarkOrDeductDayLateByMin\": 0.5,\n             \"WhenLateByMin\": 0,\n             \"IsDeductLeaveForConLateByMin\": null,\n             \"DeductLeaveType1LateByMin\": null,\n             \"DeductLeaveType2LateByMin\": null,\n             \"DeductLeaveType3LateByMin\": null,\n             \"IsConsiderHAbsForContEarly\": null,\n             \"MarkOrDeductDayEarly\": 0.5,\n             \"WhenEarlyBy\": 2,\n             \"IsDeductLeaveForConEarly\": null,\n             \"DeductLeaveType1Early\": null,\n             \"DeductLeaveType2Early\": null,\n             \"DeductLeaveType3Early\": null,\n             \"IsSameForEveryEarly\": null,\n             \"IsConsiderHAbsForContEarlyByMin\": null,\n             \"MarkOrDeductDayEarlyByMin\": 0.5,\n             \"WhenEarlyByMin\": 0,\n             \"IsDeductLeaveForConEarlyByMin\": null,\n             \"DeductLeaveType1EarlyByMin\": null,\n             \"DeductLeaveType2EarlyByMin\": null,\n             \"DeductLeaveType3EarlyByMin\": null,\n             \"ExcludedStatusForCon\": \"\",\n             \"ProductionBiometricIds\": \"\",\n             \"FlexiShiftId\": 4,\n             \"IsMarkLateEarlyAsPerMnth\": null,\n             \"DefaultOverTime\": 1,\n             \"DefaultMinWOHOOT\": 0,\n             \"IsNeglectLastInPunch\": null,\n             \"IsCheckTillLastOut\": 1,\n             \"IsOTNotApplicableOnOutStation\": null,\n             \"IsOTNotApplicableOnFlexiAndOpenShift\": null,\n             \"IsCheckForB24HrShift\": 0,\n             \"IsRoundOffOT\": null,\n             \"IsRoundDownOT\": null,\n             \"IsCheckMissPunchStatus\": 1,\n             \"WorkDurationFormula\": 1,\n             \"created_at\": \"2022-11-17T13:00:44.000000Z\",\n             \"updated_at\": \"2024-02-29T07:49:57.000000Z\"\n         }\n    ],\n    \"meta\": {\n       \"current_page\": 1,\n       \"from\": 1,\n       \"last_page\": 3,\n       \"links\": {\n           \"first\": \"https://app.timetaag.com/api/v1/GetAttendance?page=1\",\n           \"last\": \"https://app.timetaag.com/api/v1/GetAttendance?page=3\",\n           \"prev\": null,\n           \"next\": \"https://app.timetaag.com/api/v1/GetAttendance?page=2\"\n       },\n       \"path\": \"https://app.timetaag.com/api/v1/GetAttendance\",\n       \"per_page\": 10,\n       \"to\": 10,\n       \"total\": 23\n   },\n}"
      tags:
        - 'Attendance Rule'
  '/api/v1/GetAttendance/{id}':
    get:
      summary: 'Get Single Attendance Rule'
      operationId: getSingleAttendanceRule
      description: 'This endpoint is used to get single Attendance Rule from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Attendance Rule'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    AttSettingName: Name
                    AttSettingCode: Code
                    SetSinglePunchStatusAs: '1/2 Present'
                    ApplicableLeaves: '1'
                    WorkDurationFormula: '1'
                    GraceForLateComing: '2'
                    GraceForEarlying: '4'
                    MarkHalfDayWhenLateByMins: '1'
                    MarkHalfDayWhenEarlyByMins: '2'
                    HalfDayForLessDurationMin: '1'
                    AbsentForLessDurationMin: '4'
                    HalfDayParForLessDurationMin: '1'
                    AbsentParForLessDurationMin: '4'
                    ProductionBiometricIds: '3'
                    FlexiShiftId: '4'
                    OTFormula: shift_hour
                    DefaultOverTime: '2'
                    MinimumOT: '2'
                    MaximumOT: '4'
                    DefaultMinWOHOOT: '4'
                    IsOTNotApplicableOnOutStation: '0'
                    IsOTNotApplicableOnFlexiAndOpenShift: '1'
                    IsRoundOffOT: '1'
                    IsRoundDownOT: '0'
                    WeeklyOff1Day: Sunday
                    WeeklyOff1Occurence: '1,3'
                    WeeklyOff2Day: Friday
                    WeeklyOff2Occurence: '4'
                    IsValidateEarlyPunch: '1'
                    IsValidateLatePunch: '0'
                    IsDeductBreakDuration: '1'
                    IsConsiderFirstandLastPunch: '1'
                    IsWOPHOPInOT: '1'
                    IsNeglectLastInPunch: '0'
                    IsCheckTillLastOut: '0'
                    IsCheckMissPunchStatus: '1'
                    IsValPrefixAbsentOnWOHO: '1'
                    IsValSuffixAbsentOnWOHO: '0'
                    IsValPreSufAbsentOnWOHO: '0'
                    IsValLeaveForPrefixSuffix: '0'
                    IsAutoCompOff: '1'
                    HalfDayCoffForLessDurationMin: '5'
                    NoCoffForLessDurationMin: '3'
                    HalfDayCoffForLessOT: '0'
                    NoCoffForLessOT: '1'
                    IsMarkLateEarlyAsPerMnth: '1'
                    ExcludedStatusForCon: '2'
                    IsConsiderHAbsForContLate: '1'
                    MarkOrDeductDayLate: '0.5'
                    WhenLateBy: '2'
                    IsSameForEveryLate: '1'
                    IsDeductLeaveForConLate: '1'
                    DeductLeaveType1Late: '1'
                    DeductLeaveType2Late: '2'
                    DeductLeaveType3Late: '3'
                    IsConsiderHAbsForContEarly: '0'
                    MarkOrDeductDayEarly: '1'
                    WhenEarlyBy: '2'
                    IsSameForEveryEarly: '1'
                    IsDeductLeaveForConEarly: '0'
                    DeductLeaveType1Early: '0'
                    DeductLeaveType2Early: '2'
                    DeductLeaveType3Early: '4'
                    IsConsiderHAbsConLateByMin: '1'
                    MarkOrDeductDayLateByMin: '0.5'
                    WhenLateByMin: '1'
                    IsDeductLeaveForConLateByMin: '0'
                    DeductLeaveType1LateByMin: null
                    DeductLeaveType2LateByMin: null
                    DeductLeaveType3LateByMin: null
                    IsConsiderHAbsForContEarlyByMin: '1'
                    MarkOrDeductDayEarlyByMin: '1'
                    WhenEarlyByMin: '2'
                    IsDeductLeaveForConEarlyByMin: '1'
                    DeductLeaveType1EarlyByMin: '1'
                    DeductLeaveType2EarlyByMin: '2'
                    DeductLeaveType3EarlyByMin: null
                    updated_at: '2024-03-05T07:37:55.000000Z'
                    created_at: '2024-03-05T07:37:55.000000Z'
                    id: 5
                  message: 'Attendance Rule Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      AttSettingName:
                        type: string
                        example: Name
                      AttSettingCode:
                        type: string
                        example: Code
                      SetSinglePunchStatusAs:
                        type: string
                        example: '1/2 Present'
                      ApplicableLeaves:
                        type: string
                        example: '1'
                      WorkDurationFormula:
                        type: string
                        example: '1'
                      GraceForLateComing:
                        type: string
                        example: '2'
                      GraceForEarlying:
                        type: string
                        example: '4'
                      MarkHalfDayWhenLateByMins:
                        type: string
                        example: '1'
                      MarkHalfDayWhenEarlyByMins:
                        type: string
                        example: '2'
                      HalfDayForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentForLessDurationMin:
                        type: string
                        example: '4'
                      HalfDayParForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentParForLessDurationMin:
                        type: string
                        example: '4'
                      ProductionBiometricIds:
                        type: string
                        example: '3'
                      FlexiShiftId:
                        type: string
                        example: '4'
                      OTFormula:
                        type: string
                        example: shift_hour
                      DefaultOverTime:
                        type: string
                        example: '2'
                      MinimumOT:
                        type: string
                        example: '2'
                      MaximumOT:
                        type: string
                        example: '4'
                      DefaultMinWOHOOT:
                        type: string
                        example: '4'
                      IsOTNotApplicableOnOutStation:
                        type: string
                        example: '0'
                      IsOTNotApplicableOnFlexiAndOpenShift:
                        type: string
                        example: '1'
                      IsRoundOffOT:
                        type: string
                        example: '1'
                      IsRoundDownOT:
                        type: string
                        example: '0'
                      WeeklyOff1Day:
                        type: string
                        example: Sunday
                      WeeklyOff1Occurence:
                        type: string
                        example: '1,3'
                      WeeklyOff2Day:
                        type: string
                        example: Friday
                      WeeklyOff2Occurence:
                        type: string
                        example: '4'
                      IsValidateEarlyPunch:
                        type: string
                        example: '1'
                      IsValidateLatePunch:
                        type: string
                        example: '0'
                      IsDeductBreakDuration:
                        type: string
                        example: '1'
                      IsConsiderFirstandLastPunch:
                        type: string
                        example: '1'
                      IsWOPHOPInOT:
                        type: string
                        example: '1'
                      IsNeglectLastInPunch:
                        type: string
                        example: '0'
                      IsCheckTillLastOut:
                        type: string
                        example: '0'
                      IsCheckMissPunchStatus:
                        type: string
                        example: '1'
                      IsValPrefixAbsentOnWOHO:
                        type: string
                        example: '1'
                      IsValSuffixAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValPreSufAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValLeaveForPrefixSuffix:
                        type: string
                        example: '0'
                      IsAutoCompOff:
                        type: string
                        example: '1'
                      HalfDayCoffForLessDurationMin:
                        type: string
                        example: '5'
                      NoCoffForLessDurationMin:
                        type: string
                        example: '3'
                      HalfDayCoffForLessOT:
                        type: string
                        example: '0'
                      NoCoffForLessOT:
                        type: string
                        example: '1'
                      IsMarkLateEarlyAsPerMnth:
                        type: string
                        example: '1'
                      ExcludedStatusForCon:
                        type: string
                        example: '2'
                      IsConsiderHAbsForContLate:
                        type: string
                        example: '1'
                      MarkOrDeductDayLate:
                        type: string
                        example: '0.5'
                      WhenLateBy:
                        type: string
                        example: '2'
                      IsSameForEveryLate:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLate:
                        type: string
                        example: '1'
                      DeductLeaveType1Late:
                        type: string
                        example: '1'
                      DeductLeaveType2Late:
                        type: string
                        example: '2'
                      DeductLeaveType3Late:
                        type: string
                        example: '3'
                      IsConsiderHAbsForContEarly:
                        type: string
                        example: '0'
                      MarkOrDeductDayEarly:
                        type: string
                        example: '1'
                      WhenEarlyBy:
                        type: string
                        example: '2'
                      IsSameForEveryEarly:
                        type: string
                        example: '1'
                      IsDeductLeaveForConEarly:
                        type: string
                        example: '0'
                      DeductLeaveType1Early:
                        type: string
                        example: '0'
                      DeductLeaveType2Early:
                        type: string
                        example: '2'
                      DeductLeaveType3Early:
                        type: string
                        example: '4'
                      IsConsiderHAbsConLateByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayLateByMin:
                        type: string
                        example: '0.5'
                      WhenLateByMin:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLateByMin:
                        type: string
                        example: '0'
                      DeductLeaveType1LateByMin:
                        type: string
                        example: null
                      DeductLeaveType2LateByMin:
                        type: string
                        example: null
                      DeductLeaveType3LateByMin:
                        type: string
                        example: null
                      IsConsiderHAbsForContEarlyByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayEarlyByMin:
                        type: string
                        example: '1'
                      WhenEarlyByMin:
                        type: string
                        example: '2'
                      IsDeductLeaveForConEarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType1EarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType2EarlyByMin:
                        type: string
                        example: '2'
                      DeductLeaveType3EarlyByMin:
                        type: string
                        example: null
                      updated_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      id:
                        type: integer
                        example: 5
                  message:
                    type: string
                    example: 'Attendance Rule Retrieved Successfully.'
        400:
          description: 'Attendance Rule Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Attendance Rule Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Attendance Rule Not Found.'
      tags:
        - 'Attendance Rule'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the attendance.'
        example: 3
        required: true
        schema:
          type: integer
  '/api/v1/DeleteAttendance/{id}':
    delete:
      summary: 'Delete Attendance Rule'
      operationId: deleteAttendanceRule
      description: 'This endpoint is used to delete Attendance Rule from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Attendance Rule'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Attendance Rule Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Attendance Rule Deleted Successfully.'
        400:
          description: 'Attendance Rule Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Attendance Rule Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Attendance Rule Not Found.'
      tags:
        - 'Attendance Rule'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the Attendance Rule.'
        example: 3
        required: true
        schema:
          type: integer
  /api/v1/AddAttendance:
    post:
      summary: 'Add Attendance Rule'
      operationId: addAttendanceRule
      description: 'This endpoint is used to add Attendance Rule to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Attendance'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    AttSettingName: Name
                    AttSettingCode: Code
                    SetSinglePunchStatusAs: '1/2 Present'
                    ApplicableLeaves: '1'
                    WorkDurationFormula: '1'
                    GraceForLateComing: '2'
                    GraceForEarlying: '4'
                    MarkHalfDayWhenLateByMins: '1'
                    MarkHalfDayWhenEarlyByMins: '2'
                    HalfDayForLessDurationMin: '1'
                    AbsentForLessDurationMin: '4'
                    HalfDayParForLessDurationMin: '1'
                    AbsentParForLessDurationMin: '4'
                    ProductionBiometricIds: '3'
                    FlexiShiftId: '4'
                    OTFormula: shift_hour
                    DefaultOverTime: '2'
                    MinimumOT: '2'
                    MaximumOT: '4'
                    DefaultMinWOHOOT: '4'
                    IsOTNotApplicableOnOutStation: '0'
                    IsOTNotApplicableOnFlexiAndOpenShift: '1'
                    IsRoundOffOT: '1'
                    IsRoundDownOT: '0'
                    WeeklyOff1Day: Sunday
                    WeeklyOff1Occurence: '1,3'
                    WeeklyOff2Day: Friday
                    WeeklyOff2Occurence: '4'
                    IsValidateEarlyPunch: '1'
                    IsValidateLatePunch: '0'
                    IsDeductBreakDuration: '1'
                    IsConsiderFirstandLastPunch: '1'
                    IsWOPHOPInOT: '1'
                    IsNeglectLastInPunch: '0'
                    IsCheckTillLastOut: '0'
                    IsCheckMissPunchStatus: '1'
                    IsValPrefixAbsentOnWOHO: '1'
                    IsValSuffixAbsentOnWOHO: '0'
                    IsValPreSufAbsentOnWOHO: '0'
                    IsValLeaveForPrefixSuffix: '0'
                    IsAutoCompOff: '1'
                    HalfDayCoffForLessDurationMin: '5'
                    NoCoffForLessDurationMin: '3'
                    HalfDayCoffForLessOT: '0'
                    NoCoffForLessOT: '1'
                    IsMarkLateEarlyAsPerMnth: '1'
                    ExcludedStatusForCon: '2'
                    IsConsiderHAbsForContLate: '1'
                    MarkOrDeductDayLate: '0.5'
                    WhenLateBy: '2'
                    IsSameForEveryLate: '1'
                    IsDeductLeaveForConLate: '1'
                    DeductLeaveType1Late: '1'
                    DeductLeaveType2Late: '2'
                    DeductLeaveType3Late: '3'
                    IsConsiderHAbsForContEarly: '0'
                    MarkOrDeductDayEarly: '1'
                    WhenEarlyBy: '2'
                    IsSameForEveryEarly: '1'
                    IsDeductLeaveForConEarly: '0'
                    DeductLeaveType1Early: '0'
                    DeductLeaveType2Early: '2'
                    DeductLeaveType3Early: '4'
                    IsConsiderHAbsConLateByMin: '1'
                    MarkOrDeductDayLateByMin: '0.5'
                    WhenLateByMin: '1'
                    IsDeductLeaveForConLateByMin: '0'
                    DeductLeaveType1LateByMin: null
                    DeductLeaveType2LateByMin: null
                    DeductLeaveType3LateByMin: null
                    IsConsiderHAbsForContEarlyByMin: '1'
                    MarkOrDeductDayEarlyByMin: '1'
                    WhenEarlyByMin: '2'
                    IsDeductLeaveForConEarlyByMin: '1'
                    DeductLeaveType1EarlyByMin: '1'
                    DeductLeaveType2EarlyByMin: '2'
                    DeductLeaveType3EarlyByMin: null
                    updated_at: '2024-03-05T07:37:55.000000Z'
                    created_at: '2024-03-05T07:37:55.000000Z'
                    id: 5
                  message: 'Attendance Rule Created Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      AttSettingName:
                        type: string
                        example: Name
                      AttSettingCode:
                        type: string
                        example: Code
                      SetSinglePunchStatusAs:
                        type: string
                        example: '1/2 Present'
                      ApplicableLeaves:
                        type: string
                        example: '1'
                      WorkDurationFormula:
                        type: string
                        example: '1'
                      GraceForLateComing:
                        type: string
                        example: '2'
                      GraceForEarlying:
                        type: string
                        example: '4'
                      MarkHalfDayWhenLateByMins:
                        type: string
                        example: '1'
                      MarkHalfDayWhenEarlyByMins:
                        type: string
                        example: '2'
                      HalfDayForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentForLessDurationMin:
                        type: string
                        example: '4'
                      HalfDayParForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentParForLessDurationMin:
                        type: string
                        example: '4'
                      ProductionBiometricIds:
                        type: string
                        example: '3'
                      FlexiShiftId:
                        type: string
                        example: '4'
                      OTFormula:
                        type: string
                        example: shift_hour
                      DefaultOverTime:
                        type: string
                        example: '2'
                      MinimumOT:
                        type: string
                        example: '2'
                      MaximumOT:
                        type: string
                        example: '4'
                      DefaultMinWOHOOT:
                        type: string
                        example: '4'
                      IsOTNotApplicableOnOutStation:
                        type: string
                        example: '0'
                      IsOTNotApplicableOnFlexiAndOpenShift:
                        type: string
                        example: '1'
                      IsRoundOffOT:
                        type: string
                        example: '1'
                      IsRoundDownOT:
                        type: string
                        example: '0'
                      WeeklyOff1Day:
                        type: string
                        example: Sunday
                      WeeklyOff1Occurence:
                        type: string
                        example: '1,3'
                      WeeklyOff2Day:
                        type: string
                        example: Friday
                      WeeklyOff2Occurence:
                        type: string
                        example: '4'
                      IsValidateEarlyPunch:
                        type: string
                        example: '1'
                      IsValidateLatePunch:
                        type: string
                        example: '0'
                      IsDeductBreakDuration:
                        type: string
                        example: '1'
                      IsConsiderFirstandLastPunch:
                        type: string
                        example: '1'
                      IsWOPHOPInOT:
                        type: string
                        example: '1'
                      IsNeglectLastInPunch:
                        type: string
                        example: '0'
                      IsCheckTillLastOut:
                        type: string
                        example: '0'
                      IsCheckMissPunchStatus:
                        type: string
                        example: '1'
                      IsValPrefixAbsentOnWOHO:
                        type: string
                        example: '1'
                      IsValSuffixAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValPreSufAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValLeaveForPrefixSuffix:
                        type: string
                        example: '0'
                      IsAutoCompOff:
                        type: string
                        example: '1'
                      HalfDayCoffForLessDurationMin:
                        type: string
                        example: '5'
                      NoCoffForLessDurationMin:
                        type: string
                        example: '3'
                      HalfDayCoffForLessOT:
                        type: string
                        example: '0'
                      NoCoffForLessOT:
                        type: string
                        example: '1'
                      IsMarkLateEarlyAsPerMnth:
                        type: string
                        example: '1'
                      ExcludedStatusForCon:
                        type: string
                        example: '2'
                      IsConsiderHAbsForContLate:
                        type: string
                        example: '1'
                      MarkOrDeductDayLate:
                        type: string
                        example: '0.5'
                      WhenLateBy:
                        type: string
                        example: '2'
                      IsSameForEveryLate:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLate:
                        type: string
                        example: '1'
                      DeductLeaveType1Late:
                        type: string
                        example: '1'
                      DeductLeaveType2Late:
                        type: string
                        example: '2'
                      DeductLeaveType3Late:
                        type: string
                        example: '3'
                      IsConsiderHAbsForContEarly:
                        type: string
                        example: '0'
                      MarkOrDeductDayEarly:
                        type: string
                        example: '1'
                      WhenEarlyBy:
                        type: string
                        example: '2'
                      IsSameForEveryEarly:
                        type: string
                        example: '1'
                      IsDeductLeaveForConEarly:
                        type: string
                        example: '0'
                      DeductLeaveType1Early:
                        type: string
                        example: '0'
                      DeductLeaveType2Early:
                        type: string
                        example: '2'
                      DeductLeaveType3Early:
                        type: string
                        example: '4'
                      IsConsiderHAbsConLateByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayLateByMin:
                        type: string
                        example: '0.5'
                      WhenLateByMin:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLateByMin:
                        type: string
                        example: '0'
                      DeductLeaveType1LateByMin:
                        type: string
                        example: null
                      DeductLeaveType2LateByMin:
                        type: string
                        example: null
                      DeductLeaveType3LateByMin:
                        type: string
                        example: null
                      IsConsiderHAbsForContEarlyByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayEarlyByMin:
                        type: string
                        example: '1'
                      WhenEarlyByMin:
                        type: string
                        example: '2'
                      IsDeductLeaveForConEarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType1EarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType2EarlyByMin:
                        type: string
                        example: '2'
                      DeductLeaveType3EarlyByMin:
                        type: string
                        example: null
                      updated_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      id:
                        type: integer
                        example: 5
                  message:
                    type: string
                    example: 'Attendance Rule Created Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"attendance_name\": [\n          \"validation.required\"\n        ],\n        \"attendance_code\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - 'Attendance Rule'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                AttSettingName:
                  type: string
                  description: unique
                  example: Test
                AttSettingCode:
                  type: string
                  description: unique
                  example: test
                single_punch_status:
                  type: string
                  description: ''
                  example: '1/2 Present'
                applicable_leaves:
                  type: string
                  description: ''
                  example: '1,2'
                work_duration_formula:
                  type: integer
                  description: ''
                  example: 1
                grace_forlatecoming:
                  type: integer
                  description: ''
                  example: 1
                grace_forearlygoing:
                  type: integer
                  description: ''
                  example: 1
                mark_halfdaywhenlatebymins:
                  type: integer
                  description: ''
                  example: 1
                mark_halfdaywhenearlybymins:
                  type: integer
                  description: ''
                  example: 1
                halfday_forlessdurationmin:
                  type: integer
                  description: ''
                  example: 1
                absent_forlessdurationmin:
                  type: integer
                  description: ''
                  example: 1
                production_biometrics:
                  type: string
                  description: ''
                  example: '1,2'
                flexi_shift:
                  type: integer
                  description: ''
                  example: 1
                ot_formula:
                  type: string
                  description: ''
                  example: shift_hour
                default_ot:
                  type: integer
                  description: ''
                  example: 1
                min_ot:
                  type: integer
                  description: ''
                  example: 1
                max_ot:
                  type: integer
                  description: ''
                  example: 1
                min_woho_ot:
                  type: integer
                  description: ''
                  example: 1
                no_ot_on_out_station:
                  type: integer
                  description: ''
                  example: 1
                no_ot_on_flexi_open_shift:
                  type: integer
                  description: ''
                  example: 1
                round_off_ot:
                  type: integer
                  description: ''
                  example: 1
                round_down_ot:
                  type: integer
                  description: ''
                  example: 1
                weekly_off1:
                  type: string
                  description: ''
                  example: Sunday
                weekoff1_day:
                  type: string
                  description: ''
                  example: '1,3'
                weekly_off2:
                  type: string
                  description: ''
                  example: Monday
                weekoff2_day:
                  type: string
                  description: ''
                  example: '1,4'
                validate_early_punch:
                  type: integer
                  description: ''
                  example: 1
                validate_late_punch:
                  type: integer
                  description: ''
                  example: 0
                deduct_break_hour:
                  type: integer
                  description: ''
                  example: 1
                first_last_punch:
                  type: integer
                  description: ''
                  example: 1
                wop_hop:
                  type: integer
                  description: ''
                  example: 1
                neglect_last_punch:
                  type: integer
                  description: ''
                  example: 1
                check_till_last:
                  type: integer
                  description: ''
                  example: 1
                check_miss_punch:
                  type: integer
                  description: ''
                  example: 1
                prefix_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                suffix_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                ps_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                ps_leave_on_woho:
                  type: integer
                  description: ''
                  example: 1
                auto_compoff:
                  type: integer
                  description: ''
                  example: 1
                coff_less:
                  type: integer
                  description: ''
                  example: 1
                no_coff_less:
                  type: integer
                  description: ''
                  example: 1
                coff_less_ot:
                  type: integer
                  description: ''
                  example: 1
                no_coff_less_ot:
                  type: integer
                  description: ''
                  example: 1
                mark_late_early:
                  type: integer
                  description: ''
                  example: 1
                exclusive_status:
                  type: string
                  description: ''
                  example: '1,2'
                late_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                late_mark_deduct:
                  type: integer
                  description: ''
                  example: 0
                late_for:
                  type: integer
                  description: ''
                  example: 1
                late_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                late_leave1:
                  type: integer
                  description: ''
                  example: 1
                late_leave2:
                  type: integer
                  description: ''
                  example: 1
                late_leave3:
                  type: integer
                  description: ''
                  example: 1
                early_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                early_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                early_by:
                  type: integer
                  description: ''
                  example: 1
                every_early:
                  type: integer
                  description: ''
                  example: 1
                early_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                early_leave1:
                  type: integer
                  description: ''
                  example: 1
                early_leave2:
                  type: integer
                  description: ''
                  example: 1
                early_leave3:
                  type: integer
                  description: ''
                  example: 1
                late_mins_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                late_mins_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                late_mins_late_for:
                  type: integer
                  description: ''
                  example: 1
                late_mins_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave1:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave2:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave3:
                  type: integer
                  description: ''
                  example: 1
                early_mins_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                early_mins_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                early_mins_earlyby:
                  type: integer
                  description: ''
                  example: 1
                early_mins_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave1:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave2:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave3:
                  type: integer
                  description: ''
                  example: 1
              required:
                - AttSettingName
                - AttSettingCode
  '/api/v1/UpdateAttendance/{id}':
    patch:
      summary: 'Update Attendance Rule'
      operationId: updateAttendanceRule
      description: 'This endpoint is used to update Attendance Rule to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Attendance Rule'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    AttSettingName: Name
                    AttSettingCode: Code
                    SetSinglePunchStatusAs: '1/2 Present'
                    ApplicableLeaves: '1'
                    WorkDurationFormula: '1'
                    GraceForLateComing: '2'
                    GraceForEarlying: '4'
                    MarkHalfDayWhenLateByMins: '1'
                    MarkHalfDayWhenEarlyByMins: '2'
                    HalfDayForLessDurationMin: '1'
                    AbsentForLessDurationMin: '4'
                    HalfDayParForLessDurationMin: '1'
                    AbsentParForLessDurationMin: '4'
                    ProductionBiometricIds: '3'
                    FlexiShiftId: '4'
                    OTFormula: shift_hour
                    DefaultOverTime: '2'
                    MinimumOT: '2'
                    MaximumOT: '4'
                    DefaultMinWOHOOT: '4'
                    IsOTNotApplicableOnOutStation: '0'
                    IsOTNotApplicableOnFlexiAndOpenShift: '1'
                    IsRoundOffOT: '1'
                    IsRoundDownOT: '0'
                    WeeklyOff1Day: Sunday
                    WeeklyOff1Occurence: '1,3'
                    WeeklyOff2Day: Friday
                    WeeklyOff2Occurence: '4'
                    IsValidateEarlyPunch: '1'
                    IsValidateLatePunch: '0'
                    IsDeductBreakDuration: '1'
                    IsConsiderFirstandLastPunch: '1'
                    IsWOPHOPInOT: '1'
                    IsNeglectLastInPunch: '0'
                    IsCheckTillLastOut: '0'
                    IsCheckMissPunchStatus: '1'
                    IsValPrefixAbsentOnWOHO: '1'
                    IsValSuffixAbsentOnWOHO: '0'
                    IsValPreSufAbsentOnWOHO: '0'
                    IsValLeaveForPrefixSuffix: '0'
                    IsAutoCompOff: '1'
                    HalfDayCoffForLessDurationMin: '5'
                    NoCoffForLessDurationMin: '3'
                    HalfDayCoffForLessOT: '0'
                    NoCoffForLessOT: '1'
                    IsMarkLateEarlyAsPerMnth: '1'
                    ExcludedStatusForCon: '2'
                    IsConsiderHAbsForContLate: '1'
                    MarkOrDeductDayLate: '0.5'
                    WhenLateBy: '2'
                    IsSameForEveryLate: '1'
                    IsDeductLeaveForConLate: '1'
                    DeductLeaveType1Late: '1'
                    DeductLeaveType2Late: '2'
                    DeductLeaveType3Late: '3'
                    IsConsiderHAbsForContEarly: '0'
                    MarkOrDeductDayEarly: '1'
                    WhenEarlyBy: '2'
                    IsSameForEveryEarly: '1'
                    IsDeductLeaveForConEarly: '0'
                    DeductLeaveType1Early: '0'
                    DeductLeaveType2Early: '2'
                    DeductLeaveType3Early: '4'
                    IsConsiderHAbsConLateByMin: '1'
                    MarkOrDeductDayLateByMin: '0.5'
                    WhenLateByMin: '1'
                    IsDeductLeaveForConLateByMin: '0'
                    DeductLeaveType1LateByMin: null
                    DeductLeaveType2LateByMin: null
                    DeductLeaveType3LateByMin: null
                    IsConsiderHAbsForContEarlyByMin: '1'
                    MarkOrDeductDayEarlyByMin: '1'
                    WhenEarlyByMin: '2'
                    IsDeductLeaveForConEarlyByMin: '1'
                    DeductLeaveType1EarlyByMin: '1'
                    DeductLeaveType2EarlyByMin: '2'
                    DeductLeaveType3EarlyByMin: null
                    updated_at: '2024-03-05T07:37:55.000000Z'
                    created_at: '2024-03-05T07:37:55.000000Z'
                    id: 5
                  message: 'Attendance Rule Update Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      AttSettingName:
                        type: string
                        example: Name
                      AttSettingCode:
                        type: string
                        example: Code
                      SetSinglePunchStatusAs:
                        type: string
                        example: '1/2 Present'
                      ApplicableLeaves:
                        type: string
                        example: '1'
                      WorkDurationFormula:
                        type: string
                        example: '1'
                      GraceForLateComing:
                        type: string
                        example: '2'
                      GraceForEarlying:
                        type: string
                        example: '4'
                      MarkHalfDayWhenLateByMins:
                        type: string
                        example: '1'
                      MarkHalfDayWhenEarlyByMins:
                        type: string
                        example: '2'
                      HalfDayForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentForLessDurationMin:
                        type: string
                        example: '4'
                      HalfDayParForLessDurationMin:
                        type: string
                        example: '1'
                      AbsentParForLessDurationMin:
                        type: string
                        example: '4'
                      ProductionBiometricIds:
                        type: string
                        example: '3'
                      FlexiShiftId:
                        type: string
                        example: '4'
                      OTFormula:
                        type: string
                        example: shift_hour
                      DefaultOverTime:
                        type: string
                        example: '2'
                      MinimumOT:
                        type: string
                        example: '2'
                      MaximumOT:
                        type: string
                        example: '4'
                      DefaultMinWOHOOT:
                        type: string
                        example: '4'
                      IsOTNotApplicableOnOutStation:
                        type: string
                        example: '0'
                      IsOTNotApplicableOnFlexiAndOpenShift:
                        type: string
                        example: '1'
                      IsRoundOffOT:
                        type: string
                        example: '1'
                      IsRoundDownOT:
                        type: string
                        example: '0'
                      WeeklyOff1Day:
                        type: string
                        example: Sunday
                      WeeklyOff1Occurence:
                        type: string
                        example: '1,3'
                      WeeklyOff2Day:
                        type: string
                        example: Friday
                      WeeklyOff2Occurence:
                        type: string
                        example: '4'
                      IsValidateEarlyPunch:
                        type: string
                        example: '1'
                      IsValidateLatePunch:
                        type: string
                        example: '0'
                      IsDeductBreakDuration:
                        type: string
                        example: '1'
                      IsConsiderFirstandLastPunch:
                        type: string
                        example: '1'
                      IsWOPHOPInOT:
                        type: string
                        example: '1'
                      IsNeglectLastInPunch:
                        type: string
                        example: '0'
                      IsCheckTillLastOut:
                        type: string
                        example: '0'
                      IsCheckMissPunchStatus:
                        type: string
                        example: '1'
                      IsValPrefixAbsentOnWOHO:
                        type: string
                        example: '1'
                      IsValSuffixAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValPreSufAbsentOnWOHO:
                        type: string
                        example: '0'
                      IsValLeaveForPrefixSuffix:
                        type: string
                        example: '0'
                      IsAutoCompOff:
                        type: string
                        example: '1'
                      HalfDayCoffForLessDurationMin:
                        type: string
                        example: '5'
                      NoCoffForLessDurationMin:
                        type: string
                        example: '3'
                      HalfDayCoffForLessOT:
                        type: string
                        example: '0'
                      NoCoffForLessOT:
                        type: string
                        example: '1'
                      IsMarkLateEarlyAsPerMnth:
                        type: string
                        example: '1'
                      ExcludedStatusForCon:
                        type: string
                        example: '2'
                      IsConsiderHAbsForContLate:
                        type: string
                        example: '1'
                      MarkOrDeductDayLate:
                        type: string
                        example: '0.5'
                      WhenLateBy:
                        type: string
                        example: '2'
                      IsSameForEveryLate:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLate:
                        type: string
                        example: '1'
                      DeductLeaveType1Late:
                        type: string
                        example: '1'
                      DeductLeaveType2Late:
                        type: string
                        example: '2'
                      DeductLeaveType3Late:
                        type: string
                        example: '3'
                      IsConsiderHAbsForContEarly:
                        type: string
                        example: '0'
                      MarkOrDeductDayEarly:
                        type: string
                        example: '1'
                      WhenEarlyBy:
                        type: string
                        example: '2'
                      IsSameForEveryEarly:
                        type: string
                        example: '1'
                      IsDeductLeaveForConEarly:
                        type: string
                        example: '0'
                      DeductLeaveType1Early:
                        type: string
                        example: '0'
                      DeductLeaveType2Early:
                        type: string
                        example: '2'
                      DeductLeaveType3Early:
                        type: string
                        example: '4'
                      IsConsiderHAbsConLateByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayLateByMin:
                        type: string
                        example: '0.5'
                      WhenLateByMin:
                        type: string
                        example: '1'
                      IsDeductLeaveForConLateByMin:
                        type: string
                        example: '0'
                      DeductLeaveType1LateByMin:
                        type: string
                        example: null
                      DeductLeaveType2LateByMin:
                        type: string
                        example: null
                      DeductLeaveType3LateByMin:
                        type: string
                        example: null
                      IsConsiderHAbsForContEarlyByMin:
                        type: string
                        example: '1'
                      MarkOrDeductDayEarlyByMin:
                        type: string
                        example: '1'
                      WhenEarlyByMin:
                        type: string
                        example: '2'
                      IsDeductLeaveForConEarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType1EarlyByMin:
                        type: string
                        example: '1'
                      DeductLeaveType2EarlyByMin:
                        type: string
                        example: '2'
                      DeductLeaveType3EarlyByMin:
                        type: string
                        example: null
                      updated_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T07:37:55.000000Z'
                      id:
                        type: integer
                        example: 5
                  message:
                    type: string
                    example: 'Attendance Rule Update Successfully.'
        400:
          description: 'Attendance Rule Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Attendance Rule Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Attendance Rule Not Found.'
      tags:
        - 'Attendance Rule'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                attendance_name:
                  type: string
                  description: ''
                  example: id
                attendance_code:
                  type: string
                  description: ''
                  example: ut
                AttSettingName:
                  type: string
                  description: unique
                  example: Test
                AttSettingCode:
                  type: string
                  description: unique
                  example: test
                single_punch_status:
                  type: string
                  description: ''
                  example: '1/2 Present'
                applicable_leaves:
                  type: string
                  description: ''
                  example: '1,2'
                work_duration_formula:
                  type: integer
                  description: ''
                  example: 1
                grace_forlatecoming:
                  type: integer
                  description: ''
                  example: 1
                grace_forearlygoing:
                  type: integer
                  description: ''
                  example: 1
                mark_halfdaywhenlatebymins:
                  type: integer
                  description: ''
                  example: 1
                mark_halfdaywhenearlybymins:
                  type: integer
                  description: ''
                  example: 1
                halfday_forlessdurationmin:
                  type: integer
                  description: ''
                  example: 1
                absent_forlessdurationmin:
                  type: integer
                  description: ''
                  example: 1
                production_biometrics:
                  type: string
                  description: ''
                  example: '1,2'
                flexi_shift:
                  type: integer
                  description: ''
                  example: 1
                ot_formula:
                  type: string
                  description: ''
                  example: shift_hour
                default_ot:
                  type: integer
                  description: ''
                  example: 1
                min_ot:
                  type: integer
                  description: ''
                  example: 1
                max_ot:
                  type: integer
                  description: ''
                  example: 1
                min_woho_ot:
                  type: integer
                  description: ''
                  example: 1
                no_ot_on_out_station:
                  type: integer
                  description: ''
                  example: 1
                no_ot_on_flexi_open_shift:
                  type: integer
                  description: ''
                  example: 1
                round_off_ot:
                  type: integer
                  description: ''
                  example: 1
                round_down_ot:
                  type: integer
                  description: ''
                  example: 1
                weekly_off1:
                  type: string
                  description: ''
                  example: Sunday
                weekoff1_day:
                  type: string
                  description: ''
                  example: '1,3'
                weekly_off2:
                  type: string
                  description: ''
                  example: Monday
                weekoff2_day:
                  type: string
                  description: ''
                  example: '1,4'
                validate_early_punch:
                  type: integer
                  description: ''
                  example: 1
                validate_late_punch:
                  type: integer
                  description: ''
                  example: 0
                deduct_break_hour:
                  type: integer
                  description: ''
                  example: 1
                first_last_punch:
                  type: integer
                  description: ''
                  example: 1
                wop_hop:
                  type: integer
                  description: ''
                  example: 1
                neglect_last_punch:
                  type: integer
                  description: ''
                  example: 1
                check_till_last:
                  type: integer
                  description: ''
                  example: 1
                check_miss_punch:
                  type: integer
                  description: ''
                  example: 1
                prefix_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                suffix_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                ps_absent_on_woho:
                  type: integer
                  description: ''
                  example: 1
                ps_leave_on_woho:
                  type: integer
                  description: ''
                  example: 1
                auto_compoff:
                  type: integer
                  description: ''
                  example: 1
                coff_less:
                  type: integer
                  description: ''
                  example: 1
                no_coff_less:
                  type: integer
                  description: ''
                  example: 1
                coff_less_ot:
                  type: integer
                  description: ''
                  example: 1
                no_coff_less_ot:
                  type: integer
                  description: ''
                  example: 1
                mark_late_early:
                  type: integer
                  description: ''
                  example: 1
                exclusive_status:
                  type: string
                  description: ''
                  example: '1,2'
                late_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                late_mark_deduct:
                  type: integer
                  description: ''
                  example: 0
                late_for:
                  type: integer
                  description: ''
                  example: 1
                late_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                late_leave1:
                  type: integer
                  description: ''
                  example: 1
                late_leave2:
                  type: integer
                  description: ''
                  example: 1
                late_leave3:
                  type: integer
                  description: ''
                  example: 1
                early_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                early_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                early_by:
                  type: integer
                  description: ''
                  example: 1
                every_early:
                  type: integer
                  description: ''
                  example: 1
                early_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                early_leave1:
                  type: integer
                  description: ''
                  example: 1
                early_leave2:
                  type: integer
                  description: ''
                  example: 1
                early_leave3:
                  type: integer
                  description: ''
                  example: 1
                late_mins_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                late_mins_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                late_mins_late_for:
                  type: integer
                  description: ''
                  example: 1
                late_mins_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave1:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave2:
                  type: integer
                  description: ''
                  example: 1
                late_mins_leave3:
                  type: integer
                  description: ''
                  example: 1
                early_mins_mark_attendance:
                  type: integer
                  description: ''
                  example: 1
                early_mins_mark_deduct:
                  type: integer
                  description: ''
                  example: 1
                early_mins_earlyby:
                  type: integer
                  description: ''
                  example: 1
                early_mins_deduct_leave:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave1:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave2:
                  type: integer
                  description: ''
                  example: 1
                early_mins_leave3:
                  type: integer
                  description: ''
                  example: 1
              required:
                - attendance_name
                - attendance_code
                - AttSettingName
                - AttSettingCode
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the Attendance Rule.'
        example: 10
        required: true
        schema:
          type: integer
  /api/v1/GetBranch:
    get:
      summary: 'Get Branchs'
      operationId: getBranchs
      description: 'This endpoint is used to fetch all branches available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Branches'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"data\": [\n          {\n              \"id\": 1,\n              \"name\": \"BranchName\",\n              \"code\": \"b1\",\n              \"email\": \"defaultbranch@gmail.com\",\n              \"address\": \"default\",\n              \"created_at\": \"2022-11-17T11:29:01.000000Z\",\n              \"updated_at\": \"2022-11-17T11:29:01.000000Z\"\n          },\n     ],\n     \"message\": \"Branch Retrieved Successfully.\"\n}"
      tags:
        - Branchs
  '/api/v1/GetBranch/{id}':
    get:
      summary: 'Get Single Branch'
      operationId: getSingleBranch
      description: 'This endpoint is used to get a branch from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Branch'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    name: Test
                    code: test
                    email: apidemo@timetaag.com
                    address: '123459'
                    updated_at: '2024-03-05T05:13:19.000000Z'
                    created_at: '2024-03-05T05:13:19.000000Z'
                    id: 3
                  message: 'Branch Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: Test
                      code:
                        type: string
                        example: test
                      email:
                        type: string
                        example: apidemo@timetaag.com
                      address:
                        type: string
                        example: '123459'
                      updated_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      id:
                        type: integer
                        example: 3
                  message:
                    type: string
                    example: 'Branch Retrieved Successfully.'
        400:
          description: 'Branch Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Branch Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Branch Not Found.'
      tags:
        - Branchs
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the branch.'
        example: 14
        required: true
        schema:
          type: integer
  '/api/v1/DeleteBranch/{id}':
    delete:
      summary: 'Delete Branch'
      operationId: deleteBranch
      description: 'This endpoint is used to delete a branch from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Branch'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Branch Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Branch Deleted Successfully.'
        400:
          description: 'Branch Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Branch Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Branch Not Found.'
      tags:
        - Branchs
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the DeleteBranch.'
        example: voluptas
        required: true
        schema:
          type: string
  /api/v1/AddBranch:
    post:
      summary: 'Add Branch'
      operationId: addBranch
      description: 'This endpoint is used to add branch to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Branch'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    name: Test
                    code: test
                    email: apidemo@timetaag.com
                    address: '123459'
                    updated_at: '2024-03-05T05:13:19.000000Z'
                    created_at: '2024-03-05T05:13:19.000000Z'
                    id: 3
                  message: 'Branch Created Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: Test
                      code:
                        type: string
                        example: test
                      email:
                        type: string
                        example: apidemo@timetaag.com
                      address:
                        type: string
                        example: '123459'
                      updated_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      id:
                        type: integer
                        example: 3
                  message:
                    type: string
                    example: 'Branch Created Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"name\": [\n          \"validation.required\"\n        ],\n        \"dept_code\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - Branchs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: unique
                  example: Test
                code:
                  type: string
                  description: unique
                  example: test
                email:
                  type: string
                  description: ''
                  example: apidemo@timetaag.com
                address:
                  type: string
                  description: ''
                  example: '123459'
              required:
                - name
                - code
  '/api/v1/UpdateBranch/{id}':
    patch:
      summary: 'Update Branch'
      operationId: updateBranch
      description: 'This endpoint is used to update a branch to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Branch'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    name: Test
                    code: test
                    email: apidemo@timetaag.com
                    address: '123459'
                    updated_at: '2024-03-05T05:13:19.000000Z'
                    created_at: '2024-03-05T05:13:19.000000Z'
                    id: 3
                  message: 'Branch Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: Test
                      code:
                        type: string
                        example: test
                      email:
                        type: string
                        example: apidemo@timetaag.com
                      address:
                        type: string
                        example: '123459'
                      updated_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T05:13:19.000000Z'
                      id:
                        type: integer
                        example: 3
                  message:
                    type: string
                    example: 'Branch Updated Successfully.'
        400:
          description: 'Branch Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Branch Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Branch Not Found.'
      tags:
        - Branchs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: unique
                  example: Test
                code:
                  type: string
                  description: unique
                  example: test
                email:
                  type: string
                  description: ''
                  example: apidemo@timetaag.com
                address:
                  type: string
                  description: ''
                  example: '123459'
              required:
                - name
                - code
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the branch.'
        example: 6
        required: true
        schema:
          type: integer
  /api/v1/GetDepartments:
    get:
      summary: 'Get Departments'
      operationId: getDepartments
      description: 'This endpoint is used to fetch all departments from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Departments'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Department Retrieved Successfully.\",\n     \"data\": [\n          {\n              \"id\": 7,\n              \"dept_name\": \"Administration\",\n              \"dept_code\": \"Admin\",\n              \"description\": \"Administration\",\n              \"created_at\": \"-000001-11-29T20:18:48.000000Z\",\n              \"updated_at\": \"-000001-11-29T20:18:48.000000Z\"\n          },\n      ],\n     \"meta\": {\n          \"current_page\": 1,\n          \"from\": 1,\n          \"last_page\": 3,\n          \"links\": {\n              \"first\": \"https://app.timetaag.com/api/v1/GetDepartments?page=1\",\n              \"last\": \"https://app.timetaag.com/api/v1/GetDepartments?page=3\",\n              \"prev\": null,\n              \"next\": \"https://app.timetaag.com/api/v1/GetDepartments?page=2\"\n          },\n          \"path\": \"https://app.timetaag.com/api/v1/GetDepartments\",\n          \"per_page\": 10,\n          \"to\": 10,\n          \"total\": 23\n      },\n}"
      tags:
        - Departments
  '/api/v1/GetDepartment/{id}':
    get:
      summary: 'Get Single Department'
      operationId: getSingleDepartment
      description: 'This endpoint is used to get single department to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Department'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    dept_name: Abc
                    dept_code: abc
                    description: ABC
                    updated_at: '2024-03-05T04:42:47.000000Z'
                    created_at: '2024-03-05T04:42:47.000000Z'
                    id: 9
                  message: 'Department Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      dept_name:
                        type: string
                        example: Abc
                      dept_code:
                        type: string
                        example: abc
                      description:
                        type: string
                        example: ABC
                      updated_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      id:
                        type: integer
                        example: 9
                  message:
                    type: string
                    example: 'Department Retrieved Successfully.'
        400:
          description: 'Department Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Department Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Department Not Found.'
      tags:
        - Departments
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the department.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/DeleteDepartment/{id}':
    delete:
      summary: 'Delete Department'
      operationId: deleteDepartment
      description: 'This endpoint is used to delete department from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Department'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n      \"status\": true,\n      \"code\": 200\n      \"message\": \"Department Deleted Successfully.\"\n}"
        400:
          description: 'Department Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Department Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Department Not Found.'
      tags:
        - Departments
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the department.'
        example: 5
        required: true
        schema:
          type: integer
  /api/v1/AddDepartment:
    post:
      summary: 'Add Department'
      operationId: addDepartment
      description: 'This endpoint is used to add department to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Department'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    dept_name: Abc
                    dept_code: abc
                    description: ABC
                    updated_at: '2024-03-05T04:42:47.000000Z'
                    created_at: '2024-03-05T04:42:47.000000Z'
                    id: 9
                  message: 'Department Created Successfully..'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      dept_name:
                        type: string
                        example: Abc
                      dept_code:
                        type: string
                        example: abc
                      description:
                        type: string
                        example: ABC
                      updated_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      id:
                        type: integer
                        example: 9
                  message:
                    type: string
                    example: 'Department Created Successfully..'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"dept_name\": [\n          \"validation.required\"\n        ],\n        \"dept_code\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - Departments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                dept_name:
                  type: string
                  description: unique
                  example: Abc
                dept_code:
                  type: string
                  description: unique
                  example: abc
                description:
                  type: string
                  description: ''
                  example: ABC
              required:
                - dept_name
                - dept_code
  '/api/v1/UpdateDepartment/{id}':
    patch:
      summary: 'Update Department'
      operationId: updateDepartment
      description: 'This endpoint is used to update department to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Department'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    dept_name: Abc
                    dept_code: abc
                    description: ABC
                    updated_at: '2024-03-05T04:42:47.000000Z'
                    created_at: '2024-03-05T04:42:47.000000Z'
                    id: 9
                  message: 'Department Updated Successfully..'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      dept_name:
                        type: string
                        example: Abc
                      dept_code:
                        type: string
                        example: abc
                      description:
                        type: string
                        example: ABC
                      updated_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T04:42:47.000000Z'
                      id:
                        type: integer
                        example: 9
                  message:
                    type: string
                    example: 'Department Updated Successfully..'
        400:
          description: 'Department Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Department Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Department Not Found.'
      tags:
        - Departments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                dept_name:
                  type: string
                  description: unique
                  example: Abc
                dept_code:
                  type: string
                  description: unique
                  example: abc
                description:
                  type: string
                  description: ''
                  example: ABC
              required:
                - dept_name
                - dept_code
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the department.'
        example: 11
        required: true
        schema:
          type: integer
  /api/v1/GetDevices:
    get:
      summary: 'Get Devices'
      operationId: getDevices
      description: 'This endpoint is used to fetch all devices from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Devices'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Biometrics Devices Retrieved Successfully.\"\n     \"data\": [\n          {\n             \"id\": 5,\n             \"name\": \"Device1\",\n             \"code\": \"DEV1\",\n             \"direction\": \"Alternate Direction\",\n             \"serial_number\": \"DEVICESERAILNO\",\n             \"ip_address\": \"192.168.1.201\",\n             \"FPCount\": \"5\",\n             \"FaceCount\": 2,\n             \"UserCount\": \"18\",\n             \"AttLogsCount\": \"61\",\n             \"OnlineStatus\": null,\n             \"FirmwareVersion\": \"Ver 8.0.4.2-20180713\",\n             \"LastSwipeDownloadedOn\": \"2024-02-05 10:04:42\",\n             \"LastCommunicateToServer\": \"2024-02-07 15:03:59\",\n             \"biomatric_for\": \"1\",\n             \"branch\": \"1\",\n             \"timezone\": \"87\",\n             \"biomatric_grp\": \"none\",\n             \"location\": \"1\"\n         }\n      ],\n     \"meta\": {\n          \"current_page\": 1,\n          \"from\": 1,\n          \"last_page\": 3,\n          \"links\": {\n              \"first\": \"https://app.timetaag.com/api/v1/GetDevices?page=1\",\n              \"last\": \"https://app.timetaag.com/api/v1/GetDevices?page=3\",\n              \"prev\": null,\n              \"next\": \"https://app.timetaag.com/api/v1/GetDevices?page=2\"\n          },\n          \"path\": \"https://app.timetaag.com/api/v1/GetDevices\",\n          \"per_page\": 10,\n          \"to\": 10,\n          \"total\": 23\n      }\n}"
      tags:
        - Devices
  '/api/v1/GetDevice/{id}':
    get:
      summary: 'Get Single Device'
      operationId: getSingleDevice
      description: 'This endpoint is used to get single Device from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Device'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Biometric Device Retrieved Successfully.\",\n      \"data\": {\n         \"id\": 5,\n         \"name\": \"Device1\",\n         \"code\": \"DEV1\",\n         \"direction\": \"Alternate Direction\",\n         \"serial_number\": \"DEVICESERAILNO\",\n         \"ip_address\": \"192.168.1.201\",\n         \"FPCount\": \"5\",\n         \"FaceCount\": 0,\n         \"UserCount\": \"18\",\n         \"AttLogsCount\": \"61\",\n         \"OnlineStatus\": null,\n         \"FirmwareVersion\": \"Ver 8.0.4.2-20180713\",\n         \"LastSwipeDownloadedOn\": \"2024-02-05 10:04:42\",\n         \"LastCommunicateToServer\": \"2024-02-07 15:03:59\",\n         \"biomatric_for\": \"1\",\n         \"branch\": \"1\",\n         \"timezone\": \"87\",\n         \"biomatric_grp\": \"1\",\n         \"location\": \"2\"\n     },\n}"
        400:
          description: 'Device Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Device Not Found'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Device Not Found'
      tags:
        - Devices
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the device.'
        example: 19
        required: true
        schema:
          type: integer
  '/api/v1/DeleteDevice/{id}':
    delete:
      summary: 'Delete Device'
      operationId: deleteDevice
      description: 'This endpoint is used to delete device from the system.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Device'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Biometric Device Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Biometric Device Deleted Successfully.'
        400:
          description: 'Biometric Device Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Biometric Device Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Biometric Device Not Found.'
      tags:
        - Devices
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the device.'
        example: 10
        required: true
        schema:
          type: integer
  /api/v1/GetDeviceLogs:
    post:
      summary: 'Get Device Logs'
      operationId: getDeviceLogs
      description: 'This endpoint is used to fetch all device logs from the database. Dates to be passed in Unix Timestamp.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Device Logs'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    -
                      UserId: '100'
                      InsertDate: '2024-02-05 10:04:42'
                      PunchDateTime: '2024-02-05 10:04:38'
                      SwipeDirection: '0'
                      serial_number: SERIALNOHERE
                      AuthenticationMode: '1'
                      AttendanceMarkingType: BM
                      Remarks: ''
                      Lattitude: 24.2545
                      Longitude: 21.5454
                      distaneInKm: 20
                      PermittedGeoLat: 24.2542
                      PermittedGeoLong: 21.5452
                      PermittedRadius: 50
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 3
                    links:
                      first: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=1'
                      last: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=3'
                      prev: null
                      next: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=2'
                    path: 'https://app.timetaag.com/api/v1/GetDeviceLogs'
                    per_page: 100
                    to: 10
                    total: 23
                  message: 'Device Logs Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        UserId: '100'
                        InsertDate: '2024-02-05 10:04:42'
                        PunchDateTime: '2024-02-05 10:04:38'
                        SwipeDirection: '0'
                        serial_number: SERIALNOHERE
                        AuthenticationMode: '1'
                        AttendanceMarkingType: BM
                        Remarks: ''
                        Lattitude: 24.2545
                        Longitude: 21.5454
                        distaneInKm: 20
                        PermittedGeoLat: 24.2542
                        PermittedGeoLong: 21.5452
                        PermittedRadius: 50
                    items:
                      type: object
                      properties:
                        UserId:
                          type: string
                          example: '100'
                        InsertDate:
                          type: string
                          example: '2024-02-05 10:04:42'
                        PunchDateTime:
                          type: string
                          example: '2024-02-05 10:04:38'
                        SwipeDirection:
                          type: string
                          example: '0'
                        serial_number:
                          type: string
                          example: SERIALNOHERE
                        AuthenticationMode:
                          type: string
                          example: '1'
                        AttendanceMarkingType:
                          type: string
                          example: BM
                        Remarks:
                          type: string
                          example: ''
                        Lattitude:
                          type: number
                          example: 24.2545
                        Longitude:
                          type: number
                          example: 21.5454
                        distaneInKm:
                          type: integer
                          example: 20
                        PermittedGeoLat:
                          type: number
                          example: 24.2542
                        PermittedGeoLong:
                          type: number
                          example: 21.5452
                        PermittedRadius:
                          type: integer
                          example: 50
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 3
                      links:
                        type: object
                        properties:
                          first:
                            type: string
                            example: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=1'
                          last:
                            type: string
                            example: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=3'
                          prev:
                            type: string
                            example: null
                          next:
                            type: string
                            example: 'https://app.timetaag.com/api/v1/GetDeviceLogs?page=2'
                      path:
                        type: string
                        example: 'https://app.timetaag.com/api/v1/GetDeviceLogs'
                      per_page:
                        type: integer
                        example: 100
                      to:
                        type: integer
                        example: 10
                      total:
                        type: integer
                        example: 23
                  message:
                    type: string
                    example: 'Device Logs Retrieved Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n       \"from_date\": [\n           \"validation.required\"\n       ],\n       \"to_date\": [\n           \"validation.required\"\n       ],\n    }\n}"
      tags:
        - Devices
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                from_date:
                  type: string
                  description: ''
                  example: '1735689600'
                to_date:
                  type: string
                  description: ''
                  example: '1737829713'
              required:
                - from_date
                - to_date
  /api/v1/DeleteUsers:
    post:
      summary: 'Delete Uploaded Users'
      operationId: deleteUploadedUsers
      description: 'This endpoint is used to delete uploaded users from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete Uploaded Users'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    -
                      SerialNumber: SERIALNOHERE
                      BiometricTitle: 'Delete User 100 > John Jacobs #100'
                      BiometricCommand: DEL_USR
                      CmdParmStr: EID=100
                      RecordedDate: '2024-03-04 16:54:44'
                      Status: Pending
                      updated_at: '2024-03-04T12:54:44.000000Z'
                      created_at: '2024-03-04T12:54:44.000000Z'
                      id: 396
                  message: 'Uploaded User Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        SerialNumber: SERIALNOHERE
                        BiometricTitle: 'Delete User 100 > John Jacobs #100'
                        BiometricCommand: DEL_USR
                        CmdParmStr: EID=100
                        RecordedDate: '2024-03-04 16:54:44'
                        Status: Pending
                        updated_at: '2024-03-04T12:54:44.000000Z'
                        created_at: '2024-03-04T12:54:44.000000Z'
                        id: 396
                    items:
                      type: object
                      properties:
                        SerialNumber:
                          type: string
                          example: SERIALNOHERE
                        BiometricTitle:
                          type: string
                          example: 'Delete User 100 > John Jacobs #100'
                        BiometricCommand:
                          type: string
                          example: DEL_USR
                        CmdParmStr:
                          type: string
                          example: EID=100
                        RecordedDate:
                          type: string
                          example: '2024-03-04 16:54:44'
                        Status:
                          type: string
                          example: Pending
                        updated_at:
                          type: string
                          example: '2024-03-04T12:54:44.000000Z'
                        created_at:
                          type: string
                          example: '2024-03-04T12:54:44.000000Z'
                        id:
                          type: integer
                          example: 396
                  message:
                    type: string
                    example: 'Uploaded User Deleted Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n       \"employee_codes\": [\n           \"validation.required\"\n       ],\n       \"biometric_ids\": [\n           \"validation.required\"\n       ],\n    }\n}"
      tags:
        - Devices
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_codes:
                  type: string
                  description: ''
                  example: '1,2'
                biometric_ids:
                  type: string
                  description: ''
                  example: '1,2'
              required:
                - employee_codes
                - biometric_ids
  /api/v1/AddDevice:
    post:
      summary: 'Add Device'
      operationId: addDevice
      description: 'This endpoint is used to add device to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Device'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    name: abbb
                    code: '1811'
                    direction: '1'
                    serial_number: RK
                    ip_address: 124.40.245.189
                    biomatric_for: '1'
                    branch: null
                    timezone: '1'
                    biomatric_grp: '1'
                    machine_id: '1'
                    location: '1'
                    master_biometric: '1'
                    email: apidemo@timetaag.com
                    contact_no: '0123654789'
                    biomatric_type: '1'
                    updated_at: '2024-03-04T12:27:23.000000Z'
                    created_at: '2024-03-04T12:27:23.000000Z'
                    id: 11
                  message: 'Biometric Device Created Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: abbb
                      code:
                        type: string
                        example: '1811'
                      direction:
                        type: string
                        example: '1'
                      serial_number:
                        type: string
                        example: RK
                      ip_address:
                        type: string
                        example: 124.40.245.189
                      biomatric_for:
                        type: string
                        example: '1'
                      branch:
                        type: string
                        example: null
                      timezone:
                        type: string
                        example: '1'
                      biomatric_grp:
                        type: string
                        example: '1'
                      machine_id:
                        type: string
                        example: '1'
                      location:
                        type: string
                        example: '1'
                      master_biometric:
                        type: string
                        example: '1'
                      email:
                        type: string
                        example: apidemo@timetaag.com
                      contact_no:
                        type: string
                        example: '0123654789'
                      biomatric_type:
                        type: string
                        example: '1'
                      updated_at:
                        type: string
                        example: '2024-03-04T12:27:23.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-04T12:27:23.000000Z'
                      id:
                        type: integer
                        example: 11
                  message:
                    type: string
                    example: 'Biometric Device Created Successfully.'
        400:
          description: 'Validation Error'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Validation Error.'
                  data:
                    name:
                      - validation.required
                    code:
                      - validation.unique
                    serial_number:
                      - validation.unique
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Validation Error.'
                  data:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - validation.required
                        items:
                          type: string
                      code:
                        type: array
                        example:
                          - validation.unique
                        items:
                          type: string
                      serial_number:
                        type: array
                        example:
                          - validation.unique
                        items:
                          type: string
      tags:
        - Devices
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: abbb
                code:
                  type: string
                  description: unique
                  example: '1811'
                serial_number:
                  type: string
                  description: unique
                  example: RK
                direction:
                  type: integer
                  description: ''
                  example: 1
                biomatric_for:
                  type: integer
                  description: ''
                  example: 1
                timezone:
                  type: integer
                  description: ''
                  example: 1
                biomatric_grp:
                  type: integer
                  description: ''
                  example: 1
                machine_id:
                  type: integer
                  description: ''
                  example: 1
                location:
                  type: integer
                  description: ''
                  example: 1
                master_biometric:
                  type: integer
                  description: ''
                  example: 1
                email:
                  type: string
                  description: ''
                  example: abc@gmail.com
                contact_no:
                  type: integer
                  description: ''
                  example: 9867763294
                biomatric_type:
                  type: integer
                  description: ''
                  example: 1
                ip_address:
                  type: string
                  description: ''
                  example: '12.987'
              required:
                - name
  /api/v1/GetEmployees:
    get:
      summary: 'Get Employees'
      operationId: getEmployees
      description: 'This endpoint is used to get all employees from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Employees'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Employees Retrieved Successfully.\"\n     \"data\": [\n          {\n             \"id\": 28,\n             \"emp_name\": \"Ishitha Prajapati\",\n             \"photo\": \"https://app.timetaag.com/photos/no-user.jpg\",\n             \"emp_code\": \"127\",\n             \"emp_branch\": \"default\",\n             \"gender\": \"2\",\n             \"biomatric_code\": \"127\",\n             \"birth_date\": \"2001-03-16\",\n             \"joindate\": \"2019-08-01\",\n             \"resigning_date\": \"2020-08-01\",\n             \"leave_credit_date\": \"2020-08-01\",\n             \"contact_no\": \"0123456789\",\n             \"email\": \"ishitha@gmail.com\",\n             \"address\": \"123\",\n             \"login_name\": null,\n             \"timezone\": \"1\",\n             \"imei_number\": \"1\",\n             \"allow_in_out\": \"1\",\n             \"department\": \"General\",\n             \"emp_type\": \"1\",\n             \"team\": \"1\",\n             \"shift_group\": \"1\",\n             \"food_category\": \"1\",\n             \"manager\": \"1\",\n             \"holiday_group\": 1,\n             \"designation\": \"Default\",\n             \"location\": \"DefaultLoc\",\n             \"attendance_setting\": \"Default\",\n             \"work_status\": \"Working\",\n             \"delete_status\": 0,\n             \"blocked\": 0,\n             \"last_login\": null,\n             \"created_at\": \"2024-03-02T07:34:49.000000Z\",\n             \"updated_at\": \"2024-03-02T07:34:49.000000Z\",\n             \"desname\": {\n                 \"id\": 1,\n                 \"name\": \"Default\",\n                 \"created_at\": \"2022-07-22T16:13:03.000000Z\",\n                 \"updated_at\": \"2022-07-22T16:13:03.000000Z\"\n             },\n             \"branchname\": {\n                 \"id\": 1,\n                 \"name\": \"DefaultBranch\",\n                 \"code\": \"b1\",\n                 \"email\": \"defaultbranch@gmail.com\",\n                 \"address\": \"default\",\n                 \"created_at\": \"2022-11-17T11:29:01.000000Z\",\n                 \"updated_at\": \"2022-11-17T11:29:01.000000Z\"\n             },\n             \"attset\": {\n                 \"id\": 1,\n                 \"AttSettingName\": \"Default\",\n                 \"AttSettingCode\": \"Default\",\n                 \"WeeklyOff1Day\": \"Friday\",\n                 \"WeeklyOff1Occurence\": \"1,2,3,4,5\",\n                 \"WeeklyOff2Day\": \"none\",\n                 \"WeeklyOff2Occurence\": \"\",\n                 \"HalfDayForLessDurationMin\": 7,\n                 \"AbsentForLessDurationMin\": 6,\n                 \"OTFormula\": \"shift_hour\",\n                 \"MinimumOT\": 10,\n                 \"MaximumOT\": 600,\n                 \"GraceForLateComing\": 0,\n                 \"GraceForEarlying\": 0,\n                 \"MarkHalfDayWhenLateByMins\": 0,\n                 \"MarkHalfDayWhenEarlyByMins\": 0,\n                 \"IsConsiderFirstandLastPunch\": null,\n                 \"IsValidateEarlyPunch\": null,\n                 \"IsValidateLatePunch\": null,\n                 \"IsDeductBreakDuration\": null,\n                 \"SetSinglePunchStatusAs\": \"In Punch + 1 min\",\n                 \"IsWOPHOPInOT\": 1,\n                 \"IsAutoCompOff\": null,\n                 \"HalfDayParForLessDurationMin\": 7,\n                 \"AbsentParForLessDurationMin\": 6,\n                 \"IsValPreSufAbsentOnWOHO\": null,\n                 \"IsValSuffixAbsentOnWOHO\": null,\n                 \"IsValPrefixAbsentOnWOHO\": null,\n                 \"IsValLeaveForPrefixSuffix\": null,\n                 \"HalfDayCoffForLessDurationMin\": 0,\n                 \"NoCoffForLessDurationMin\": 0,\n                 \"HalfDayCoffForLessOT\": 0,\n                 \"NoCoffForLessOT\": 0,\n                 \"ApplicableLeaves\": \"1\",\n                 \"IsConsiderHAbsForContLate\": null,\n                 \"MarkOrDeductDayLate\": 0.5,\n                 \"WhenLateBy\": 2,\n                 \"IsDeductLeaveForConLate\": null,\n                 \"DeductLeaveType1Late\": null,\n                 \"DeductLeaveType2Late\": null,\n                 \"DeductLeaveType3Late\": null,\n                 \"IsSameForEveryLate\": null,\n                 \"IsConsiderHAbsConLateByMin\": null,\n                 \"MarkOrDeductDayLateByMin\": 0.5,\n                 \"WhenLateByMin\": 0,\n                 \"IsDeductLeaveForConLateByMin\": null,\n                 \"DeductLeaveType1LateByMin\": null,\n                 \"DeductLeaveType2LateByMin\": null,\n                 \"DeductLeaveType3LateByMin\": null,\n                 \"IsConsiderHAbsForContEarly\": null,\n                 \"MarkOrDeductDayEarly\": 0.5,\n                 \"WhenEarlyBy\": 2,\n                 \"IsDeductLeaveForConEarly\": null,\n                 \"DeductLeaveType1Early\": null,\n                 \"DeductLeaveType2Early\": null,\n                 \"DeductLeaveType3Early\": null,\n                 \"IsSameForEveryEarly\": null,\n                 \"IsConsiderHAbsForContEarlyByMin\": null,\n                 \"MarkOrDeductDayEarlyByMin\": 0.5,\n                 \"WhenEarlyByMin\": 0,\n                 \"IsDeductLeaveForConEarlyByMin\": null,\n                 \"DeductLeaveType1EarlyByMin\": null,\n                 \"DeductLeaveType2EarlyByMin\": null,\n                 \"DeductLeaveType3EarlyByMin\": null,\n                 \"ExcludedStatusForCon\": \"\",\n                 \"ProductionBiometricIds\": \"\",\n                 \"FlexiShiftId\": 4,\n                 \"IsMarkLateEarlyAsPerMnth\": null,\n                 \"DefaultOverTime\": 1,\n                 \"DefaultMinWOHOOT\": 0,\n                 \"IsNeglectLastInPunch\": null,\n                 \"IsCheckTillLastOut\": 1,\n                 \"IsOTNotApplicableOnOutStation\": null,\n                 \"IsOTNotApplicableOnFlexiAndOpenShift\": null,\n                 \"IsCheckForB24HrShift\": 0,\n                 \"IsRoundOffOT\": null,\n                 \"IsRoundDownOT\": null,\n                 \"IsCheckMissPunchStatus\": 1,\n                 \"WorkDurationFormula\": 1,\n                 \"created_at\": \"2022-11-17T13:00:44.000000Z\",\n                 \"updated_at\": \"2024-02-29T07:49:57.000000Z\"\n             },\n             \"locname\": {\n                 \"id\": 1,\n                 \"loc_name\": \"DefaultLoc\",\n                 \"description\": \"Default Location\",\n                 \"created_at\": \"2022-11-17T11:30:32.000000Z\",\n                 \"updated_at\": \"2023-04-20T17:15:00.000000Z\"\n             },\n             \"workst\": {\n                 \"id\": 1,\n                 \"name\": \"Working\",\n                 \"created_at\": \"2022-07-22T16:11:29.000000Z\",\n                 \"updated_at\": \"2022-07-22T16:11:29.000000Z\"\n             },\n             \"dept\": {\n                 \"id\": 1,\n                 \"dept_name\": \"General\",\n                 \"dept_code\": \"General\",\n                 \"description\": \"General Department\",\n                 \"created_at\": \"2022-11-17T11:29:44.000000Z\",\n                 \"updated_at\": \"2022-11-17T11:29:44.000000Z\"\n             }\n        }\n     ],\n     \"meta\": {\n          \"current_page\": 1,\n          \"from\": 1,\n          \"last_page\": 3,\n          \"links\": {\n              \"first\": \"https://app.timetaag.com/api/v1/GetEmployees?page=1\",\n              \"last\": \"https://app.timetaag.com/api/v1/GetEmployees?page=3\",\n              \"prev\": null,\n              \"next\": \"https://app.timetaag.com/api/v1/GetEmployees?page=2\"\n          },\n          \"path\": \"https://app.timetaag.com/api/v1/GetEmployees\",\n          \"per_page\": 10,\n          \"to\": 10,\n          \"total\": 23\n      }\n}"
      tags:
        - Employees
  '/api/v1/GetEmployee/{employee_code}':
    get:
      summary: 'Get Single Employee'
      operationId: getSingleEmployee
      description: 'This endpoint is used to get single employee from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Employee'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Employee Retrieved Successfully.\",\n     \"data\": {\n         \"id\": 2,\n         \"emp_name\": \"Anoop\",\n         \"photo\": \"\",\n         \"emp_code\": \"101\",\n         \"emp_branch\": 1,\n         \"gender\": null,\n         \"biomatric_code\": \"101\",\n         \"birth_date\": null,\n         \"joindate\": \"2023-08-16\",\n         \"resigning_date\": \"2100-01-01\",\n         \"leave_credit_date\": null,\n         \"contact_no\": null,\n         \"email\": null,\n         \"address\": null,\n         \"login_name\": null,\n         \"timezone\": \"1\",\n         \"imei_number\": null,\n         \"allow_in_out\": null,\n         \"department\": \"3\",\n         \"emp_type\": \"1\",\n         \"team\": \"1\",\n         \"shift_group\": \"1\",\n         \"food_category\": \"1\",\n         \"manager\": \"1\",\n         \"holiday_group\": 1,\n         \"designation\": 1,\n         \"location\": 1,\n         \"attendance_setting\": 1,\n         \"work_status\": 1,\n         \"delete_status\": 0,\n         \"blocked\": 0,\n         \"last_login\": null,\n         \"created_at\": \"2023-08-16T05:11:16.000000Z\",\n         \"updated_at\": \"2023-10-03T10:52:09.000000Z\",\n         \"desname\": {\n            \"id\": 1,\n            \"name\": \"Default\",\n            \"created_at\": \"2022-07-22T16:13:03.000000Z\",\n            \"updated_at\": \"2022-07-22T16:13:03.000000Z\"\n         },\n         \"branchname\": {\n            \"id\": 1,\n            \"name\": \"DefaultBranch\",\n            \"code\": \"b1\",\n            \"email\": \"defaultbranch@gmail.com\",\n            \"address\": \"default\",\n            \"created_at\": \"2022-11-17T11:29:01.000000Z\",\n            \"updated_at\": \"2022-11-17T11:29:01.000000Z\"\n         },\n         \"attset\": {\n              \"id\": 1,\n              \"AttSettingName\": \"Default\",\n              \"AttSettingCode\": \"Default\",\n              \"WeeklyOff1Day\": \"Friday\",\n              \"WeeklyOff1Occurence\": \"1,2,3,4,5\",\n              \"WeeklyOff2Day\": \"none\",\n              \"WeeklyOff2Occurence\": \"\",\n              \"HalfDayForLessDurationMin\": 7,\n              \"AbsentForLessDurationMin\": 6,\n              \"OTFormula\": \"shift_hour\",\n              \"MinimumOT\": 10,\n              \"MaximumOT\": 600,\n              \"GraceForLateComing\": 0,\n              \"GraceForEarlying\": 0,\n              \"MarkHalfDayWhenLateByMins\": 0,\n              \"MarkHalfDayWhenEarlyByMins\": 0,\n              \"IsConsiderFirstandLastPunch\": null,\n              \"IsValidateEarlyPunch\": null,\n              \"IsValidateLatePunch\": null,\n              \"IsDeductBreakDuration\": null,\n              \"SetSinglePunchStatusAs\": \"In Punch + 1 min\",\n              \"IsWOPHOPInOT\": 1,\n              \"IsAutoCompOff\": null,\n              \"HalfDayParForLessDurationMin\": 7,\n              \"AbsentParForLessDurationMin\": 6,\n              \"IsValPreSufAbsentOnWOHO\": null,\n              \"IsValSuffixAbsentOnWOHO\": null,\n              \"IsValPrefixAbsentOnWOHO\": null,\n              \"IsValLeaveForPrefixSuffix\": null,\n              \"HalfDayCoffForLessDurationMin\": 0,\n              \"NoCoffForLessDurationMin\": 0,\n              \"HalfDayCoffForLessOT\": 0,\n              \"NoCoffForLessOT\": 0,\n              \"ApplicableLeaves\": \"1\",\n              \"IsConsiderHAbsForContLate\": null,\n              \"MarkOrDeductDayLate\": 0.5,\n              \"WhenLateBy\": 2,\n              \"IsDeductLeaveForConLate\": null,\n              \"DeductLeaveType1Late\": null,\n              \"DeductLeaveType2Late\": null,\n              \"DeductLeaveType3Late\": null,\n              \"IsSameForEveryLate\": null,\n              \"IsConsiderHAbsConLateByMin\": null,\n              \"MarkOrDeductDayLateByMin\": 0.5,\n              \"WhenLateByMin\": 0,\n              \"IsDeductLeaveForConLateByMin\": null,\n              \"DeductLeaveType1LateByMin\": null,\n              \"DeductLeaveType2LateByMin\": null,\n              \"DeductLeaveType3LateByMin\": null,\n              \"IsConsiderHAbsForContEarly\": null,\n              \"MarkOrDeductDayEarly\": 0.5,\n              \"WhenEarlyBy\": 2,\n              \"IsDeductLeaveForConEarly\": null,\n              \"DeductLeaveType1Early\": null,\n              \"DeductLeaveType2Early\": null,\n              \"DeductLeaveType3Early\": null,\n              \"IsSameForEveryEarly\": null,\n              \"IsConsiderHAbsForContEarlyByMin\": null,\n              \"MarkOrDeductDayEarlyByMin\": 0.5,\n              \"WhenEarlyByMin\": 0,\n              \"IsDeductLeaveForConEarlyByMin\": null,\n              \"DeductLeaveType1EarlyByMin\": null,\n              \"DeductLeaveType2EarlyByMin\": null,\n              \"DeductLeaveType3EarlyByMin\": null,\n              \"ExcludedStatusForCon\": \"\",\n              \"ProductionBiometricIds\": \"\",\n              \"FlexiShiftId\": 4,\n              \"IsMarkLateEarlyAsPerMnth\": null,\n              \"DefaultOverTime\": 1,\n              \"DefaultMinWOHOOT\": 0,\n              \"IsNeglectLastInPunch\": null,\n              \"IsCheckTillLastOut\": 1,\n              \"IsOTNotApplicableOnOutStation\": null,\n              \"IsOTNotApplicableOnFlexiAndOpenShift\": null,\n              \"IsCheckForB24HrShift\": 0,\n              \"IsRoundOffOT\": null,\n              \"IsRoundDownOT\": null,\n              \"IsCheckMissPunchStatus\": 1,\n              \"WorkDurationFormula\": 1,\n              \"created_at\": \"2022-11-17T13:00:44.000000Z\",\n              \"updated_at\": \"2024-02-29T07:49:57.000000Z\"\n         },\n        \"locname\": {\n             \"id\": 1,\n             \"loc_name\": \"DefaultLoc\",\n             \"description\": \"Default Location\",\n             \"created_at\": \"2022-11-17T11:30:32.000000Z\",\n             \"updated_at\": \"2023-04-20T17:15:00.000000Z\"\n        },\n        \"workst\": {\n             \"id\": 1,\n             \"name\": \"Working\",\n             \"created_at\": \"2022-07-22T16:11:29.000000Z\",\n             \"updated_at\": \"2022-07-22T16:11:29.000000Z\"\n        }\n    },\n}"
        400:
          description: 'Employee Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Not Found'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Not Found'
      tags:
        - Employees
    parameters:
      -
        in: path
        name: employee_code
        description: 'The EMPLOYEE CODE of the employee.'
        example: 18
        required: true
        schema:
          type: integer
  '/api/v1/DeleteEmployee/{employee_code}':
    delete:
      summary: 'Delete Employee'
      operationId: deleteEmployee
      description: 'This endpoint is used to delete employee from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Employee'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Employee Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Employee Deleted Successfully.'
        400:
          description: 'Employee Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Not Found'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Not Found'
      tags:
        - Employees
    parameters:
      -
        in: path
        name: employee_code
        description: 'The EMPLOYEE CODE of the employee.'
        example: 4
        required: true
        schema:
          type: integer
  /api/v1/AddEmployee:
    post:
      summary: 'Add Employee'
      operationId: addEmployee
      description: 'This endpoint is used to add employee to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Employee'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    photo: 'https://app.timetaag.com/photos/no-user.jpg'
                    emp_name: ''
                    emp_code: '128'
                    emp_branch: '1'
                    designation: '1'
                    location: '1'
                    attendance_setting: '1'
                    work_status: '1'
                    gender: '2'
                    biomatric_code: '128'
                    birth_date: '2001-03-16'
                    joindate: '2019-08-01'
                    resigning_date: '2020-08-01'
                    leave_credit_date: '2020-08-01'
                    contact_no: '0123456789'
                    email: ishitha@gmail.com
                    address: '123'
                    login_name: null
                    password: $2y$10$DmLZAsmjh0pEqWCjo7xsG.qPRLpKTZPUx0TeB4hJvu6265yfdT4pe
                    timezone: '1'
                    imei_number: '1'
                    allow_in_out: '1'
                    department: '1'
                    emp_type: '1'
                    team: '1'
                    shift_group: '1'
                    food_category: '1'
                    manager: '1'
                    holiday_group: '1'
                    updated_at: '2024-03-04T11:54:26.000000Z'
                    created_at: '2024-03-04T11:54:26.000000Z'
                    id: 29
                  message: 'Employee Created Successfully..'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      photo:
                        type: string
                        example: 'https://app.timetaag.com/photos/no-user.jpg'
                      emp_name:
                        type: string
                        example: ''
                      emp_code:
                        type: string
                        example: '128'
                      emp_branch:
                        type: string
                        example: '1'
                      designation:
                        type: string
                        example: '1'
                      location:
                        type: string
                        example: '1'
                      attendance_setting:
                        type: string
                        example: '1'
                      work_status:
                        type: string
                        example: '1'
                      gender:
                        type: string
                        example: '2'
                      biomatric_code:
                        type: string
                        example: '128'
                      birth_date:
                        type: string
                        example: '2001-03-16'
                      joindate:
                        type: string
                        example: '2019-08-01'
                      resigning_date:
                        type: string
                        example: '2020-08-01'
                      leave_credit_date:
                        type: string
                        example: '2020-08-01'
                      contact_no:
                        type: string
                        example: '0123456789'
                      email:
                        type: string
                        example: ishitha@gmail.com
                      address:
                        type: string
                        example: '123'
                      login_name:
                        type: string
                        example: null
                      password:
                        type: string
                        example: $2y$10$DmLZAsmjh0pEqWCjo7xsG.qPRLpKTZPUx0TeB4hJvu6265yfdT4pe
                      timezone:
                        type: string
                        example: '1'
                      imei_number:
                        type: string
                        example: '1'
                      allow_in_out:
                        type: string
                        example: '1'
                      department:
                        type: string
                        example: '1'
                      emp_type:
                        type: string
                        example: '1'
                      team:
                        type: string
                        example: '1'
                      shift_group:
                        type: string
                        example: '1'
                      food_category:
                        type: string
                        example: '1'
                      manager:
                        type: string
                        example: '1'
                      holiday_group:
                        type: string
                        example: '1'
                      updated_at:
                        type: string
                        example: '2024-03-04T11:54:26.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-04T11:54:26.000000Z'
                      id:
                        type: integer
                        example: 29
                  message:
                    type: string
                    example: 'Employee Created Successfully..'
        400:
          description: 'Validation Error'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Validation Error.'
                  data:
                    emp_code:
                      - validation.required
                    emp_name:
                      - validation.required
                    biomatric_code:
                      - validation.required
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Validation Error.'
                  data:
                    type: object
                    properties:
                      emp_code:
                        type: array
                        example:
                          - validation.required
                        items:
                          type: string
                      emp_name:
                        type: array
                        example:
                          - validation.required
                        items:
                          type: string
                      biomatric_code:
                        type: array
                        example:
                          - validation.required
                        items:
                          type: string
      tags:
        - Employees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                emp_code:
                  type: integer
                  description: ''
                  example: 128
                emp_name:
                  type: string
                  description: unique
                  example: AAAAAAA
                biomatric_code:
                  type: integer
                  description: unique
                  example: 128
                base64image:
                  type: string
                  description: ''
                  example: image.png
                emp_branch:
                  type: integer
                  description: ''
                  example: 1
                designation:
                  type: integer
                  description: ''
                  example: 1
                location:
                  type: integer
                  description: ''
                  example: 1
                attendance_setting:
                  type: integer
                  description: ''
                  example: 1
                work_status:
                  type: integer
                  description: ''
                  example: 1
                gender:
                  type: integer
                  description: ''
                  example: 1
                birth_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                joindate:
                  type: string
                  description: ''
                  example: '2024-01-01'
                resigning_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                leave_credit_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                contact_no:
                  type: string
                  description: ''
                  example: '258963214'
                email:
                  type: string
                  description: ''
                  example: abc@gmail.com
                address:
                  type: string
                  description: ''
                  example: '465768 abc'
                login_name:
                  type: string
                  description: ''
                  example: abc
                password:
                  type: string
                  description: ''
                  example: '123654789'
                timezone:
                  type: integer
                  description: ''
                  example: 1
                imei_number:
                  type: integer
                  description: ''
                  example: 1
                allow_in_out:
                  type: integer
                  description: ''
                  example: 1
                department:
                  type: integer
                  description: ''
                  example: 1
                emp_type:
                  type: integer
                  description: ''
                  example: 1
                team:
                  type: integer
                  description: ''
                  example: 1
                shift_group:
                  type: integer
                  description: ''
                  example: 1
                food_category:
                  type: integer
                  description: ''
                  example: 1
                manager:
                  type: integer
                  description: ''
                  example: 1
                holiday_group:
                  type: integer
                  description: ''
                  example: 1
              required:
                - emp_code
                - emp_name
                - biomatric_code
  '/api/v1/UpdateEmployee/{employee_code}':
    patch:
      summary: 'Update Employee'
      operationId: updateEmployee
      description: 'This endpoint is used to update employee to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Employee'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    photo: 'https://app.timetaag.com/photos/no-user.jpg'
                    emp_name: AAAAAAA
                    emp_code: '128'
                    emp_branch: '1'
                    designation: '1'
                    location: '1'
                    attendance_setting: '1'
                    work_status: '1'
                    gender: '2'
                    biomatric_code: '128'
                    birth_date: '2001-03-16'
                    joindate: '2019-08-01'
                    resigning_date: '2020-08-01'
                    leave_credit_date: '2020-08-01'
                    contact_no: '0123456789'
                    email: ishitha@gmail.com
                    address: '123'
                    login_name: null
                    password: $2y$10$DmLZAsmjh0pEqWCjo7xsG.qPRLpKTZPUx0TeB4hJvu6265yfdT4pe
                    timezone: '1'
                    imei_number: '1'
                    allow_in_out: '1'
                    department: '1'
                    emp_type: '1'
                    team: '1'
                    shift_group: '1'
                    food_category: '1'
                    manager: '1'
                    holiday_group: '1'
                    updated_at: '2024-03-04T11:54:26.000000Z'
                    created_at: '2024-03-04T11:54:26.000000Z'
                    id: 29
                  message: 'Employee Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      photo:
                        type: string
                        example: 'https://app.timetaag.com/photos/no-user.jpg'
                      emp_name:
                        type: string
                        example: AAAAAAA
                      emp_code:
                        type: string
                        example: '128'
                      emp_branch:
                        type: string
                        example: '1'
                      designation:
                        type: string
                        example: '1'
                      location:
                        type: string
                        example: '1'
                      attendance_setting:
                        type: string
                        example: '1'
                      work_status:
                        type: string
                        example: '1'
                      gender:
                        type: string
                        example: '2'
                      biomatric_code:
                        type: string
                        example: '128'
                      birth_date:
                        type: string
                        example: '2001-03-16'
                      joindate:
                        type: string
                        example: '2019-08-01'
                      resigning_date:
                        type: string
                        example: '2020-08-01'
                      leave_credit_date:
                        type: string
                        example: '2020-08-01'
                      contact_no:
                        type: string
                        example: '0123456789'
                      email:
                        type: string
                        example: ishitha@gmail.com
                      address:
                        type: string
                        example: '123'
                      login_name:
                        type: string
                        example: null
                      password:
                        type: string
                        example: $2y$10$DmLZAsmjh0pEqWCjo7xsG.qPRLpKTZPUx0TeB4hJvu6265yfdT4pe
                      timezone:
                        type: string
                        example: '1'
                      imei_number:
                        type: string
                        example: '1'
                      allow_in_out:
                        type: string
                        example: '1'
                      department:
                        type: string
                        example: '1'
                      emp_type:
                        type: string
                        example: '1'
                      team:
                        type: string
                        example: '1'
                      shift_group:
                        type: string
                        example: '1'
                      food_category:
                        type: string
                        example: '1'
                      manager:
                        type: string
                        example: '1'
                      holiday_group:
                        type: string
                        example: '1'
                      updated_at:
                        type: string
                        example: '2024-03-04T11:54:26.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-04T11:54:26.000000Z'
                      id:
                        type: integer
                        example: 29
                  message:
                    type: string
                    example: 'Employee Updated Successfully.'
        400:
          description: 'Employee Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Not Found'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Not Found'
      tags:
        - Employees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                emp_name:
                  type: string
                  description: unique
                  example: AAAAAAA
                emp_code:
                  type: integer
                  description: ''
                  example: 128
                biomatric_code:
                  type: integer
                  description: unique
                  example: 128
                base64image:
                  type: string
                  description: ''
                  example: image.png
                emp_branch:
                  type: integer
                  description: ''
                  example: 1
                designation:
                  type: integer
                  description: ''
                  example: 1
                location:
                  type: integer
                  description: ''
                  example: 1
                attendance_setting:
                  type: integer
                  description: ''
                  example: 1
                work_status:
                  type: integer
                  description: ''
                  example: 1
                gender:
                  type: integer
                  description: ''
                  example: 1
                birth_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                joindate:
                  type: string
                  description: ''
                  example: '2024-01-01'
                resigning_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                leave_credit_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                contact_no:
                  type: string
                  description: ''
                  example: '258963214'
                email:
                  type: string
                  description: ''
                  example: abc@gmail.com
                address:
                  type: string
                  description: ''
                  example: '465768 abc'
                login_name:
                  type: string
                  description: ''
                  example: abc
                password:
                  type: string
                  description: ''
                  example: '123654789'
                timezone:
                  type: integer
                  description: ''
                  example: 1
                imei_number:
                  type: integer
                  description: ''
                  example: 1
                allow_in_out:
                  type: integer
                  description: ''
                  example: 1
                department:
                  type: integer
                  description: ''
                  example: 1
                emp_type:
                  type: integer
                  description: ''
                  example: 1
                team:
                  type: integer
                  description: ''
                  example: 1
                shift_group:
                  type: integer
                  description: ''
                  example: 1
                food_category:
                  type: integer
                  description: ''
                  example: 1
                manager:
                  type: integer
                  description: ''
                  example: 1
                holiday_group:
                  type: integer
                  description: ''
                  example: 1
              required:
                - emp_name
                - emp_code
                - biomatric_code
    parameters:
      -
        in: path
        name: employee_code
        description: 'The EMPLOYEE CODE of the employee.'
        example: 6
        required: true
        schema:
          type: integer
  /api/v1/GetEmpLeaves:
    post:
      summary: 'Get Employee Leaves'
      operationId: getEmployeeLeaves
      description: 'This endpoint is used to fetch all employee leaves available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Leaves'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Leaves Retrieved Successfully.\",\n     \"data\": [\n        {\n            \"StaffLeaveEntryId\": 10,\n            \"LeaveTypeId\": 2,\n            \"LeaveStatus\": \"Full Day\",\n            \"StaffId\": \"120\",\n            \"LeaveFromDate\": \"2024-03-01\",\n            \"LeaveToDate\": \"2024-03-10\",\n            \"IsApproved\": 0,\n            \"ApprovedBy\": null,\n            \"AppliedDate\": null,\n            \"Remarks\": null,\n            \"TotalDays\": \"10\",\n            \"ApproveDeclineOn\": null,\n            \"ManagerRemarks\": null,\n            \"LV1IsApproved\": null,\n            \"LV2IsApproved\": null,\n            \"LV3IsApproved\": null,\n            \"LV4IsApproved\": null,\n            \"LV5IsApproved\": null,\n            \"LV1ManagerRemarks\": null,\n            \"LV2ManagerRemarks\": null,\n            \"LV3ManagerRemarks\": null,\n            \"LV4ManagerRemarks\": null,\n            \"LV5ManagerRemarks\": null,\n            \"LV1ApproveDeclineOn\": null,\n            \"LV2ApproveDeclineOn\": null,\n            \"LV3ApproveDeclineOn\": null,\n            \"LV4ApproveDeclineOn\": null,\n            \"LV5ApproveDeclineOn\": null,\n            \"DocumentName\": null,\n            \"AppliedBy\": null,\n            \"is_delete\": 0,\n            \"created_at\": \"2022-11-17T12:08:27.000000Z\",\n            \"updated_at\": \"2022-11-19T11:08:56.000000Z\",\n            \"id\": 19,\n            \"emp_name\": \"CJ Talib\",\n            \"photo\": null,\n            \"emp_code\": \"120\",\n            \"emp_branch\": 1,\n            \"gender\": \"1\",\n            \"biomatric_code\": \"120\",\n            \"birth_date\": \"1990-01-01\",\n            \"joindate\": \"2020-01-01\",\n            \"resigning_date\": \"3000-01-01\",\n            \"leave_credit_date\": null,\n            \"contact_no\": null,\n            \"email\": null,\n            \"address\": null,\n            \"login_name\": null,\n            \"password\": null,\n            \"timezone\": null,\n            \"imei_number\": null,\n            \"allow_in_out\": null,\n            \"department\": \"3\",\n            \"emp_type\": \"1\",\n            \"team\": \"1\",\n            \"shift_group\": \"1\",\n            \"food_category\": null,\n            \"manager\": null,\n            \"holiday_group\": null,\n            \"designation\": 1,\n            \"location\": 1,\n            \"attendance_setting\": 1,\n            \"work_status\": 1,\n            \"delete_status\": 0,\n            \"blocked\": 0,\n            \"last_login\": null,\n            \"LeaveTypeName\": \"Casual Leave\",\n            \"LeaveTypeCode\": \"CL\",\n            \"Gender\": \"All\",\n            \"CreditBalance\": null,\n            \"Description\": \"Casual Leave (CL) is a type of leave that an employee is entitled to take for a short duration\",\n            \"IsNegativeBalance\": \"0\",\n            \"AllotmentType\": \"Monthly\",\n            \"StartCreditFrom\": null,\n            \"IsLossOfPay\": \"0\",\n            \"ApplicableLeaveStatus\": \"full_day\",\n            \"MaxTakeLPMonth\": null,\n            \"MaxTakeLAtOnce\": null,\n            \"MinDGapBTwoLeave\": null,\n            \"MaxTakeLPYear\": null,\n            \"MaxNegativeBalance\": null,\n            \"IsProrated\": \"0\",\n            \"GraceApplyPeriod\": null,\n            \"GracePShiftApplicable\": \"1\"\n        },\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"from\": 1,\n        \"last_page\": 3,\n        \"links\": {\n            \"first\": \"https://app.timetaag.com/api/v1/GetEmpLeaves?page=1\",\n            \"last\": \"https://app.timetaag.com/api/v1/GetEmpLeaves?page=3\",\n            \"prev\": null,\n            \"next\": \"https://app.timetaag.com/api/v1/GetEmpLeaves?page=2\"\n        },\n        \"path\": \"https://app.timetaag.com/api/v1/GetEmpLeaves\",\n        \"per_page\": 10,\n        \"to\": 10,\n        \"total\": 23\n     }\n}"
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"month\": [\n          \"validation.required\"\n        ],\n        \"year\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - 'Employees Leaves'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                month:
                  type: integer
                  description: ''
                  example: 1
                year:
                  type: integer
                  description: ''
                  example: 2024
              required:
                - month
                - year
  '/api/v1/GetEmpLeave/{id}':
    get:
      summary: 'Get Single Employee Leave'
      operationId: getSingleEmployeeLeave
      description: 'This endpoint is used to get single employee leave from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Employee Leave'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffLeaveEntryId: 12
                    LeaveTypeId: '1'
                    LeaveStatus: 'Full Day'
                    StaffId: '128'
                    LeaveFromDate: '2024-03-01'
                    LeaveToDate: '2024-03-06'
                    IsApproved: 1
                    ApprovedBy: null
                    AppliedDate: null
                    Remarks: 'test remark'
                    TotalDays: '6'
                    ApproveDeclineOn: null
                    ManagerRemarks: null
                    LV1IsApproved: null
                    LV2IsApproved: null
                    LV3IsApproved: null
                    LV4IsApproved: null
                    LV5IsApproved: null
                    LV1ManagerRemarks: null
                    LV2ManagerRemarks: null
                    LV3ManagerRemarks: null
                    LV4ManagerRemarks: null
                    LV5ManagerRemarks: null
                    LV1ApproveDeclineOn: null
                    LV2ApproveDeclineOn: null
                    LV3ApproveDeclineOn: null
                    LV4ApproveDeclineOn: null
                    LV5ApproveDeclineOn: null
                    DocumentName: null
                    AppliedBy: null
                    is_delete: 0
                    created_at: '2024-03-05T06:42:24.000000Z'
                    updated_at: '2024-03-05T06:50:50.000000Z'
                  message: 'Employee Leave Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffLeaveEntryId:
                        type: integer
                        example: 12
                      LeaveTypeId:
                        type: string
                        example: '1'
                      LeaveStatus:
                        type: string
                        example: 'Full Day'
                      StaffId:
                        type: string
                        example: '128'
                      LeaveFromDate:
                        type: string
                        example: '2024-03-01'
                      LeaveToDate:
                        type: string
                        example: '2024-03-06'
                      IsApproved:
                        type: integer
                        example: 1
                      ApprovedBy:
                        type: string
                        example: null
                      AppliedDate:
                        type: string
                        example: null
                      Remarks:
                        type: string
                        example: 'test remark'
                      TotalDays:
                        type: string
                        example: '6'
                      ApproveDeclineOn:
                        type: string
                        example: null
                      ManagerRemarks:
                        type: string
                        example: null
                      LV1IsApproved:
                        type: string
                        example: null
                      LV2IsApproved:
                        type: string
                        example: null
                      LV3IsApproved:
                        type: string
                        example: null
                      LV4IsApproved:
                        type: string
                        example: null
                      LV5IsApproved:
                        type: string
                        example: null
                      LV1ManagerRemarks:
                        type: string
                        example: null
                      LV2ManagerRemarks:
                        type: string
                        example: null
                      LV3ManagerRemarks:
                        type: string
                        example: null
                      LV4ManagerRemarks:
                        type: string
                        example: null
                      LV5ManagerRemarks:
                        type: string
                        example: null
                      LV1ApproveDeclineOn:
                        type: string
                        example: null
                      LV2ApproveDeclineOn:
                        type: string
                        example: null
                      LV3ApproveDeclineOn:
                        type: string
                        example: null
                      LV4ApproveDeclineOn:
                        type: string
                        example: null
                      LV5ApproveDeclineOn:
                        type: string
                        example: null
                      DocumentName:
                        type: string
                        example: null
                      AppliedBy:
                        type: string
                        example: null
                      is_delete:
                        type: integer
                        example: 0
                      created_at:
                        type: string
                        example: '2024-03-05T06:42:24.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T06:50:50.000000Z'
                  message:
                    type: string
                    example: 'Employee Leave Retrieved Successfully.'
        400:
          description: 'Employee Leave Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Leave Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Leave Not Found.'
      tags:
        - 'Employees Leaves'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the leave.'
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/DeleteEmpLeaves/{id}':
    delete:
      summary: 'Delete Employee Leave'
      operationId: deleteEmployeeLeave
      description: 'This endpoint is used to delete employee leave to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Update a Leave'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Employee Leave Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Employee Leave Deleted Successfully.'
        400:
          description: 'Employee Leave Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Leave Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Leave Not Found.'
      tags:
        - 'Employees Leaves'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the leave.'
        example: 8
        required: true
        schema:
          type: integer
  /api/v1/AddEmpLeaves:
    post:
      summary: 'Add Employee Leave'
      operationId: addEmployeeLeave
      description: 'This endpoint is used to add employee to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Leave'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    -
                      StaffId: '128'
                      LeaveTypeId: '1'
                      LeaveStatus: 'Full Day'
                      LeaveFromDate: '2024-03-01'
                      LeaveToDate: '2024-03-05'
                      IsApproved: '1'
                      Remarks: test
                      TotalDays: 5
                      updated_at: '2024-03-05T06:42:24.000000Z'
                      created_at: '2024-03-05T06:42:24.000000Z'
                      id: 12
                  message: 'Employee Leave assigned Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        StaffId: '128'
                        LeaveTypeId: '1'
                        LeaveStatus: 'Full Day'
                        LeaveFromDate: '2024-03-01'
                        LeaveToDate: '2024-03-05'
                        IsApproved: '1'
                        Remarks: test
                        TotalDays: 5
                        updated_at: '2024-03-05T06:42:24.000000Z'
                        created_at: '2024-03-05T06:42:24.000000Z'
                        id: 12
                    items:
                      type: object
                      properties:
                        StaffId:
                          type: string
                          example: '128'
                        LeaveTypeId:
                          type: string
                          example: '1'
                        LeaveStatus:
                          type: string
                          example: 'Full Day'
                        LeaveFromDate:
                          type: string
                          example: '2024-03-01'
                        LeaveToDate:
                          type: string
                          example: '2024-03-05'
                        IsApproved:
                          type: string
                          example: '1'
                        Remarks:
                          type: string
                          example: test
                        TotalDays:
                          type: integer
                          example: 5
                        updated_at:
                          type: string
                          example: '2024-03-05T06:42:24.000000Z'
                        created_at:
                          type: string
                          example: '2024-03-05T06:42:24.000000Z'
                        id:
                          type: integer
                          example: 12
                  message:
                    type: string
                    example: 'Employee Leave assigned Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"employee_code\": [\n          \"validation.required\"\n        ],\n        \"from_date\": [\n          \"validation.required\"\n        ],\n        \"to_date\": [\n          \"validation.required\"\n        ],\n       \"leave_type\": [\n          \"validation.required\"\n        ],\n      \"leave_status\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - 'Employees Leaves'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_code:
                  type: string
                  description: ''
                  example: '1,2'
                from_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                to_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                leave_type:
                  type: integer
                  description: ''
                  example: 1
                leave_status:
                  type: string
                  description: ''
                  example: 'Full Day'
                remarks:
                  type: string
                  description: ''
                  example: 'your remarks...'
                approve:
                  type: integer
                  description: ''
                  example: 1
              required:
                - employee_code
                - from_date
                - to_date
                - leave_type
                - leave_status
  '/api/v1/UpdateEmpLeaves/{id}':
    patch:
      summary: 'Update Employee Leave'
      operationId: updateEmployeeLeave
      description: 'This endpoint is used to update employee leave to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Leave'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffLeaveEntryId: 12
                    LeaveTypeId: '1'
                    LeaveStatus: 'Full Day'
                    StaffId: '128'
                    LeaveFromDate: '2024-03-01'
                    LeaveToDate: '2024-03-06'
                    IsApproved: 1
                    ApprovedBy: null
                    AppliedDate: null
                    Remarks: 'test remark'
                    TotalDays: '6'
                    ApproveDeclineOn: null
                    ManagerRemarks: null
                    LV1IsApproved: null
                    LV2IsApproved: null
                    LV3IsApproved: null
                    LV4IsApproved: null
                    LV5IsApproved: null
                    LV1ManagerRemarks: null
                    LV2ManagerRemarks: null
                    LV3ManagerRemarks: null
                    LV4ManagerRemarks: null
                    LV5ManagerRemarks: null
                    LV1ApproveDeclineOn: null
                    LV2ApproveDeclineOn: null
                    LV3ApproveDeclineOn: null
                    LV4ApproveDeclineOn: null
                    LV5ApproveDeclineOn: null
                    DocumentName: null
                    AppliedBy: null
                    is_delete: 0
                    created_at: '2024-03-05T06:42:24.000000Z'
                    updated_at: '2024-03-05T06:50:50.000000Z'
                  message: 'Employee Leave Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffLeaveEntryId:
                        type: integer
                        example: 12
                      LeaveTypeId:
                        type: string
                        example: '1'
                      LeaveStatus:
                        type: string
                        example: 'Full Day'
                      StaffId:
                        type: string
                        example: '128'
                      LeaveFromDate:
                        type: string
                        example: '2024-03-01'
                      LeaveToDate:
                        type: string
                        example: '2024-03-06'
                      IsApproved:
                        type: integer
                        example: 1
                      ApprovedBy:
                        type: string
                        example: null
                      AppliedDate:
                        type: string
                        example: null
                      Remarks:
                        type: string
                        example: 'test remark'
                      TotalDays:
                        type: string
                        example: '6'
                      ApproveDeclineOn:
                        type: string
                        example: null
                      ManagerRemarks:
                        type: string
                        example: null
                      LV1IsApproved:
                        type: string
                        example: null
                      LV2IsApproved:
                        type: string
                        example: null
                      LV3IsApproved:
                        type: string
                        example: null
                      LV4IsApproved:
                        type: string
                        example: null
                      LV5IsApproved:
                        type: string
                        example: null
                      LV1ManagerRemarks:
                        type: string
                        example: null
                      LV2ManagerRemarks:
                        type: string
                        example: null
                      LV3ManagerRemarks:
                        type: string
                        example: null
                      LV4ManagerRemarks:
                        type: string
                        example: null
                      LV5ManagerRemarks:
                        type: string
                        example: null
                      LV1ApproveDeclineOn:
                        type: string
                        example: null
                      LV2ApproveDeclineOn:
                        type: string
                        example: null
                      LV3ApproveDeclineOn:
                        type: string
                        example: null
                      LV4ApproveDeclineOn:
                        type: string
                        example: null
                      LV5ApproveDeclineOn:
                        type: string
                        example: null
                      DocumentName:
                        type: string
                        example: null
                      AppliedBy:
                        type: string
                        example: null
                      is_delete:
                        type: integer
                        example: 0
                      created_at:
                        type: string
                        example: '2024-03-05T06:42:24.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T06:50:50.000000Z'
                  message:
                    type: string
                    example: 'Employee Leave Updated Successfully.'
        400:
          description: 'Employee Leave Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Employee Leave Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Employee Leave Not Found.'
      tags:
        - 'Employees Leaves'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_code:
                  type: string
                  description: ''
                  example: '1,2'
                from_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                to_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                leave_type:
                  type: integer
                  description: ''
                  example: 1
                leave_status:
                  type: string
                  description: ''
                  example: 'Full Day'
                remarks:
                  type: string
                  description: ''
                  example: 'your remarks...'
                approve:
                  type: integer
                  description: ''
                  example: 1
              required:
                - employee_code
                - from_date
                - to_date
                - leave_type
                - leave_status
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the leave.'
        example: 5
        required: true
        schema:
          type: integer
  /api/v1/GetEmpOutdoors:
    post:
      summary: 'Get Employee Outdoors'
      operationId: getEmployeeOutdoors
      description: 'This endpoint is used to fetch all employee outdoor entries available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all outdoor entries'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Outdoor Entries Retrieved Successfully.\",\n     \"data\": [\n        {\n            \"StaffOutDoorEntryId\": 2,\n            \"StaffId\": \"120\",\n            \"OutDoorType\": \"2\",\n            \"StartDateTime\": \"2024-03-01 15:15:00\",\n            \"EndDateTime\": \"2024-03-05 16:15:00\",\n            \"TotalDays\": \"5\",\n            \"AppliedDate\": null,\n            \"Remarks\": null,\n            \"IsApproved\": 0,\n            \"ApprovedBy\": null,\n            \"ApproveDeclineOn\": null,\n            \"ManagerRemarks\": null,\n            \"LV1IsApproved\": null,\n            \"LV2IsApproved\": null,\n            \"LV3IsApproved\": null,\n            \"LV4IsApproved\": null,\n            \"LV5IsApproved\": null,\n            \"LV1ManagerRemarks\": null,\n            \"LV2ManagerRemarks\": null,\n            \"LV3ManagerRemarks\": null,\n            \"LV4ManagerRemarks\": null,\n            \"LV5ManagerRemarks\": null,\n            \"LV1ApproveDeclineOn\": null,\n            \"LV2ApproveDeclineOn\": null,\n            \"LV3ApproveDeclineOn\": null,\n            \"LV4ApproveDeclineOn\": null,\n            \"LV5ApproveDeclineOn\": null,\n            \"ClientId\": null,\n            \"TaskStartLattitude\": null,\n            \"TaskStartLongitude\": null,\n            \"TaskStartLocation\": \"\",\n            \"TaskEndLattitude\": null,\n            \"TaskEndLongitude\": null,\n            \"TaskEndLocation\": null,\n            \"TaskTitle\": null,\n            \"TaskStatus\": null,\n            \"TaskCategoryId\": null,\n            \"IsNextDayEntry\": null,\n            \"AppliedBy\": null,\n            \"is_delete\": 0,\n            \"created_at\": \"2023-08-23T17:01:41.000000Z\",\n            \"updated_at\": \"2023-10-03T10:52:09.000000Z\",\n            \"id\": 19,\n            \"emp_name\": \"CJ Talib\",\n            \"photo\": null,\n            \"emp_code\": \"120\",\n            \"emp_branch\": 1,\n            \"gender\": \"1\",\n            \"biomatric_code\": \"120\",\n            \"birth_date\": \"1990-01-01\",\n            \"joindate\": \"2020-01-01\",\n            \"resigning_date\": \"3000-01-01\",\n            \"leave_credit_date\": null,\n            \"contact_no\": null,\n            \"email\": null,\n            \"address\": null,\n            \"login_name\": null,\n            \"password\": null,\n            \"timezone\": null,\n            \"imei_number\": null,\n            \"allow_in_out\": null,\n            \"department\": \"3\",\n            \"emp_type\": \"1\",\n            \"team\": \"1\",\n            \"shift_group\": \"1\",\n            \"food_category\": null,\n            \"manager\": null,\n            \"holiday_group\": null,\n            \"designation\": 1,\n            \"location\": 1,\n            \"attendance_setting\": 1,\n            \"work_status\": 1,\n            \"delete_status\": 0,\n            \"blocked\": 0,\n            \"last_login\": null\n        },\n    ],\n    \"meta\": {\n       \"current_page\": 1,\n       \"from\": 1,\n       \"last_page\": 3,\n       \"links\": {\n           \"first\": \"https://app.timetaag.com/api/v1/GetEmpOutdoors?page=1\",\n           \"last\": \"https://app.timetaag.com/api/v1/GetEmpOutdoors?page=3\",\n           \"prev\": null,\n           \"next\": \"https://app.timetaag.com/api/v1/GetEmpOutdoors?page=2\"\n       },\n       \"path\": \"https://app.timetaag.com/api/v1/GetEmpOutdoors\",\n       \"per_page\": 10,\n       \"to\": 10,\n       \"total\": 23\n   },\n}"
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"month\": [\n          \"validation.required\"\n        ],\n        \"year\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - 'Employees Outdoors'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                month:
                  type: integer
                  description: ''
                  example: 1
                year:
                  type: integer
                  description: ''
                  example: 2024
              required:
                - month
                - year
  '/api/v1/GetEmpOutdoor/{id}':
    get:
      summary: 'Get Single Employee Outdoor'
      operationId: getSingleEmployeeOutdoor
      description: 'This endpoint is used to get employee outdoor entry from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Employee Outdoor'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffOutDoorEntryId: 4
                    StaffId: '128'
                    OutDoorType: '2'
                    StartDateTime: '2024-03-01 15:15:00'
                    EndDateTime: '2024-03-05 16:15:00'
                    TotalDays: '2'
                    AppliedDate: null
                    Remarks: test
                    IsApproved: 1
                    ApprovedBy: null
                    ApproveDeclineOn: null
                    ManagerRemarks: null
                    LV1IsApproved: null
                    LV2IsApproved: null
                    LV3IsApproved: null
                    LV4IsApproved: null
                    LV5IsApproved: null
                    LV1ManagerRemarks: null
                    LV2ManagerRemarks: null
                    LV3ManagerRemarks: null
                    LV4ManagerRemarks: null
                    LV5ManagerRemarks: null
                    LV1ApproveDeclineOn: null
                    LV2ApproveDeclineOn: null
                    LV3ApproveDeclineOn: null
                    LV4ApproveDeclineOn: null
                    LV5ApproveDeclineOn: null
                    ClientId: null
                    TaskStartLattitude: null
                    TaskStartLongitude: null
                    TaskStartLocation: ''
                    TaskEndLattitude: null
                    TaskEndLongitude: null
                    TaskEndLocation: null
                    TaskTitle: null
                    TaskStatus: null
                    TaskCategoryId: null
                    IsNextDayEntry: null
                    AppliedBy: null
                    is_delete: 0
                    created_at: '2024-03-05T07:09:00.000000Z'
                    updated_at: '2024-03-05T07:11:35.000000Z'
                  message: 'Outdoor Entry Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffOutDoorEntryId:
                        type: integer
                        example: 4
                      StaffId:
                        type: string
                        example: '128'
                      OutDoorType:
                        type: string
                        example: '2'
                      StartDateTime:
                        type: string
                        example: '2024-03-01 15:15:00'
                      EndDateTime:
                        type: string
                        example: '2024-03-05 16:15:00'
                      TotalDays:
                        type: string
                        example: '2'
                      AppliedDate:
                        type: string
                        example: null
                      Remarks:
                        type: string
                        example: test
                      IsApproved:
                        type: integer
                        example: 1
                      ApprovedBy:
                        type: string
                        example: null
                      ApproveDeclineOn:
                        type: string
                        example: null
                      ManagerRemarks:
                        type: string
                        example: null
                      LV1IsApproved:
                        type: string
                        example: null
                      LV2IsApproved:
                        type: string
                        example: null
                      LV3IsApproved:
                        type: string
                        example: null
                      LV4IsApproved:
                        type: string
                        example: null
                      LV5IsApproved:
                        type: string
                        example: null
                      LV1ManagerRemarks:
                        type: string
                        example: null
                      LV2ManagerRemarks:
                        type: string
                        example: null
                      LV3ManagerRemarks:
                        type: string
                        example: null
                      LV4ManagerRemarks:
                        type: string
                        example: null
                      LV5ManagerRemarks:
                        type: string
                        example: null
                      LV1ApproveDeclineOn:
                        type: string
                        example: null
                      LV2ApproveDeclineOn:
                        type: string
                        example: null
                      LV3ApproveDeclineOn:
                        type: string
                        example: null
                      LV4ApproveDeclineOn:
                        type: string
                        example: null
                      LV5ApproveDeclineOn:
                        type: string
                        example: null
                      ClientId:
                        type: string
                        example: null
                      TaskStartLattitude:
                        type: string
                        example: null
                      TaskStartLongitude:
                        type: string
                        example: null
                      TaskStartLocation:
                        type: string
                        example: ''
                      TaskEndLattitude:
                        type: string
                        example: null
                      TaskEndLongitude:
                        type: string
                        example: null
                      TaskEndLocation:
                        type: string
                        example: null
                      TaskTitle:
                        type: string
                        example: null
                      TaskStatus:
                        type: string
                        example: null
                      TaskCategoryId:
                        type: string
                        example: null
                      IsNextDayEntry:
                        type: string
                        example: null
                      AppliedBy:
                        type: string
                        example: null
                      is_delete:
                        type: integer
                        example: 0
                      created_at:
                        type: string
                        example: '2024-03-05T07:09:00.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T07:11:35.000000Z'
                  message:
                    type: string
                    example: 'Outdoor Entry Retrieved Successfully.'
        400:
          description: 'Outdoor Entry Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Outdoor Entry Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Outdoor Entry Not Found.'
      tags:
        - 'Employees Outdoors'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the outdoor entry.'
        example: 20
        required: true
        schema:
          type: integer
  '/api/v1/DeleteEmpOutdoors/{id}':
    delete:
      summary: 'Delete Employee Outdoor'
      operationId: deleteEmployeeOutdoor
      description: 'This endpoint is used to delete employee outdoor entry from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete Outdoor entry'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Outdoor Entry Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Outdoor Entry Updated Successfully.'
        400:
          description: 'Outdoor Entry Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Outdoor Entry Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Outdoor Entry Not Found.'
      tags:
        - 'Employees Outdoors'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the outdoor entry.'
        example: 10
        required: true
        schema:
          type: integer
  /api/v1/AddEmpOutdoors:
    post:
      summary: 'Add Employee Outdoor'
      operationId: addEmployeeOutdoor
      description: 'This endpoint is used to add employee outdoor entry to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Outdoor entry'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    -
                      StaffId: '128'
                      OutDoorType: '2'
                      StartDateTime: '2024-03-05 15:15:00'
                      EndDateTime: '2024-03-06 16:15:00'
                      IsApproved: '0'
                      Remarks: null
                      TotalDays: 2
                      updated_at: '2024-03-05T07:09:00.000000Z'
                      created_at: '2024-03-05T07:09:00.000000Z'
                      id: 4
                  message: 'Employee Outdoor assigned Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        StaffId: '128'
                        OutDoorType: '2'
                        StartDateTime: '2024-03-05 15:15:00'
                        EndDateTime: '2024-03-06 16:15:00'
                        IsApproved: '0'
                        Remarks: null
                        TotalDays: 2
                        updated_at: '2024-03-05T07:09:00.000000Z'
                        created_at: '2024-03-05T07:09:00.000000Z'
                        id: 4
                    items:
                      type: object
                      properties:
                        StaffId:
                          type: string
                          example: '128'
                        OutDoorType:
                          type: string
                          example: '2'
                        StartDateTime:
                          type: string
                          example: '2024-03-05 15:15:00'
                        EndDateTime:
                          type: string
                          example: '2024-03-06 16:15:00'
                        IsApproved:
                          type: string
                          example: '0'
                        Remarks:
                          type: string
                          example: null
                        TotalDays:
                          type: integer
                          example: 2
                        updated_at:
                          type: string
                          example: '2024-03-05T07:09:00.000000Z'
                        created_at:
                          type: string
                          example: '2024-03-05T07:09:00.000000Z'
                        id:
                          type: integer
                          example: 4
                  message:
                    type: string
                    example: 'Employee Outdoor assigned Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"employee_code\": [\n          \"validation.required\"\n        ],\n        \"from_date\": [\n          \"validation.required\"\n        ],\n        \"to_date\": [\n          \"validation.required\"\n        ],\n       \"start_time\": [\n          \"validation.required\"\n        ],\n      \"end_time\": [\n          \"validation.required\"\n        ],\n      \"out_type\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - 'Employees Outdoors'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_code:
                  type: string
                  description: ''
                  example: '1,2'
                from_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                to_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                start_time:
                  type: string
                  description: ''
                  example: '3:15 PM'
                end_time:
                  type: string
                  description: ''
                  example: '3:15 PM'
                out_type:
                  type: integer
                  description: ''
                  example: 1
                remarks:
                  type: string
                  description: ''
                  example: test
              required:
                - employee_code
                - from_date
                - to_date
                - start_time
                - end_time
                - out_type
                - remarks
  '/api/v1/UpdateEmpOutdoors/{id}':
    patch:
      summary: 'Update Employee Outdoor'
      operationId: updateEmployeeOutdoor
      description: 'This endpoint is used to update employee outdoor entry to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update Outdoor entry'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffOutDoorEntryId: 4
                    StaffId: '128'
                    OutDoorType: '2'
                    StartDateTime: '2024-03-01 15:15:00'
                    EndDateTime: '2024-03-05 16:15:00'
                    TotalDays: '2'
                    AppliedDate: null
                    Remarks: test
                    IsApproved: 1
                    ApprovedBy: null
                    ApproveDeclineOn: null
                    ManagerRemarks: null
                    LV1IsApproved: null
                    LV2IsApproved: null
                    LV3IsApproved: null
                    LV4IsApproved: null
                    LV5IsApproved: null
                    LV1ManagerRemarks: null
                    LV2ManagerRemarks: null
                    LV3ManagerRemarks: null
                    LV4ManagerRemarks: null
                    LV5ManagerRemarks: null
                    LV1ApproveDeclineOn: null
                    LV2ApproveDeclineOn: null
                    LV3ApproveDeclineOn: null
                    LV4ApproveDeclineOn: null
                    LV5ApproveDeclineOn: null
                    ClientId: null
                    TaskStartLattitude: null
                    TaskStartLongitude: null
                    TaskStartLocation: ''
                    TaskEndLattitude: null
                    TaskEndLongitude: null
                    TaskEndLocation: null
                    TaskTitle: null
                    TaskStatus: null
                    TaskCategoryId: null
                    IsNextDayEntry: null
                    AppliedBy: null
                    is_delete: 0
                    created_at: '2024-03-05T07:09:00.000000Z'
                    updated_at: '2024-03-05T07:11:35.000000Z'
                  message: 'Outdoor Entry Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffOutDoorEntryId:
                        type: integer
                        example: 4
                      StaffId:
                        type: string
                        example: '128'
                      OutDoorType:
                        type: string
                        example: '2'
                      StartDateTime:
                        type: string
                        example: '2024-03-01 15:15:00'
                      EndDateTime:
                        type: string
                        example: '2024-03-05 16:15:00'
                      TotalDays:
                        type: string
                        example: '2'
                      AppliedDate:
                        type: string
                        example: null
                      Remarks:
                        type: string
                        example: test
                      IsApproved:
                        type: integer
                        example: 1
                      ApprovedBy:
                        type: string
                        example: null
                      ApproveDeclineOn:
                        type: string
                        example: null
                      ManagerRemarks:
                        type: string
                        example: null
                      LV1IsApproved:
                        type: string
                        example: null
                      LV2IsApproved:
                        type: string
                        example: null
                      LV3IsApproved:
                        type: string
                        example: null
                      LV4IsApproved:
                        type: string
                        example: null
                      LV5IsApproved:
                        type: string
                        example: null
                      LV1ManagerRemarks:
                        type: string
                        example: null
                      LV2ManagerRemarks:
                        type: string
                        example: null
                      LV3ManagerRemarks:
                        type: string
                        example: null
                      LV4ManagerRemarks:
                        type: string
                        example: null
                      LV5ManagerRemarks:
                        type: string
                        example: null
                      LV1ApproveDeclineOn:
                        type: string
                        example: null
                      LV2ApproveDeclineOn:
                        type: string
                        example: null
                      LV3ApproveDeclineOn:
                        type: string
                        example: null
                      LV4ApproveDeclineOn:
                        type: string
                        example: null
                      LV5ApproveDeclineOn:
                        type: string
                        example: null
                      ClientId:
                        type: string
                        example: null
                      TaskStartLattitude:
                        type: string
                        example: null
                      TaskStartLongitude:
                        type: string
                        example: null
                      TaskStartLocation:
                        type: string
                        example: ''
                      TaskEndLattitude:
                        type: string
                        example: null
                      TaskEndLongitude:
                        type: string
                        example: null
                      TaskEndLocation:
                        type: string
                        example: null
                      TaskTitle:
                        type: string
                        example: null
                      TaskStatus:
                        type: string
                        example: null
                      TaskCategoryId:
                        type: string
                        example: null
                      IsNextDayEntry:
                        type: string
                        example: null
                      AppliedBy:
                        type: string
                        example: null
                      is_delete:
                        type: integer
                        example: 0
                      created_at:
                        type: string
                        example: '2024-03-05T07:09:00.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T07:11:35.000000Z'
                  message:
                    type: string
                    example: 'Outdoor Entry Updated Successfully.'
        400:
          description: 'Outdoor Entry Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Outdoor Entry Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Outdoor Entry Not Found.'
      tags:
        - 'Employees Outdoors'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_code:
                  type: string
                  description: ''
                  example: '1,2'
                from_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                to_date:
                  type: string
                  description: ''
                  example: '2024-01-01'
                start_time:
                  type: string
                  description: ''
                  example: '3:15 PM'
                end_time:
                  type: string
                  description: ''
                  example: '3:15 PM'
                out_type:
                  type: integer
                  description: ''
                  example: 1
                remarks:
                  type: string
                  description: ''
                  example: test
              required:
                - employee_code
                - from_date
                - to_date
                - start_time
                - end_time
                - out_type
                - remarks
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the outdoor entry.'
        example: 14
        required: true
        schema:
          type: integer
  /api/v1/GetProcessData:
    post:
      summary: 'Get Daily Reports'
      operationId: getDailyReports
      description: 'This endpoint is used to fetch daily reports available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Get all Reports'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n      \"data\": [\n          {\n              \"list\": [\n                  {\n                      \"ProcessDataId\": 311,\n                      \"emp_code\": \"112\",\n                      \"ProcessDataDate\": \"2024-01-01 00:00:00\",\n                      \"StaffId\": 112,\n                      \"StaffInTime\": null,\n                      \"StaffInBiometricID\": null,\n                      \"StaffOutTime\": null,\n                      \"StaffOutBiometricId\": null,\n                      \"WorkDurationMins\": 0,\n                      \"BreakDurationMins\": 0,\n                      \"LateEnteredBy\": null,\n                      \"EarlyDepartureBy\": null,\n                      \"LeaveTypeId\": null,\n                      \"LeaveStatus\": null,\n                      \"IsOnOutDoor\": null,\n                      \"WeeklyOff\": 0,\n                      \"Holiday\": null,\n                      \"PunchRecords\": null,\n                      \"ShiftsId\": 4,\n                      \"ShiftStartTime\": \"2024-01-01 08:00\",\n                      \"ShiftEndTime\": \"2024-01-01 18:00\",\n                      \"Present\": 1,\n                      \"Absent\": 0,\n                      \"DetailedStatus\": \"Marked As Absent\",\n                      \"Status\": null,\n                      \"DetailedStatusCode\": null,\n                      \"StatusCode\": \"A\",\n                      \"Session1Status\": null,\n                      \"Session2Status\": null,\n                      \"OverTime\": 1,\n                      \"IsOutPunchMissed\": 0,\n                      \"IsInPunchMissed\": 0,\n                      \"Remarks\": null,\n                      \"TotalDurationMIns\": 0,\n                      \"OverTime1\": null,\n                      \"OverTime2\": null,\n                      \"OverTime3\": null,\n                      \"WorkDurationStr\": null,\n                      \"TotalDurationStr\": null,\n                      \"LateByDurationStr\": null,\n                      \"EarlyByDurationStr\": null,\n                      \"OverTimeDurationStr\": null,\n                      \"InTimeDurationStr\": null,\n                      \"OutTimeDurationStr\": null,\n                      \"UniqueStatusCode\": null,\n                      \"LeaveTypeId2\": null,\n                      \"LeaveStatus2\": null,\n                      \"BranchId\": 1,\n                      \"DeptId\": 3,\n                      \"AttSettingId\": 1,\n                      \"attendance_setting\": \"\",\n                      \"LocationId\": 1,\n                      \"DesignationId\": 1,\n                      \"EmploymentTypeId\": 1,\n                      \"Session1InTime\": null,\n                      \"Session1OutTime\": null,\n                      \"Session1PunchRecords\": null,\n                      \"Session2InTime\": null,\n                      \"Session2OutTime\": null,\n                      \"Session2PunchRecords\": null,\n                      \"ProductionDurationStr\": null,\n                      \"OverAllDuration\": 0,\n                      \"LastModifiedDate\": null,\n                      \"created_at\": \"2024-03-05 15:27:51\",\n                      \"updated_at\": \"2024-03-05 15:27:51\",\n                      \"ISFlexiShift\": \"0\",\n                      \"emp_name\": \"CJ Sanoop\",\n                      \"dept_name\": \"Human Resources\",\n                      \"name\": \"Default\",\n                      \"loc_name\": \"DefaultLoc\",\n                      \"AttSettingName\": \"Default\",\n                      \"ShiftCode\": \"GS\",\n                      \"weekday\": \"Monday\"\n                  },\n              ],\n              \"summary\": {\n                  \"total_present\": 52,\n                  \"total_weekly_off\": 9\n              },\n          },\n      ],\n     \"message\": \"Retrieved Successfully.\"\n}"
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"fdate\": [\n          \"validation.required\"\n        ],\n        \"tdate\": [\n          \"validation.required\"\n        ],\n        \"calculate\": [\n          \"validation.required\"\n        ],\n       \"report\": [\n          \"validation.required\"\n        ],\n        \"group1\": [\n          \"validation.required\"\n        ],\n       \"group2\": [\n          \"validation.required\"\n        ],\n      \"sort_column\": [\n          \"validation.required\"\n        ],\n       \"client_db_name\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - Reports
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fdate:
                  type: string
                  description: ''
                  example: '2024-01-01'
                tdate:
                  type: string
                  description: ''
                  example: '2024-03-01'
                calculate:
                  type: integer
                  description: ''
                  example: 0
                report:
                  type: string
                  description: ''
                  example: basic
                group1:
                  type: integer
                  description: ''
                  example: 0
                group2:
                  type: string
                  description: ''
                  example: LocationId
                sort_column:
                  type: integer
                  description: ''
                  example: 0
                client_db_name:
                  type: string
                  description: ''
                  example: tt_10000
                emp_code:
                  type: integer
                  description: ''
                  example: 1
                emp_ids:
                  type: string
                  description: ''
                  example: '1,2'
                designation:
                  type: integer
                  description: ''
                  example: 1
                location:
                  type: integer
                  description: ''
                  example: 1
                att_set:
                  type: integer
                  description: ''
                  example: 1
                department:
                  type: integer
                  description: ''
                  example: 1
                branch:
                  type: integer
                  description: ''
                  example: 1
                page:
                  type: integer
                  description: ''
                  example: 1
                per_page:
                  type: integer
                  description: ''
                  example: 10
              required:
                - fdate
                - tdate
                - calculate
                - report
                - group1
                - group2
                - sort_column
                - client_db_name
                - page
                - per_page
  /api/v1/GetShifts:
    get:
      summary: 'Get Shifts'
      operationId: getShifts
      description: 'This endpoint is used to fetch all shifts available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Shifts'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n      \"data\": [\n           {\n               \"ShiftId\": 5,\n               \"ShiftName\": \"Flexible Shift\",\n               \"ShiftCode\": \"FS\",\n               \"ShiftStartTime\": null,\n               \"ShiftEndTime\": null,\n               \"PunchStartFromMins\": null,\n               \"PunchEndAfterMins\": null,\n               \"ShiftBreakStartTime\": null,\n               \"ShiftBreakEndTime\": null,\n               \"HalfDay\": null,\n               \"HalfDayOccurence\": \"\",\n               \"HalfDayDuration\": \"0\",\n               \"HalfDayShiftEndTime\": null,\n               \"IsFlexiShift\": \"1\",\n               \"FlexiShiftDuration\": \"540\",\n               \"FlexiShiftBreakDuration\": \"60\",\n               \"IsFlexiShiftEndNextDay\": null,\n               \"FlexiShiftEndBy\": \"23:59\",\n               \"created_at\": \"2023-04-27T20:25:54.000000Z\",\n               \"updated_at\": \"2023-04-27T20:25:54.000000Z\"\n           },\n      ],\n     \"meta\": {\n          \"current_page\": 1,\n          \"from\": 1,\n          \"last_page\": 3,\n          \"links\": {\n              \"first\": \"https://app.timetaag.com/api/v1/GetShifts?page=1\",\n              \"last\": \"https://app.timetaag.com/api/v1/GetShifts?page=3\",\n              \"prev\": null,\n              \"next\": \"https://app.timetaag.com/api/v1/GetShifts?page=2\"\n          },\n          \"path\": \"https://app.timetaag.com/api/v1/GetShifts\",\n          \"per_page\": 10,\n          \"to\": 10,\n          \"total\": 23\n      },\n     \"message\": \"Shifts Retrieved Successfully.\"\n}"
      tags:
        - Shifts
  '/api/v1/GetShift/{id}':
    get:
      summary: 'Get Single Shift'
      operationId: getSingleShift
      description: 'This endpoint is used to get a single shift from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    ShiftName: abc
                    ShiftCode: abc
                    IsFlexiShift: '0'
                    ShiftStartTime: '04:30'
                    ShiftEndTime: '05:30'
                    ShiftBreakStartTime: '04:30'
                    ShiftBreakEndTime: '05:30'
                    HalfDay: Wednesday
                    HalfDayOccurence: '1,2'
                    HalfDayDuration: '2'
                    PunchStartFromMins: '1'
                    PunchEndAfterMins: '3'
                    FlexiShiftDuration: '3'
                    FlexiShiftBreakDuration: '2'
                    IsFlexiShiftEndNextDay: '0'
                    FlexiShiftEndBy: '06:30'
                    updated_at: '2024-03-05T09:02:09.000000Z'
                    created_at: '2024-03-05T09:02:09.000000Z'
                    id: 15
                  message: 'Shift Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      ShiftName:
                        type: string
                        example: abc
                      ShiftCode:
                        type: string
                        example: abc
                      IsFlexiShift:
                        type: string
                        example: '0'
                      ShiftStartTime:
                        type: string
                        example: '04:30'
                      ShiftEndTime:
                        type: string
                        example: '05:30'
                      ShiftBreakStartTime:
                        type: string
                        example: '04:30'
                      ShiftBreakEndTime:
                        type: string
                        example: '05:30'
                      HalfDay:
                        type: string
                        example: Wednesday
                      HalfDayOccurence:
                        type: string
                        example: '1,2'
                      HalfDayDuration:
                        type: string
                        example: '2'
                      PunchStartFromMins:
                        type: string
                        example: '1'
                      PunchEndAfterMins:
                        type: string
                        example: '3'
                      FlexiShiftDuration:
                        type: string
                        example: '3'
                      FlexiShiftBreakDuration:
                        type: string
                        example: '2'
                      IsFlexiShiftEndNextDay:
                        type: string
                        example: '0'
                      FlexiShiftEndBy:
                        type: string
                        example: '06:30'
                      updated_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      id:
                        type: integer
                        example: 15
                  message:
                    type: string
                    example: 'Shift Retrieved Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Shift Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Shift Not Found.'
      tags:
        - Shifts
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 11
        required: true
        schema:
          type: integer
  '/api/v1/DeleteShifts/{id}':
    delete:
      summary: 'Delete Shift'
      operationId: deleteShift
      description: 'This endpoint is used to delete shift from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Shift Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Shift Deleted Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Shift Not Found.\",\n}"
      tags:
        - Shifts
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 18
        required: true
        schema:
          type: integer
  /api/v1/GetAssignShifts:
    get:
      summary: 'Get Assign Shifts'
      operationId: getAssignShifts
      description: 'This endpoint is used to fetch all assign shifts available in the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get all Assign Shifts'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"status\": true,\n     \"code\": 200,\n     \"message\": \"Allocates Retrieved Successfully.\",\n     \"data\": [\n          {\n              \"StaffShiftId\": 11,\n              \"ShiftId\": 4,\n              \"StaffId\": 120,\n              \"StartDate\": \"2024-03-01\",\n              \"EndDate\": \"2024-03-10\",\n              \"created_at\": \"2023-08-23T17:01:41.000000Z\",\n              \"updated_at\": \"2023-10-03T10:52:09.000000Z\",\n              \"ShiftName\": \"General Shift\",\n              \"id\": 19,\n              \"emp_name\": \"CJ Talib\",\n              \"photo\": null,\n              \"emp_code\": \"120\",\n              \"emp_branch\": 1,\n              \"gender\": \"1\",\n              \"biomatric_code\": \"120\",\n              \"birth_date\": \"1990-01-01\",\n              \"joindate\": \"2020-01-01\",\n              \"resigning_date\": \"3000-01-01\",\n              \"leave_credit_date\": null,\n              \"contact_no\": null,\n              \"email\": null,\n              \"address\": null,\n              \"login_name\": null,\n              \"password\": null,\n              \"timezone\": null,\n              \"imei_number\": null,\n              \"allow_in_out\": null,\n              \"department\": \"3\",\n              \"emp_type\": \"1\",\n              \"team\": \"1\",\n              \"shift_group\": \"1\",\n              \"food_category\": null,\n              \"manager\": null,\n              \"holiday_group\": null,\n              \"designation\": 1,\n              \"location\": 1,\n              \"attendance_setting\": 1,\n              \"work_status\": 1,\n              \"delete_status\": 0,\n              \"blocked\": 0,\n              \"last_login\": null\n          },\n     ],\n     \"meta\": {\n          \"current_page\": 1,\n          \"from\": 1,\n          \"last_page\": 3,\n          \"links\": {\n              \"first\": \"https://app.timetaag.com/api/v1/GetAssignShifts?page=1\",\n              \"last\": \"https://app.timetaag.com/api/v1/GetAssignShifts?page=3\",\n              \"prev\": null,\n              \"next\": \"https://app.timetaag.com/api/v1/GetAssignShifts?page=2\"\n          },\n          \"path\": \"https://app.timetaag.com/api/v1/GetAssignShifts\",\n          \"per_page\": 10,\n          \"to\": 10,\n          \"total\": 23\n      }\n}"
      tags:
        - Shifts
  '/api/v1/GetAssignShift/{id}':
    get:
      summary: 'Get Single Assign Shift'
      operationId: getSingleAssignShift
      description: 'This endpoint is used to get single assign shift from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Get a Single Assign Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffShiftId: 11
                    ShiftId: 4
                    StaffId: 120
                    StartDate: '2024-03-01'
                    EndDate: '2024-03-10'
                    created_at: '2024-03-01T05:12:48.000000Z'
                    updated_at: '2024-03-05T09:19:01.000000Z'
                  message: 'Shift Retrieved Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffShiftId:
                        type: integer
                        example: 11
                      ShiftId:
                        type: integer
                        example: 4
                      StaffId:
                        type: integer
                        example: 120
                      StartDate:
                        type: string
                        example: '2024-03-01'
                      EndDate:
                        type: string
                        example: '2024-03-10'
                      created_at:
                        type: string
                        example: '2024-03-01T05:12:48.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T09:19:01.000000Z'
                  message:
                    type: string
                    example: 'Shift Retrieved Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 200
                  message: 'Shift Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Shift Not Found.'
      tags:
        - Shifts
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 5
        required: true
        schema:
          type: integer
  '/api/v1/DeleteAssignShifts/{id}':
    delete:
      summary: 'Delete Assign Shift'
      operationId: deleteAssignShift
      description: 'This endpoint is used to delete assign shift from the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
      responses:
        200:
          description: 'Delete a Assign Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  message: 'Shift Deleted Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Shift Deleted Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Shift Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Shift Not Found.'
      tags:
        - Shifts
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 13
        required: true
        schema:
          type: integer
  /api/v1/AddShifts:
    post:
      summary: 'Add Shift'
      operationId: addShift
      description: 'This endpoint is used to add shift to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    ShiftName: abc
                    ShiftCode: abc
                    IsFlexiShift: '0'
                    ShiftStartTime: '04:30'
                    ShiftEndTime: '05:30'
                    ShiftBreakStartTime: '04:30'
                    ShiftBreakEndTime: '05:30'
                    HalfDay: Wednesday
                    HalfDayOccurence: '1,2'
                    HalfDayDuration: '2'
                    PunchStartFromMins: '1'
                    PunchEndAfterMins: '3'
                    FlexiShiftDuration: '3'
                    FlexiShiftBreakDuration: '2'
                    IsFlexiShiftEndNextDay: '0'
                    FlexiShiftEndBy: '06:30'
                    updated_at: '2024-03-05T09:02:09.000000Z'
                    created_at: '2024-03-05T09:02:09.000000Z'
                    id: 15
                  message: 'Shift Created Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      ShiftName:
                        type: string
                        example: abc
                      ShiftCode:
                        type: string
                        example: abc
                      IsFlexiShift:
                        type: string
                        example: '0'
                      ShiftStartTime:
                        type: string
                        example: '04:30'
                      ShiftEndTime:
                        type: string
                        example: '05:30'
                      ShiftBreakStartTime:
                        type: string
                        example: '04:30'
                      ShiftBreakEndTime:
                        type: string
                        example: '05:30'
                      HalfDay:
                        type: string
                        example: Wednesday
                      HalfDayOccurence:
                        type: string
                        example: '1,2'
                      HalfDayDuration:
                        type: string
                        example: '2'
                      PunchStartFromMins:
                        type: string
                        example: '1'
                      PunchEndAfterMins:
                        type: string
                        example: '3'
                      FlexiShiftDuration:
                        type: string
                        example: '3'
                      FlexiShiftBreakDuration:
                        type: string
                        example: '2'
                      IsFlexiShiftEndNextDay:
                        type: string
                        example: '0'
                      FlexiShiftEndBy:
                        type: string
                        example: '06:30'
                      updated_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      id:
                        type: integer
                        example: 15
                  message:
                    type: string
                    example: 'Shift Created Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"Shift_name\": [\n          \"validation.required\"\n        ],\n        \"Shift_code\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - Shifts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ShiftName:
                  type: string
                  description: unique
                  example: Test
                ShiftCode:
                  type: string
                  description: unique
                  example: test
                flexi_shift:
                  type: integer
                  description: ''
                  example: 1
                shift_start_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_end_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_break_start_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_break_end_time:
                  type: string
                  description: ''
                  example: '04:30'
                half_day:
                  type: string
                  description: ''
                  example: Wednesday
                half_day_occurence:
                  type: string
                  description: ''
                  example: '1,2'
                half_day_duration:
                  type: integer
                  description: ''
                  example: 1
                punch_start_from_mins:
                  type: integer
                  description: ''
                  example: 1
                punch_end_after_mins:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_duration:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_break_duration:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_end_next_day:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_end_by:
                  type: string
                  description: ''
                  example: '06:30'
                open_shift_duration:
                  type: integer
                  description: ''
                  example: 1
              required:
                - ShiftName
                - ShiftCode
  '/api/v1/UpdateShifts/{id}':
    patch:
      summary: 'Update Shift'
      operationId: updateShift
      description: 'This endpoint is used to update shift to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    ShiftName: abc
                    ShiftCode: abc
                    IsFlexiShift: '0'
                    ShiftStartTime: '04:30'
                    ShiftEndTime: '05:30'
                    ShiftBreakStartTime: '04:30'
                    ShiftBreakEndTime: '05:30'
                    HalfDay: Wednesday
                    HalfDayOccurence: '1,2'
                    HalfDayDuration: '2'
                    PunchStartFromMins: '1'
                    PunchEndAfterMins: '3'
                    FlexiShiftDuration: '3'
                    FlexiShiftBreakDuration: '2'
                    IsFlexiShiftEndNextDay: '0'
                    FlexiShiftEndBy: '06:30'
                    updated_at: '2024-03-05T09:02:09.000000Z'
                    created_at: '2024-03-05T09:02:09.000000Z'
                    id: 15
                  message: 'Shift Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      ShiftName:
                        type: string
                        example: abc
                      ShiftCode:
                        type: string
                        example: abc
                      IsFlexiShift:
                        type: string
                        example: '0'
                      ShiftStartTime:
                        type: string
                        example: '04:30'
                      ShiftEndTime:
                        type: string
                        example: '05:30'
                      ShiftBreakStartTime:
                        type: string
                        example: '04:30'
                      ShiftBreakEndTime:
                        type: string
                        example: '05:30'
                      HalfDay:
                        type: string
                        example: Wednesday
                      HalfDayOccurence:
                        type: string
                        example: '1,2'
                      HalfDayDuration:
                        type: string
                        example: '2'
                      PunchStartFromMins:
                        type: string
                        example: '1'
                      PunchEndAfterMins:
                        type: string
                        example: '3'
                      FlexiShiftDuration:
                        type: string
                        example: '3'
                      FlexiShiftBreakDuration:
                        type: string
                        example: '2'
                      IsFlexiShiftEndNextDay:
                        type: string
                        example: '0'
                      FlexiShiftEndBy:
                        type: string
                        example: '06:30'
                      updated_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      created_at:
                        type: string
                        example: '2024-03-05T09:02:09.000000Z'
                      id:
                        type: integer
                        example: 15
                  message:
                    type: string
                    example: 'Shift Updated Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 400
                  message: 'Shift Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: 'Shift Not Found.'
      tags:
        - Shifts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ShiftName:
                  type: string
                  description: unique
                  example: Test
                ShiftCode:
                  type: string
                  description: unique
                  example: test
                flexi_shift:
                  type: integer
                  description: ''
                  example: 1
                shift_start_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_end_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_break_start_time:
                  type: string
                  description: ''
                  example: '04:30'
                shift_break_end_time:
                  type: string
                  description: ''
                  example: '04:30'
                half_day:
                  type: string
                  description: ''
                  example: Wednesday
                half_day_occurence:
                  type: string
                  description: ''
                  example: '1,2'
                half_day_duration:
                  type: integer
                  description: ''
                  example: 1
                punch_start_from_mins:
                  type: integer
                  description: ''
                  example: 1
                punch_end_after_mins:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_duration:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_break_duration:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_end_next_day:
                  type: integer
                  description: ''
                  example: 1
                flexi_shift_end_by:
                  type: string
                  description: ''
                  example: '06:30'
                open_shift_duration:
                  type: integer
                  description: ''
                  example: 1
              required:
                - ShiftName
                - ShiftCode
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 15
        required: true
        schema:
          type: integer
  /api/v1/AddAssignShifts:
    post:
      summary: 'Add Assign Shift'
      operationId: addAssignShift
      description: 'This endpoint is used to add assign shift to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Add a Assign Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    -
                      StaffId: '126'
                      ShiftId: '4'
                      StartDate: '2024-03-01'
                      EndDate: '2024-03-10'
                      updated_at: '2024-03-05T09:15:17.000000Z'
                      created_at: '2024-03-05T09:15:17.000000Z'
                      id: 12
                  message: 'Shift Assigned Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        StaffId: '126'
                        ShiftId: '4'
                        StartDate: '2024-03-01'
                        EndDate: '2024-03-10'
                        updated_at: '2024-03-05T09:15:17.000000Z'
                        created_at: '2024-03-05T09:15:17.000000Z'
                        id: 12
                    items:
                      type: object
                      properties:
                        StaffId:
                          type: string
                          example: '126'
                        ShiftId:
                          type: string
                          example: '4'
                        StartDate:
                          type: string
                          example: '2024-03-01'
                        EndDate:
                          type: string
                          example: '2024-03-10'
                        updated_at:
                          type: string
                          example: '2024-03-05T09:15:17.000000Z'
                        created_at:
                          type: string
                          example: '2024-03-05T09:15:17.000000Z'
                        id:
                          type: integer
                          example: 12
                  message:
                    type: string
                    example: 'Shift Assigned Successfully.'
        400:
          description: 'Validation Error'
          content:
            text/plain:
              schema:
                type: string
                example: "{\n  \"status\": false,\n  \"code\": 400,\n  \"message\": \"Validation Error.\",\n  \"data\": {\n        \"employee_codes\": [\n          \"validation.required\"\n        ],\n        \"start_date\": [\n          \"validation.required\"\n        ],\n       \"end_date\": [\n          \"validation.required\"\n        ],\n       \"shift\": [\n          \"validation.required\"\n        ],\n    }\n}"
      tags:
        - Shifts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                employee_codes:
                  type: string
                  description: ''
                  example: '[1,2]'
                start_date:
                  type: string
                  description: ''
                  example: '2024-03-01'
                end_date:
                  type: string
                  description: ''
                  example: '2024-03-01'
                shift:
                  type: string
                  description: ''
                  example: '4'
              required:
                - employee_codes
                - start_date
                - end_date
                - shift
  '/api/v1/UpdateAssignShifts/{id}':
    patch:
      summary: 'Update Assign Shift'
      operationId: updateAssignShift
      description: 'This endpoint is used to update assign shift to the database.'
      parameters:
        -
          in: header
          name: BioTaag-API-Key
          description: ''
          example: YOUR-API-KEY
          schema:
            type: string
        -
          in: header
          name: Idempotency-Key
          description: ''
          example: "base64_encode('body')"
          schema:
            type: string
      responses:
        200:
          description: 'Update a Assign Shift'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: true
                  code: 200
                  data:
                    StaffShiftId: 11
                    ShiftId: 4
                    StaffId: 120
                    StartDate: '2024-03-01'
                    EndDate: '2024-03-10'
                    created_at: '2024-03-01T05:12:48.000000Z'
                    updated_at: '2024-03-05T09:19:01.000000Z'
                  message: 'Shift Updated Successfully.'
                properties:
                  status:
                    type: boolean
                    example: true
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      StaffShiftId:
                        type: integer
                        example: 11
                      ShiftId:
                        type: integer
                        example: 4
                      StaffId:
                        type: integer
                        example: 120
                      StartDate:
                        type: string
                        example: '2024-03-01'
                      EndDate:
                        type: string
                        example: '2024-03-10'
                      created_at:
                        type: string
                        example: '2024-03-01T05:12:48.000000Z'
                      updated_at:
                        type: string
                        example: '2024-03-05T09:19:01.000000Z'
                  message:
                    type: string
                    example: 'Shift Updated Successfully.'
        400:
          description: 'Shift Not Found'
          content:
            application/json:
              schema:
                type: object
                example:
                  status: false
                  code: 200
                  message: 'Shift Not Found.'
                properties:
                  status:
                    type: boolean
                    example: false
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 'Shift Not Found.'
      tags:
        - Shifts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  description: ''
                  example: '2024-03-01'
                end_date:
                  type: string
                  description: ''
                  example: '2024-03-01'
                shift:
                  type: string
                  description: ''
                  example: '4'
              required:
                - start_date
                - end_date
                - shift
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the shift'
        example: 11
        required: true
        schema:
          type: integer
tags:
  -
    name: Auth
    description: "\nAPI for managing Login"
  -
    name: 'Attendance Rule'
    description: "\nAPIs for managing Attendance Rule"
  -
    name: Branchs
    description: "\nAPIs for managing Branchs"
  -
    name: Departments
    description: "\nAPIs for managing Departments"
  -
    name: Devices
    description: "\nAPIs for managing Devices"
  -
    name: Employees
    description: "\nAPIs for managing Employees"
  -
    name: 'Employees Leaves'
    description: "\nAPIs for managing Employees Leaves"
  -
    name: 'Employees Outdoors'
    description: "\nAPIs for managing Employees Outdoors"
  -
    name: Reports
    description: "\nAPIs for managing Reports"
  -
    name: Shifts
    description: "\nAPIs for managing Shifts"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.'
security:
  -
    default: []
