> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Work Locations

> Before onboarding a W-2 Employee, we'll need to specify where the employee will be working. This is known as a Work Location and is important for taxation. A Work Location is often reused for multiple employees but may also be used by only one employee (sometimes the case for remote employees).

<Info>
  ### Note

  Work Locations aren't required to onboard 1099 Contractors due to their taxable status. To learn how to onboard contractors, reference our [Contractor Onboarding Guide](/docs/contractor-onboarding-guide).
</Info>

## In this guide

* How to create a Work Location using the API
* How to create a Work Location from the white-label Company Dashboard component

***

## API

### Verify the address

Call [Resolve Taxable Location](/reference/taxable-locations/resolve-taxable-location) to verify that an address is taxable.

<Info>
  ### Note

  Remember to replace the placeholders such as `{{testApiKey}}` in the code samples below.
</Info>

<CodeGroup>
  ```bash bash theme={null}
  curl --request POST \
       --url https://api.zeal.com/taxableLocations \
       --header 'Accept: application/json' \
       --header 'Authorization: Bearer {{testApiKey}}' \
       --header 'Content-Type: application/json' \
       --data '
  {
      "street1": "941 Newell Rd.",
      "street2": "",
      "city": "Palo Alto",
      "state": "CA",
      "zip": "94303"
  }
  '
  ```
</CodeGroup>

### Add a Work Location

Use the `taxableLocationID` returned in the previous step to call [Create Work Location](/reference/work-locations/create-work-location).

<CodeGroup>
  ```bash bash theme={null}
  curl --request POST \
       --url https://api.zeal.com/workLocations \
       --header 'Accept: application/json' \
       --header 'Authorization: Bearer {{testApiKey}}' \
       --header 'Content-Type: application/json' \
       --data '
  {
       "taxableLocationID": "{{taxableLocationID}}",
       "companyID": "{{companyID}}",
       "name": "Main Office"
  }
  '
  ```
</CodeGroup>

## White-Label

### Access the Company Dashboard

Navigate to your Partner Dashboard and ensure that **Test Mode** is enabled. Then, click on a company to access the Company Dashboard as an Admin.

<img src="https://mintcdn.com/zeal-9a4b7c2b/8iA6Z7TGBwM-qVOT/images/docs/56604c8-super-admin-employer-dashboard-test-mode.png?fit=max&auto=format&n=8iA6Z7TGBwM-qVOT&q=85&s=731e907edf1a70a5e8126f9afe6a9fb9" alt="Zeal Partner Dashboard in Test Mode" width="4720" height="2589" data-path="images/docs/56604c8-super-admin-employer-dashboard-test-mode.png" />

### Add a Work Location

Click on the **Work Locations** page, then click **Add New Location**.

<img src="https://mintcdn.com/zeal-9a4b7c2b/8iA6Z7TGBwM-qVOT/images/docs/aacecf4-worklocations.png?fit=max&auto=format&n=8iA6Z7TGBwM-qVOT&q=85&s=f28aed6fb2905b7d19709c394a87e3b9" alt="" width="4720" height="2589" data-path="images/docs/aacecf4-worklocations.png" />

On the Work Location page fill the form that appears with a taxable address, then click **Create**.

<img src="https://mintcdn.com/zeal-9a4b7c2b/8iA6Z7TGBwM-qVOT/images/docs/adfd601-newworklocation.png?fit=max&auto=format&n=8iA6Z7TGBwM-qVOT&q=85&s=43ca685ec946a8fc39227dfacc0aaaa6" alt="" width="4720" height="2589" data-path="images/docs/adfd601-newworklocation.png" />

***

## Recap

* A Work Location is required to onboard employees
* Work Locations can be created using the [Resolve Taxable Location](/reference/taxable-locations/resolve-taxable-location) and [Create Work Location](/reference/work-locations/create-work-location) endpoints
* Work Locations can also be created from the Company Dashboard
