api_employee_dependants:
  url: /api/v1/employee/:id/dependent
  param: { module:apiv1pim, action:EmployeeDependantApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_details:
  url: /api/v1/employee/:id
  param: { module: apiv1pim, action: EmployeeDetailApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_search_employee:
  url: /api/v1/employee/search
  param: { module:apiv1pim, action:EmployeeSearchApi }
  requirements:
      sf_method: [get]

api_employee_contacts:
  url: /api/v1/employee/:id/contact-detail
  param: { module:apiv1pim, action:EmployeeContactDetailApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_job_detail:
  url: /api/v1/employee/:id/job-detail
  param: { module:apiv1pim, action:EmployeeJobDetailApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_termination:
  url: /api/v1/employee/:id/action/terminate
  param: { module:apiv1pim, action:EmployeeTerminateApi }
  requirements:
    id: \d+
    sf_method: [post]

api_employee_supervisor:
  url: /api/v1/employee/:id/supervisor
  param: { module:apiv1pim, action:EmployeeSupervisorApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_work_experiece:
  url: /api/v1/employee/:id/work-experience
  param: { module:apiv1pim, action:EmployeeWorkExperienceApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_education:
  url: /api/v1/employee/:id/education
  param: { module:apiv1pim, action:EmployeeEducationApi }
  requirements:
    id: \d+
    sf_method: [get, post, put, delete]

api_employee_event:
  url: /api/v1/employee/event
  param: { module:apiv1pim, action:EmployeeEventApi }
  requirements:
      sf_method: [get]

api_leave_type:
  url: /api/v1/leave/type
  param: { module:apiv1leave, action:LeaveTypeApi }
  requirements:
     sf_method: [get,post]

api_leave_request:
  url: /api/v1/employee/:id/leave-request
  param: { module:apiv1leave, action:LeaveRequestApi }
  requirements:
     id: \d+
     sf_method: [get,post]

api_employee_custom_field:
  url: /api/v1/employee/:id/custom-field
  param: { module:apiv1pim, action:EmployeeCustomFieldApi }
  requirements:
     id: \d+
     sf_method: [get,post,put,del]

api_custom_field:
  url: /api/v1/custom-field
  param: { module:apiv1pim, action:CustomFieldApi }
  requirements:
     sf_method: [get,post]

api_search_leave_request:
  url: /api/v1/leave/search
  param: { module:apiv1leave, action:SearchLeaveRequestApi }
  requirements:
     sf_method: [get]

api_leave_entitlement:
  url: /api/v1/employee/:id/entitlement
  param: { module:apiv1leave, action:LeaveEntitlementApi }
  requirements:
     id: \d+
     sf_method: [get,post]

api_leave_period:
  url: /api/v1/leave/period
  param: { module:apiv1leave, action:LeavePeriodApi }
  requirements:
     sf_method: [get]

api_admin_user:
  url: api/v1/user
  param: { module:apiv1admin, action:UserApi }
  requirements:
     sf_method: [get]

api_user_login:
  url: api/v1/login
  param: { module:apiv1admin, action:UserLoginApi }
  requirements:
     sf_method: [post]

api_attendance_punchin:
  url: /api/v1/employee/:id/punch-in
  param: { module:apiv1attendance, action:PunchInApi }
  requirements:
    id: \d+
    sf_method: [get,post]

api_attendance_punchout:
  url: /api/v1/employee/:id/punch-out
  param: { module:apiv1attendance, action:PunchOutApi }
  requirements:
    id: \d+
    sf_method: [get,post]

api_project:
  url: /api/v1/project
  param: { module:apiv1time, action:ProjectsApi }
  requirements:
     sf_method: [get,post,put,delete]

api_customer:
  url: /api/v1/customer
  param: { module:apiv1time, action:CustomerApi }
  requirements:
     sf_method: [get,post]

api_activity:
  url: /api/v1/activity
  param: { module:apiv1time, action:ActivityApi }
  requirements:
     id: \d+
     sf_method: [get,post]

api_employee_photo:
  url: api/v1/employee/:id/photo
  param: { module:apiv1pim, action:EmployeePhotoApi }
  requirements:
      sf_method: [get]

api_organization:
  url: api/v1/organization
  param: { module:apiv1admin, action:OrganizationApi }
  requirements:
      sf_method: [get]

api_kpis:
  url: /api/v1/kpis
  param: { module:apiv1performance, action:KpiApi }
  requirements:
    sf_method: [get]

api_performance_reviews:
  url: /api/v1/performance_reviews
  param: { module:apiv1performance, action:PerformanceReviewApi }
  requirements:
    sf_method: [get]

api_employee_performance_details:
  url: /api/v1/employee/:id/performance_reviews
  param: { module:apiv1performance, action:PerformanceReviewApi }
  requirements:
    id: \d+
    sf_method: [get]

api_timesheet:
  url: /api/v1/employee/:id/timesheet
  param: { module:apiv1time, action:EmployeeTimesheetApi }
  requirements:
     id: \d+
     sf_method: [get,post,put]

api_timesheet_rows_delete:
  url: /api/v1/employee/:id/timesheet/row_delete
  param: { module:apiv1time, action:EmployeeTimesheetRowDeleteApi }
  requirements:
     id: \d+
     sf_method: [delete]

api_integration:
  url: /api/v1/integration
  param: { module:apiv1integration, action:IntegrationApi}
  requirements:
     sf_method: [post]

api_mobile_myinfo:
  url: /api/v1/myinfo
  param: { module:apiv1user, action:MyInfoApi}
  requirements:
    sf_method: [get]

api_leave_myleave_entitlement:
  url: /api/v1/leave/my-leave-entitlement
  param: { module:apiv1user, action:MyLeaveEntitlementApi }
  requirements:
    sf_method: [get]

api_leave_myleave_request:
  url: /api/v1/leave/my-leave-request
  param: { module:apiv1user, action:MyLeaveRequestApi }
  requirements:
    sf_method: [get,post]

api_leave_leavelist:
  url: /api/v1/leave/leave-list
  param: { module:apiv1user, action:LeaveListApi }
  requirements:
    sf_method: [get]

api_leave_leave_request:
  url: /api/v1/leave/leave-request/:id
  param: { module:apiv1user, action:EmployeeLeaveRequestApi }
  requirements:
    sf_method: [get,post]

api_leave_subordinate_leave_entitlement:
  url: /api/v1/subordinate/:id/leave-entitlement
  param: { module:apiv1user, action:SubordinateLeaveEntitlementApi }
  requirements:
    sf_method: [get]

api_leave_subordinate_leave_request:
  url: /api/v1/subordinate/:id/leave-request
  param: { module:apiv1user, action:SubordinateLeaveRequestApi }
  requirements:
    sf_method: [post]

api_employees:
  url: /api/v1/employees
  param: { module:apiv1user, action:EmployeesApi }
  requirements:
    sf_method: [get]

api_public_api_definition:
  url: /api/v1/api-definition
  param: { module:apiv1public, action:ApiDefinitionApi }
  requirements:
    sf_method: [get]

api_leave_config_holidays:
  url: /api/v1/leave/holidays
  param: { module:apiv1user, action:HolidaysApi }
  requirements:
    sf_method: [get]

api_leave_config_leave_periods:
  url: /api/v1/leave/leave-periods
  param: { module:apiv1user, action:LeavePeriodsApi }
  requirements:
    sf_method: [get]

api_leave_config_work_shift:
  url: /api/v1/leave/work-shift
  param: { module:apiv1user, action:WorkShiftApi }
  requirements:
    sf_method: [get]

api_leave_config_work_week:
  url: /api/v1/leave/work-week
  param: { module:apiv1user, action:WorkWeekApi }
  requirements:
    sf_method: [get]

api_leave_config_types:
  url: /api/v1/leave/leave-types
  param: { module:apiv1user, action: LeaveTypesApi }
  requirements:
    sf_method: [get]

api_enabled_modules:
  url: /api/v1/enabled-modules
  param: { module:apiv1public, action: EnabledModulesApi }
  requirements:
    sf_method: [get]
