Integrations

Zenchef: plan your staff from your reservations

Connect Zenchef to Shyfter to automatically import your reserved covers, calculate the staff you need hour by hour and track your cost per cover.

8 min readUpdated on October 2, 2026

Zenchef manages your restaurant's reservations. Shyfter manages your schedule. By connecting them, your reserved covers arrive in Shyfter automatically and become a staffing forecast: you see, hour by hour, how many people you need front of house and in the kitchen, and whether your schedule keeps up.

What this integration is for

  • Schedule precisely: the staffing need for each hour is calculated from the covers actually expected at the table, rather than from an overall estimate.
  • Spot understaffing and overstaffing: the schedule and AutoPlanning compare planned staff with the staff you need.
  • Track your profitability: Shyfter compares booked covers, planned hours and clocked hours, with a planned and actual cost per cover.
  • Get to know your guests better: no-shows, walk-ins, booking lead time, guests per table, booking channels.

Before you start

  • On the Zenchef side: API access requires a Zenchef Grow subscription. You need two pieces of information, shown in Zenchef under Settings → Partners: the authentication token and your restaurant identifier.
  • On the Shyfter side: on current plans, the integration is available from the Standard pack (Standard, Pro and custom). Accounts on older pricing have access without any pack condition.
  • Permissions: installation and settings are reserved for administrators and for managers who are allowed to manage productivity.

The Zenchef token is tied to the Zenchef user account that generated it: it expires if that account's password changes. For a stable connection, ask Zenchef's API support for a token dedicated to a technical user.

Step 1: install Zenchef in Shyfter

  1. Go to Settings → Integrations, Productivity category.
  2. Open the Zenchef card and click Install.
  3. Fill in the two fields:
    • Zenchef token: paste the token copied from Zenchef.
    • Restaurant ID: the Zenchef identifier of your restaurant (restaurantId), shown in Zenchef next to the token.
  4. Confirm. If the token or the identifier is wrong, an error message is displayed and the integration is not installed.

As soon as it is installed, Shyfter imports the last 12 months of reservations. A History import in progress: x/12 months banner shows the progress; the figures fill in as the import goes, without reloading the page.

Step 2: run the schedule from your reservations

Right after installation, Shyfter offers to run the planning from your reservations. Three settings are needed so that the schedule calculates staff from Zenchef covers:

  • Staffing need based on: Table reservations.
  • Staff Forecast: Based on tables.
  • Staffing needs: brackets expressed in covers (for example up to 20 covers, 2 people), calculated from your past reservations and clockings.

Two options:

  • Set everything up automatically: Shyfter applies the first two settings and calculates the brackets. Your productivity and your turnover brackets do not change. If the history is still being imported, the brackets are calculated at the end of the import; if there is not enough clocking history, Shyfter tells you and you define the brackets yourself.
  • Do it myself: you make these settings manually, in the screens described below.

If your establishment does not have any staffing brackets yet and is already set to reservations, Shyfter automatically applies the calculated brackets at the end of the history import. Existing brackets are never overwritten.

Step 3: reuse your Zenchef services

Zenchef knows your services (for example lunch and dinner). Shyfter offers to reuse them as time slots in the schedule's service view:

  • Create the services if you do not have any in Shyfter yet.
  • Replace my services if you already have some. A warning tells you how many services will be deleted, including those linked to a section. Your shifts are not changed: only how they are grouped in the service view changes.
  • Keep mine or Later to change nothing.

The end time suggested for each service is the last possible booking plus the Zenchef table duration for 4 people. You can change it afterwards in the schedule settings. The schedule's service view is enabled along the way.

What Shyfter imports, and when

  • Every day at 5 am: reservations from the previous day to the next 14 days.
  • Every hour, from 10 am to 11 pm: an update of today's and tomorrow's reservations.
  • Reservations taken into account: confirmed, arrived, seated and finished. Cancelled and refused reservations, the waiting list and no-shows do not count in the expected covers (no-shows remain visible in the statistics).
  • No personal data about your guests: Shyfter only imports operational information (date, time, number of covers, room, service, channel, status). Names, emails, phone numbers, comments and allergies are never read.

A reservation deleted in Zenchef also disappears from Shyfter at the next import.

Performance settings

In Settings → Performance → General settings

  • Staffing need based on: the unit used by the schedule, AutoPlanning and alerts to calculate the staff you need. Choose Table reservations to run the schedule from your covers.
  • Productivity based on: the unit of your productivity ratios. It is independent from the previous one: for example, you can calculate the staffing need on covers and keep productivity on turnover.
  • Staff Forecast: choose Based on tables.

In Settings → Performance → Reservation settings

  • Meal duration: the average time a table stays occupied, 90 minutes by default (from 15 to 360 minutes). Shyfter uses it when Zenchef does not provide a table duration for a reservation. A reservation counts in every hour of its meal: a table booked at 7 pm for 90 minutes weighs on 7 pm and 8 pm.
  • The covers forecast: forecast method, external factors and trend correction (see below, Covers per day tab).

Turnover settings stay in Turnover settings and are not changed by the integration.

Cover brackets are set in Settings → Performance → Staffing needs.

In the schedule

Day view

  • For each hour, the need is shown as planned/needed, calculated from the covers at the table during that hour and from your brackets.
  • The day summary shows Tables: 3 · Covers: 13 (tables correspond to the number of reservations).
  • If a forecast exists, Forecast: X is shown next to the booked covers.

Week view

  • Each day shows a table icon and the number of tables; the number of covers appears on hover. This is visible even on days without shifts.

Service view

  • Tables and covers are shown per service and per day.

AutoPlanning

  • Understaffing and overstaffing alerts are calculated on covers.

The Table reservation page

Go to Settings → Performance → Table reservation. The page has three tabs.

Analytics

Choose a period to get:

  • Key indicators: covers, share of walk-ins, no-show rate, average booking lead time, guests per table, covers per clocked hour, and the planned and actual cost per cover.
  • Covers per hour: how booked covers and walk-ins are spread over the day.
  • Booked vs planned vs clocked (per day): for each day, reservations, covers, walk-ins, no-shows (past days only), planned and clocked hours, costs and cost per cover.
  • By service, By channel (website, mobile app, restaurant...) and By section.

The cost per cover is calculated as in the timesheet reports (unpaid breaks deducted, according to your cost calculation basis). Costs are only visible to users allowed to see prices. A manager limited to certain sections only sees the hours and costs of their sections, without an overall cost per cover.

Zenchef rooms and sections Link each Zenchef room to a Shyfter section (for example the terrace to the Terrace section), then click Save. You can then track the covers, hours, costs and cost per cover of each section. Rooms appear after the first import.

Covers → staff calibration Shyfter looks at your reservation and clocking history to work out a ratio of covers per person, and suggests staffing brackets. Adjust them if needed, then click Apply the brackets and confirm: they replace the brackets used by the schedule. Without enough history, Shyfter says so and suggests nothing.

Covers per day

This tab shows covers day by day. To anticipate reservations that have not come in yet, Shyfter calculates a covers forecast:

  • automatically every Monday for the next 14 days, and a first time at the end of the history import;
  • on demand, with the Generate the forecast button, for the coming days of the month displayed.

The forecast uses the same engine as the turnover forecast. Its settings (TMA28, WMA or Holt-Winters method, external factors such as public holidays, school holidays or the weather) are in Settings → Performance → Reservation settings. The schedule keeps the higher of booked covers and the forecast. A sufficient recent history is needed for a forecast to be possible.

Imports

The log of each import (daily, hourly, history or manual) over the last 90 days: date, period, reservations, covers, status and any error. The Run the import again button restarts an import, Refresh updates the list.

On the dashboard

Two widgets are enabled at installation for managers who have access to the schedule:

  • Covers of the week (actual + forecast).
  • Covers of the last 30 days: with the previous 30 days as a dotted line for comparison.

Uninstall Zenchef

In Settings → Integrations, open the Zenchef card and click Uninstall. Imports stop, the reservation screens are removed and the cover-based units switch back to turnover. You can reinstall the integration later.

Frequently asked questions

Reservations no longer arrive in Shyfter. The Zenchef token has probably expired, for example after a password change on the Zenchef account that generated it. Get a new token in Zenchef and update the integration. The Imports tab shows the error encountered.

I cannot see the Zenchef card, or it is locked. On current plans, the integration requires at least the Standard pack. Contact us to upgrade your plan.

The staffing brackets were not calculated. Calibration needs a combined history of reservations and clockings. As long as it is not enough, define your brackets manually in Staffing needs, then run the calibration again later.

Are walk-ins counted? Yes, if they are recorded in Zenchef: they appear separately from reservations in the analytics.

Can I keep turnover and covers at the same time? Yes. The staffing need and productivity each have their own unit: for example covers for the schedule and turnover for productivity.

Did this article answer your question?
Can't find what you're looking for?
Support
© 2026 Shyfter · shyfter.com