Europe's lunch break, measured in a million meetings
All five markets book fewer meetings at midday than in the hour before it. That much is unsurprising. What the curves disagree on is when midday is: four bottom out at 12:00, Paris at 13:00. The depth of the dip splits them too, from a 30% dent in Amsterdam to a 64% collapse in Paris.
Domestic meetings only, attendee and host in the same time zone, over 365 days, cancellations excluded. n = 1,060,456 across five markets. Berlin is 93% of that sample, so read this as Germany with European comparisons.
Five markets, five lunch breaks, and they do not all happen at once
Share of each market's own day by local starting hour. Domestic meetings, 365 days, cancellations excluded. Berlin n = 983,062, Vienna 39,369, Zurich 18,286, Amsterdam 13,186, Paris 6,553.
Where the French floor sits
13:00
Paris is the only market whose trough falls at 13:00. Everyone else is already climbing back by then.
The deepest midday drop
−63.6%
Paris, measured from its own 10:00 peak. Amsterdam is the shallowest at 29.8%, and the only market that gives up less than 44%.
Domestic meetings
1,060,456
365 days across five markets, attendee and host on the same clock, cancellations excluded.
% of that market's own day
Normalised to each market's own total: Berlin is 93% of the sample, and plotting raw counts would flatten the other four onto the axis. Copenhagen (n = 842) and every cross-timezone market are excluded.
France eats an hour later
Paris is the only market in the set whose trough sits at 13:00 rather than 12:00: 321 meetings against 471 in the hour before and 812 in the hour after. A cliché everybody already believes, which is the version of a finding that travels.
Amsterdam is the one that barely breaks
Amsterdam gives up 29.8% between its peak and its midday floor. Every other market in the set gives up at least 44%, and Paris gives up 63.6%. An hour's flight from Vienna, on the same clock, and an entirely different opinion about whether lunch is a meeting slot.
| Market | n | Peak hour | Midday floor | Drop from peak | Floor at |
|---|---|---|---|---|---|
| Berlin | 983,062 | 10:00 | 77,615 | −44.0% | 12:00 |
| Vienna | 39,369 | 10:00 | 2,234 | −57.8% | 12:00 |
| Zurich | 18,286 | 14:00 | 972 | −61.7% | 12:00 |
| Paris | 6,553 | 10:00 | 321 | −63.6% | 13:00 |
| Amsterdam | 13,186 | 14:00 | 1,182 | −29.8% | 12:00 |
The drop is measured from each market's own peak hour down to its own midday floor, so it reads as depth below that market's daily high rather than as volume lost after the morning. Zurich and Amsterdam peak at 14:00, which puts their midday floor before their peak rather than after it.
| Local hour | Berlin | Vienna | Zurich | Paris | Amsterdam |
|---|---|---|---|---|---|
| 06:00 | 2300.02% | 300.08% | 5613.07% | – | – |
| 07:00 | 2,4950.25% | 1700.43% | 900.49% | 100.15% | 100.08% |
| 08:00 | 37,4853.81% | 2,9067.38% | 1,6739.15% | 3014.59% | 3712.81% |
| 09:00 | 103,89710.57% | 4,48911.40% | 2,04411.18% | 76211.62% | 1,65312.54% |
| 10:00 | 138,60714.10% | 5,30113.46% | 2,13411.67% | 88213.46% | 1,41310.71% |
| 11:00 | 122,21412.43% | 4,02810.23% | 1,4037.67% | 67110.24% | 1,59312.08% |
| 12:00 | 77,6157.90% | 2,2345.68% | 9725.32% | 4717.19% | 1,1828.97% |
| 13:00 | 88,8679.04% | 3,5078.91% | 1,4638.00% | 3214.89% | 1,38310.49% |
| 14:00 | 107,95510.98% | 3,3578.53% | 2,53513.86% | 81212.39% | 1,68312.77% |
| 15:00 | 103,15610.49% | 3,3778.58% | 1,6539.04% | 79212.08% | 1,56311.85% |
| 16:00 | 95,6319.73% | 3,4178.68% | 1,2636.90% | 76211.62% | 1,1228.51% |
| 17:00 | 58,6975.97% | 2,6056.62% | 9225.04% | 3815.81% | 2611.98% |
| 18:00 | 27,7552.82% | 2,5056.36% | 7414.05% | 2914.43% | 1401.06% |
| 19:00 | 11,3531.15% | 1,2933.28% | 6713.67% | 701.07% | 6214.71% |
| 20:00 | 4,8900.50% | 1300.33% | 1400.77% | 300.46% | 1701.29% |
| 21:00 | 1,2020.12% | 100.03% | 200.11% | – | 200.15% |
Shares are each market's percent of its own full 24-hour day, so the rows shown here do not sum to 100. A dash is an hour with no domestic meetings in the window. The chart window starts at 07:00. Zurich's 561 meetings at 06:00 (more than it books at 07:00) sit outside it: on n = 18,286 that spike is one source behaving oddly, not a market habit.
What this means for you
If you book meetings across European markets, the midday hour is not one block you can treat uniformly.
How to act on it
- Sending a French prospect a 13:00 slot puts your meeting in the emptiest hour of their day. In Germany, 13:00 is already back at 9% of the day and climbing.
- Amsterdam's curve is close to flat from 09:00 to 15:00. Availability there is a weaker signal of preference than it is in Vienna, where the noon hour is genuinely dead.
- If your booking page offers every slot equally, you are letting a German 10:00 and a French 13:00 look like the same offer. They are not.
What this chart cannot tell you
The limits are published with the finding, because the first reply to any chart is an attempt to find them.
- Berlin is 93% of the sample. This is Germany with European comparisons, not a European average: an average built on this mix would mostly be Germany wearing a different label.
- The sample is meetergo's customer base, which skews B2B and German-speaking. A market's curve here describes the people who book through meetergo in that market, not its whole workforce.
- Paris (n = 6,553) and Amsterdam (n = 13,186) are small enough that individual hours move on tens of meetings. The troughs are robust; the hour-to-hour wiggle around them is not.
›The query behind this report
Run against PostgreSQL. Multi-host meetings duplicate rows across the host join, so the counts use COUNT(DISTINCT).
SELECT
at."timezone",
EXTRACT(HOUR FROM (a."start"::timestamptz AT TIME ZONE at."timezone"))::int AS local_hour,
COUNT(DISTINCT a."id") AS meetings
FROM "appointment" a
JOIN "attendee" at ON at."appointmentId" = a."id"
JOIN "appointment_hosts" ah ON ah."appointmentId" = a."id"
JOIN "user" u ON u."id" = ah."userId"
WHERE a."isCancelled" = false
-- Domestic only. Without this the attendee's local hour is dictated by the
-- host's calendar and the curve measures our host base, not the market.
AND at."timezone" = u."timezone"
AND at."timezone" IN ('Europe/Berlin','Europe/Vienna','Europe/Amsterdam',
'Europe/Zurich','Europe/Paris')
AND a."createdAt" >= now() - interval '365 days'
GROUP BY 1, 2
ORDER BY 1, 2;How to cite this
Free to reuse with attribution. Copy the line below or link the chart directly: either way the sample size travels with it.
Across 1,060,456 domestic meetings booked through meetergo over 365 days, every European market analysed dips at midday, but Paris is the only one whose floor falls at 13:00 rather than 12:00. Measured from each market's own daily peak, the dip runs from −29.8% in Amsterdam to −63.6% in Paris.
How we collect this data
meetergo is scheduling software used across Europe. The reports here are a by-product of running it: aggregate patterns in when meetings get booked and when they start.
Production data, not a survey
Every figure is a query against the live appointment, attendee and host tables. Nobody was asked what time they prefer to meet: these are the meetings that actually happened.
The method travels with the number
Sample size, window and filter sit in the subhead of every chart, and the SQL sits at the bottom of every report. Run it against your own book if you have one.
Re-run each quarter
Working hours are seasonal: summer hours, the December collapse, the January surge. The meeting clock is re-queried rather than republished unchanged.
Aggregated and non-identifiable
meetergo sells GDPR compliance, so no cut is fine enough to trace back to one customer's booking volume. Every market shown clears a minimum sample of 3,000 meetings.
More from the data hub
- Working patternsGermany
Germany does not have a workday. It has two.
983,062 domestic German meetings, one deep notch at noon, and a second peak that never quite catches the first.
August 20, 2026n = 983,062
- SalesBooking behaviour
Only 14% of meetings are booked for today or tomorrow
841,480 completed meetings, sorted by the gap between booking and start. The speed-to-lead orthodoxy describes a seventh of them.
August 20, 2026n = 841,480
