---
title: "saveEmployeeV1"
method: POST
path: "/employee/v1/saveEmployee"
tags: ["Employee Service"]
---

# saveEmployeeV1

`POST /employee/v1/saveEmployee`

Create a new employee. 
 Update an employee's details.

## Headers

- `authenticationtoken` string, required
- `password` string
- `sitename` string, required
- `userid` string
- `X-B3-TraceId` string

## Request body

- EmployeeSave — EmployeeSave description
  - `employee` Employee[]
    - `address1` string — "Address" from Employee setup screen Alphanumeric (30) Reference Data for the employee's Net-Chef Profile
    - `address2` string — Not in use
    - `age` integer — Age
    - `allergies` string — Employee's allergies (free text field) Alphanumeric (25) Reference Data for the employee's Net-Chef Profile
    - `breakWaiver` 'N' | 'Y' — Employee has signed a break waiver or not. Impacts Employee Break reports and Labor Actuals. Alphanumeric (1) If populated, must be ‘Y’ or ‘N’. If not populated, will set to ‘N’ for new records; will not update existing records
    - `broadcastSchedule` 'N' | 'Y' — Should the weekly labor schedule be emailed to this employee (Y/N)
    - `city` string — Now storing city as character data Alphanumeric (40) Reference Data for the employee's Net-Chef Profile
    - `country` string — Country Alphanumeric (40) Reference Data for the employee's Net-Chef Profile
    - `createUser` integer — User that created the employee (FK to t_user)
    - `dateCreate` string, date — Date the employee was created
    - `dateHired` string, date, required — "Date Hired" from Employee setup screen Date (mm/dd/yyyy) Reference Data for the employee's Net-Chef Profile
    - `dateOfBirth` string, date, required — "Date of Birth" from Employee setup screen Date (mm/dd/yyyy) Used by the employee as part of Teamwork login authentication
    - `dateTerminated` string, date — "Date Terminated" from Employee setup screen Date (mm/dd/yyyy) Reference Data for the employee's Net-Chef Profile
    - `editUser` integer — User that last edited the employee (FK to t_user)
    - `eligibleForRehire` 'false' | 'true' — Is this employee eligible for rehire (Y/N) Alphanumeric (1) If populated, must be ‘Y’ or ‘N’
    - `emailAddress` string — Employee's email address Alphanumeric (75) Reference data - Employee's Email Address
    - `emergencyContactName` string — Name of person to contact in the event of an emergency regarding this employee Alphanumeric (40) Reference Data for the employee's Net-Chef Profile
    - `emergencyContactPhone` string — Phone number of person to contact in the event of an emergency regarding this employee Alphanumeric (30) Reference Data for the employee's Net-Chef Profile
    - `employeeChecklistItem01` string — Check List Item 1 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem02` string — Check List Item 2 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem03` string — Check List Item 3 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem04` string — Check List Item 4 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem05` string — Check List Item 5 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem06` string — Check List Item 6 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem07` string — Check List Item 7 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem08` string — Check List Item 8 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem09` string — Check List Item 9 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeChecklistItem10` string — Check List Item 10 Alphanumeric (40) Reference Data associated to the "New Hire Checklist" configured in Enterprise Manager
    - `employeeLocations` EmployeeLocation[]
      - `activeFlag` 'N' | 'Y' — activeFlag Alphanumeric (1) If populated, must be ‘Y’ or ‘N’. If not populated, will be set to ‘Y’ cannot be 'N' for the employee's primary location.Indicates whether the employee is "active" at the (non-primary) location.If the employee/location relationship is not active, the employee is ineligible to work at the location
      - `allocateLaborTo` 'N' | 'Y' — Allocate labor indicator Alphanumeric (1) If populated, must be ‘Y’ or ‘N’. If not populated, will be set to ‘N’.If ‘Y’, this record must come after a record where this value =‘N’.Indicates whether this location will be used when allocating labor data for multiple locations that the employee has worked
      - `deleteFlag` 'N' | 'Y' — deleteFlag
      - `employeeNumber` string — employeeNumber
      - `id` integer — Unique Identifier
      - `locationCityName` string — "City" selected in the Location/Company setup screen
      - `locationCode` string, required — Location Code Alphanumeric (6) Must match an existing locationCode from /getAllLocations
      - `locationMarketName` string — "Market" selected in the Location/Company setup screen (if any)
      - `locationName` string — "Name" from the Location/Company setup screen
      - `locationStateName` string — "State/Province" selected in the Location/Company setup screen (if any)
      - `posExportFlag` boolean — Export indicator
      - `posId` string — POS ID Alphanumeric (40) Must not be the POS ID for any other Employee/Location. This will default to the employeeNumber by default unless otherwise entered to match the employee ID used in the POS. For the saveTimeClockEnhanced API endpoint, the Location "posId" must be provided as the "employeeNumber"
      - `primaryLocationFlag` boolean — Is Primary location for user working shift At least one Location must be flagged as Primary
    - `employeeNickname` string — Employee nickname Alphanumeric (20) Must not contain characters other than letters, numbers, spaces and the following special characters: single quote, hyphen or underline. Reference Data for the employee's Net-Chef Profile and visible on the schedule
    - `employeeNumber` string, required — "Employee Number" from Employee setup screen Alphanumeric (40) Must be unique globally. Primary key to make updates against an employees profile, meaning it cannot be updated /save calls
    - `employeePositions` EmployeePosition[]
      - `altLocationsFlag` 'N' | 'Y' — altLocationsFlag Alphanumeric (1) If populated, must be ‘Y’ or ‘N’. Allows employee to work this position at any non-primary Location. If 'N', an employee can only work that Position at their primary Location
      - `deleteFlag` 'N' | 'Y' — deleteFlag Alphanumeric (1) If populated, must be ‘Y’ or ‘N’. An employee must have/retain at least one Position, flagged as "primaryPositionFlag": "Y".You can also "delete" an Employee/Position record by excluding it from the current "save" input
      - `employeeNumber` string — employeeNumber
      - `id` integer — Unique Identifier
      - `payRate` number — Pay Rate Number (12,4) Required if employee “Pay Type” is ‘Hourly’
      - `payRateDefault` number — Default pay rate for this position
      - `payRateMaximum` number — Maximum pay rate for this position
      - `payRateMinimum` number — Minimum pay rate for this position
      - `payrollCode` string — Payroll code Alphanumeric (3) Reference Position Code that could be used in payroll exports
      - `posCode` string, required — POS Code Alphanumeric (10) Position Code that's used in the POS. The posCode is validated against the saveTimeClockEnhanced. Will default to the "positionCode"
      - `positionCode` string, required — Code describing position Alphanumeric (10) Must match a Position Code configured in the Enterprise Manager Positions module
      - `positionGlDescription` string — GL to which this position is mapped
      - `positionGlSubstructure` string
      - `positionName` string — Full description of position
      - `positionPlGroupingCode` string
      - `positionPlGroupingDesc` string
      - `primaryPositionFlag` 'N' | 'Y' — Primary Position Flag At least one Position must be flagged as Primary
      - `skillLevelCode` integer — skillLevelCode Number (3) Must match a code configured in the Enterprise Manager Skill Levels module
      - `skillLevelDescription` string
      - `wageMatrix` integer — Wage Matrix assigned to the location Number (3) Required if the employee’s primary location is associated with an active wage matrix that has passed its first effective date
    - `ethnicGroup` string — Employee's ethnic group Alphanumeric (10) Code for the "Ethnic Group" from Enterprise Manager
    - `federalAdditionalWithholding` number — Employee's additional withholding (federal taxation purposes) Number (8,2) Reference Data for the employee's Net-Chef Profile
    - `federalExemptions` integer — Employee's number of exemptions (federal taxation purposes) Number (3,0) Reference Data for the employee's Net-Chef Profile
    - `federalMaritalStatus` string — Employee's federal marital status Alphanumeric (10) Code for the "Marital Status" from Enterprise Manager
    - `firstName` string, required — "First Name" from Employee setup screen Alphanumeric (40) "First Name" for the Employee Profile
    - `flexField01` string — Flexible Field 1 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField02` string — Flexible Field 2 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField03` string — Flexible Field 3 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField04` string — Flexible Field 4 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField05` string — Flexible Field 5 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField06` string — Flexible Field 6 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField07` string — Flexible Field 7 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField08` string — Flexible Field 8 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField09` string — Flexible Field 9 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `flexField10` string — Flexible Field 10 Alphanumeric (30) Data for the selected Flex Field from the Net-Chef Employee record. Integrators are responsible for knowing which values belong in which "flexField" #s
    - `lastName` string, required — "Last Name" from Employee setup screen Alphanumeric (40) "Last Name" for the Employee Profile
    - `locationId` integer — "location Id" from Employee setup screen
    - `locationName` string — Unique identifier for Location at/for which Employee record was created from Employee setup screen
    - `manager` 'N' | 'Y' — Is this employee a manager (Y/N) Alphanumeric (1) If populated, must be ‘Y’ or ‘N’.If not populated, will set to ‘N’ for new records
    - `mealProgramDeduction` number — Employee's meal program deduction amount Number (8,2) Meal Program Deduction from the Net-Chef Employee record
    - `middleName` string — "Middle Name" from Employee setup screen Alphanumeric (40) "Middle Name" for the Employee Profile
    - `minorLaborProgramCode` string — Minor program for employee Alphanumeric (10) Code for any Minor Labor Program configured in Enterprise Manager
    - `partTime` 'N' | 'Y' — Marked Y/true when not full time Alphanumeric (1) If populated, must be ‘Y’ or ‘N’
    - `payRate01` number — Pay Rate 1 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate02` number — Pay Rate 2 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate03` number — Pay Rate 3 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate04` number — Pay Rate 4 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate05` number — Pay Rate 5 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate06` number — Pay Rate 6 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate07` number — Pay Rate 7 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate08` number — Pay Rate 8 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate09` number — Pay Rate 9 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payRate10` number — Pay Rate 10 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `payType` string, required — Employee pay type Alphanumeric (20) Must be ‘Salary’, ‘Hourly’ or ‘Salary Exempt’
    - `payrollIdNumber` string — Employee Payroll ID Number Alphanumeric (20) If the Labor Preference to “Allow Duplicate Payroll ID Number” is NOT enabled, must not be the Payroll ID Number for any other existing employee
    - `phoneNumber` string — Employee's phone number Alphanumeric (30) Reference Data for the employee's Net-Chef Profile
    - `posId` string — POS ID Alphanumeric (40) Must not be the POS ID for any other Employee/Location. This will default to the employeeNumber by default unless otherwise entered to match the employee ID used in the POS. For the saveTimeClockEnhanced API endpoint, the Location "posId" must be provided as the "employeeNumber"
    - `positionCode01` string — Position Code 1 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode02` string — Position Code 2 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode03` string — Position Code 3 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode04` string — Position Code 4 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode05` string — Position Code 5 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode06` string — Position Code 6 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode07` string — Position Code 7 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode08` string — Position Code 8 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode09` string — Position Code 9 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `positionCode10` string — Position Code 10 Recommended to use the "employeePositions" array to create and update employees positions and payRates
    - `postalCode` string — "Zip" from Employee setup screen Alphanumeric (10) Reference Data for the employee's Net-Chef Profile
    - `primaryLocationCode` string — Assigned location employee typically works at Recommendation to use the "employeeLocations" array to assign and update Locations
    - `primaryPositionName` string — Primary job description
    - `pto01` number — Paid Time Off 1. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto02` number — Paid Time Off 2. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto03` number — Paid Time Off 3. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto04` number — Paid Time Off 4. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto05` number — Paid Time Off 5. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto06` number — Paid Time Off 6. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto07` number — Paid Time Off 7. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto08` number — Paid Time Off 8. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto09` number — Paid Time Off 9. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `pto10` number — Paid Time Off 10. Formatted as '000.0000'. Setting 'null' value for a field does not override (i.e. delete) an existing value for that field in the Employee's record. Employee setup allows customers to customize up to 10 "Paid Time Off" type records, in the Enterprise Manager "Paid Time Off" screen. You can import PTO balances for employee's to reference. Integrators are responsible for knowing which values correspond to particular "pto" #s
    - `salaryAmount` number — Employee's salary Number (10,2) Required if "Pay Type" is not "Hourly"
    - `sex` 'F' | 'M' | 'X' — Employee's sex Alphanumeric (1) Valid values are 'F' (Female), 'M' (Male), 'X' (Non-Binary)
    - `sickHours` number — Number of sick leave hours available. Value can be negative Number (7,4) Reference data to track and deplete employee sick time
    - `skillLevel01` number — Skill Level 1 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel02` number — Skill Level 2 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel03` number — Skill Level 3 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel04` number — Skill Level 4 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel05` number — Skill Level 5 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel06` number — Skill Level 6 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel07` number — Skill Level 7 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel08` number — Skill Level 8 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel09` number — Skill Level 9 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `skillLevel10` number — Skill Level 10 Recommended to use the "employeePositions" array to update Skill levels as they relate to Positions
    - `socialSecurityNumber` string — Social Security Number Alphanumeric (20) Reference Data for the employee's Net-Chef Profile
    - `stateAdditionalWithholding` number — Employee's additional withholding (state taxation purposes) Number (8,2) Reference Data for the employee's Net-Chef Profile
    - `stateExemptions` integer — Employee's additional withholding (state taxation purposes) Number (3,0) Reference Data for the employee's Net-Chef Profile
    - `stateMaritalStatus` string — Employee's state marital status Alphanumeric (10) Code for the "Marital Status" from Enterprise Manager
    - `stateProvince` string — State Alphanumeric (3) Reference Data for the employee's Net-Chef Profile
    - `status` string, required — Employee status description Alphanumeric (10) Must be ‘Active’, ‘Leave’ or 'Terminated' or the Code associated to these descriptions in Enterprise Manager
    - `statusCode` string — "statusCode" from Employee setup screen
    - `suiSdiTaxJurisdictionCode` string — Employee SUI/SDI Tax Jurisdiction Code Alphanumeric (6) Reference Data for the employee's Net-Chef Profile
    - `terminationReason` string — Reason that employee was terminated. 'Code' of the configured termination reason from EM Alphanumeric (10) Reference data - 'Code' of the configured termination reason from Enterprise Manager
    - `uniformDeductionAmount` number — Employee's uniform deduction amount Number (8,2) Reference Data for the employee's Net-Chef Profile
    - `unionMembership` string — Union that employee belongs Alphanumeric (10) Reference Data for the employee's Net-Chef Profile based on Union Codes configured in Enterprise Manager
    - `wageMatrixRow01` number — Wage Matrix 1 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow02` number — Wage Matrix 2 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow03` number — Wage Matrix 3 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow04` number — Wage Matrix 4 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow05` number — Wage Matrix 5 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow06` number — Wage Matrix 6 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow07` number — Wage Matrix 7 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow08` number — Wage Matrix 8 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow09` number — Wage Matrix 9 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
    - `wageMatrixRow10` number — Wage Matrix 10 Recommended to use the "employeePositions" array to update Wage Matrix as they relate to Positions
  - `franchiseSite` string — franchiseSite description Option for the Franchisor to upload employee data on behalf of the Franchisee without modifying the API Header Parameters. If used, must be the "Franchise Code" from the the "Franchise" setup in Enterprise Manager

## Response `200`

Success

- object

## Other responses

- `207` — Partial Success
- `400` — Validation Error
- `401` — Authorization
- `429` — Too Many Requests
- `500` — Unexpected Error
- `504` — Timeout

---

[API](https://skmtc.net/crunchtime/apis/inventory-labor.md) · [All operations](https://skmtc.net/crunchtime/apis/inventory-labor/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crunchtime/inventory-labor/versions/0af8e380ff2c/schema)
