{"id":20154,"date":"2026-04-01T13:28:24","date_gmt":"2026-04-01T13:28:24","guid":{"rendered":"https:\/\/www.takeachef.com\/blog?p=20154"},"modified":"2026-10-07T14:27:55","modified_gmt":"2026-10-07T14:27:55","slug":"how-much-does-a-private-chef-make-in-canada","status":"publish","type":"post","link":"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada","title":{"rendered":"How Much Does a Private Chef Make in Canada?"},"content":{"rendered":"\n<section class=\"key-takeaways-box\">\n  <h2>Key Takeaways<\/h2>\n  <p class=\"ktb-tldr\"><strong>TL;DR:<\/strong> What private chefs make in Canada starts with what their bookings are worth, and that depends above all on where the booking is and how many guests it feeds. In 2026 the average booking was $1,288 CAD, and close to $1,900 in Muskoka and Whistler, where groups are bigger.<\/p>\n  <ul>\n    <li><strong>Location:<\/strong> Cottage country and ski towns have the biggest bookings: $1,919 on average in Muskoka and $1,896 in Whistler, against $1,083 in the Toronto area.<\/li>\n    <li><strong>Service and group size:<\/strong> The price per guest drops as the group grows, from a median of $250 for one or two guests to $180 for 7 to 12, but a dinner for ten still makes a much bigger booking.<\/li>\n    <li><strong>Seasons:<\/strong> Cottage bookings in Ontario peak in summer and Mont Tremblant&#8217;s in winter, while Whistler and Toronto book all year round.<\/li>\n    <li><strong>Where clients book:<\/strong> Ski chalets in Whistler and Mont Tremblant, lakeside cottages in Ontario&#8217;s Muskoka region and condos in Toronto and Vancouver are among the most popular settings for private chef experiences.<\/li>\n    <li><strong>Getting started:<\/strong> Price for ingredients, travel time and expertise, build a profile with professional photos and varied menus, and consider serving several cities or nearby resorts to catch seasonal demand.<\/li>\n  <\/ul>\n<\/section>\n\n\n\n\n<p class=\"wp-block-paragraph\">Hiring a private chef in Canada has become an increasingly popular choice \u2014 whether for a ski chalet dinner in Whistler, a special celebration in Toronto, or a gourmet experience at a Mont Tremblant vacation rental. But how much does it actually cost, and what can private chefs expect to earn per booking?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At Take a Chef, we connect clients with talented private chefs across Canada&#8217;s most vibrant provinces. Based on our booking data for 2026 (January 1 to October 6), the <strong>average booking in Canada was $1,288 CAD<\/strong>, across <strong>704 bookings cooked by 131 chefs<\/strong>. That is the total the client paid, which also covers the ingredients and Take a Chef&#8217;s fee, so it isn&#8217;t what the chef takes home. And it varies significantly depending on where you are.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u00cdndice<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6ac75aa66f868\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #182427;color:#182427\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #182427;color:#182427\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6ac75aa66f868\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#private_chef_booking_values_by_province_interactive_map\" >Private Chef Booking Values by Province: Interactive Map<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#select_a_province\" >Select a Province<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#what_influences_private_chef_earnings_in_canada\" >What Influences Private Chef Earnings in Canada?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#location_and_destination_type\" >Location and Destination Type<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#type_of_service_and_group_size\" >Type of Service and Group Size<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#chef_availability_by_province\" >Chef Availability by Province<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#seasonal_demand\" >Seasonal Demand<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#top-earning_markets_for_private_chefs_in_canada\" >Top-Earning Markets for Private Chefs in Canada<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#how_to_get_started_as_a_private_chef_in_canada\" >How to Get Started as a Private Chef in Canada<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#frequently_asked_questions\" >Frequently Asked Questions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#how_much_does_a_private_chef_cost_per_person_in_canada\" >How much does a private chef cost per person in Canada?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#which_canadian_province_has_the_most_private_chefs\" >Which Canadian province has the most private chefs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#can_i_hire_a_private_chef_for_a_vacation_rental_in_canada\" >Can I hire a private chef for a vacation rental in Canada?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\/#how_much_do_private_chefs_earn_per_year_in_canada\" >How much do private chefs earn per year in Canada?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"private_chef_booking_values_by_province_interactive_map\"><\/span>Private Chef Booking Values by Province: Interactive Map<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use the interactive map below to explore what clients paid per booking in each province. Click any highlighted province to see its average booking value, the number of bookings and a breakdown by area where there are enough bookings.<\/p>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Nunito:wght@400;500;600;700;800&family=Alata&display=swap');\n\n  #tac-chef-tool *,\n  #tac-chef-tool *::before,\n  #tac-chef-tool *::after {\n    margin: 0; padding: 0; box-sizing: border-box;\n  }\n\n  #tac-chef-tool {\n    --tac-dark: #182427;\n    --tac-text: #222222;\n    --tac-text-2: #575760;\n    --tac-text-3: #b2b2be;\n    --tac-white: #ffffff;\n    --tac-yellow: #F4C858;\n    --tac-yellow-soft: #fbe8a6;\n    --tac-yellow-pale: #fdf5dc;\n    --tac-green-pale: #dce9e1;\n    --tac-gray-light: #e6e8eb;\n    --tac-gray-no-data: #d2cfc8;\n    --tac-bg: #f7f8f9;\n    --tac-radius: 10px;\n\n    font-family: 'Nunito', sans-serif;\n    font-size: 16px;\n    line-height: 26px;\n    color: var(--tac-text);\n    max-width: 100%;\n    margin: 1.5rem 0;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #tac-chef-tool a { text-decoration: none; }\n\n  \/* === National Summary === *\/\n  .tac-national-bar-label {\n    text-align: center;\n    font-family: 'Nunito', sans-serif;\n    font-size: 13px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.12em;\n    color: var(--tac-text-2);\n    margin-bottom: 0.5rem;\n  }\n  .tac-national-bar {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 1px;\n    background: var(--tac-yellow);\n    border-radius: var(--tac-radius);\n    overflow: hidden;\n    margin-bottom: 2rem;\n  }\n  .tac-national-bar .tac-stat {\n    background: var(--tac-yellow);\n    padding: 1.25rem 1rem;\n    text-align: center;\n    color: var(--tac-dark);\n  }\n  .tac-stat-value {\n    font-family: 'Alata', sans-serif;\n    font-size: 2rem;\n    font-weight: 400;\n    color: var(--tac-dark);\n    line-height: 1.15;\n  }\n  .tac-stat-label {\n    font-family: 'Nunito', sans-serif;\n    font-size: 12px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: rgba(24,36,39,0.55);\n    margin-top: 0.3rem;\n    font-weight: 700;\n  }\n\n  \/* === Map Container === *\/\n  .tac-map-container {\n    background: var(--tac-white);\n    border: 1px solid var(--tac-gray-light);\n    border-radius: var(--tac-radius);\n    padding: 1rem 0.75rem 0.5rem;\n  }\n  .tac-map-container svg {\n    width: 100%;\n    height: auto;\n    display: block;\n  }\n\n  \/* Province styling *\/\n  .tac-state {\n    fill: var(--tac-gray-no-data);\n    stroke: #fff;\n    stroke-width: 1.2;\n    stroke-linejoin: round;\n    cursor: default;\n    transition: fill 0.25s ease;\n    outline: none !important;\n  }\n  .tac-state:focus,\n  .tac-state:focus-visible { outline: none !important; }\n  .tac-state.has-data {\n    fill: var(--tac-green-pale);\n    cursor: pointer;\n  }\n  .tac-state.has-data:hover {\n    fill: var(--tac-yellow-soft);\n  }\n  .tac-state.active {\n    fill: var(--tac-yellow) !important;\n  }\n\n  .tac-map-legend {\n    display: flex;\n    gap: 1.25rem;\n    justify-content: center;\n    padding: 0.75rem 0 0.15rem;\n    font-size: 13px;\n    color: var(--tac-text-2);\n  }\n  .tac-map-legend span { display: flex; align-items: center; gap: 0.4rem; }\n  .tac-legend-dot {\n    width: 12px; height: 12px;\n    border-radius: 3px;\n    border: 1px solid rgba(0,0,0,0.06);\n    flex-shrink: 0;\n  }\n\n  \/* === Map + Sidebar layout === *\/\n  .tac-map-sidebar-wrap {\n    display: grid;\n    grid-template-columns: 1fr 380px;\n    gap: 1.25rem;\n    align-items: start;\n  }\n  @media (max-width: 900px) {\n    .tac-map-sidebar-wrap {\n      grid-template-columns: 1fr;\n    }\n  }\n\n  \/* === Panel (sidebar) === *\/\n  .tac-panel {\n    background: var(--tac-white);\n    border: 1px solid var(--tac-gray-light);\n    border-radius: var(--tac-radius);\n    overflow: hidden;\n    position: sticky;\n    top: 1rem;\n  }\n  .tac-panel-header {\n    background: var(--tac-bg);\n    padding: 1.1rem 1.5rem;\n    border-bottom: 1px solid var(--tac-gray-light);\n  }\n  .tac-panel-header h3 {\n    font-family: 'Alata', sans-serif;\n    font-weight: 400;\n    font-size: 22px;\n    line-height: 30px;\n    color: var(--tac-dark);\n    margin: 0 0 0.1rem;\n  }\n  .tac-panel-header p {\n    font-size: 14px;\n    color: var(--tac-text-2);\n    margin: 0;\n  }\n\n  .tac-panel-prompt {\n    padding: 2.5rem 1.5rem;\n    text-align: center;\n    color: var(--tac-text-3);\n  }\n  .tac-panel-prompt .tac-prompt-icon {\n    width: 44px; height: 44px;\n    margin: 0 auto 0.6rem;\n    opacity: 0.3;\n    display: block;\n  }\n  .tac-panel-prompt p { font-size: 15px; line-height: 1.6; margin: 0; }\n\n  .tac-panel-body { padding: 1.25rem 1.5rem 0.75rem; }\n\n  \/* Vertical inner layout *\/\n  .tac-panel-inner {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  \/* Earnings card *\/\n  .tac-earnings-card {\n    background: var(--tac-yellow);\n    border-radius: var(--tac-radius);\n    padding: 1.25rem 1rem;\n    text-align: center;\n  }\n  .tac-earnings-card .tac-ec-value {\n    font-family: 'Alata', sans-serif;\n    font-weight: 400;\n    font-size: 2rem;\n    color: var(--tac-dark);\n    line-height: 1.15;\n  }\n  .tac-earnings-card .tac-ec-label {\n    font-family: 'Nunito', sans-serif;\n    font-size: 11px;\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    color: rgba(24,36,39,0.5);\n    margin-top: 0.3rem;\n    font-weight: 700;\n  }\n\n  \/* City cards *\/\n  .tac-cities-wrap { min-width: 0; }\n  .tac-cities-title {\n    font-family: 'Nunito', sans-serif;\n    font-size: 12px;\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    color: var(--tac-text-2);\n    font-weight: 700;\n    margin-bottom: 0.6rem;\n  }\n  .tac-cities-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\n    gap: 0.5rem;\n  }\n  .tac-city-card {\n    background: var(--tac-bg);\n    border-radius: 8px;\n    padding: 0.75rem 0.9rem;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 0.75rem;\n  }\n  .tac-city-name {\n    font-family: 'Nunito', sans-serif;\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--tac-dark);\n  }\n  .tac-city-meta {\n    font-size: 12px;\n    color: var(--tac-text-2);\n    margin-top: 0.1rem;\n  }\n  .tac-city-earnings {\n    font-family: 'Alata', sans-serif;\n    font-weight: 400;\n    color: var(--tac-dark);\n    font-size: 1.05rem;\n    white-space: nowrap;\n  }\n  .tac-city-earnings-suffix {\n    font-family: 'Nunito', sans-serif;\n    font-weight: 400;\n    font-size: 12px;\n    color: var(--tac-text-2);\n  }\n\n  .tac-no-cities {\n    font-size: 14px;\n    color: var(--tac-text-2);\n    font-style: italic;\n    padding: 0.5rem 0;\n  }\n\n  \/* CTA *\/\n  .tac-panel-cta {\n    display: block;\n    margin: 1rem 1.5rem 1.5rem;\n    padding: 14px 1.5rem;\n    background: var(--tac-yellow);\n    color: var(--tac-dark) !important;\n    text-align: center;\n    text-decoration: none !important;\n    border-radius: var(--tac-radius);\n    font-family: 'Alata', sans-serif;\n    font-weight: 400;\n    font-size: 16px;\n    transition: background 0.2s, transform 0.15s;\n    max-width: 420px;\n  }\n  .tac-panel-cta:hover {\n    background: #E4C062;\n    transform: translateY(-1px);\n  }\n\n  \/* === Mobile Dropdown === *\/\n  .tac-mobile-select {\n    display: none;\n    width: 100%;\n    padding: 0.75rem 2.5rem 0.75rem 1rem;\n    font-family: 'Nunito', sans-serif;\n    font-size: 15px;\n    border: 1px solid var(--tac-gray-light);\n    border-radius: var(--tac-radius);\n    background: var(--tac-white);\n    margin-bottom: 0.75rem;\n    color: var(--tac-dark);\n    -webkit-appearance: none;\n    appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23575760' fill='none' stroke-width='1.5'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 1rem center;\n  }\n\n  \/* === SEO Table === *\/\n  .tac-seo-table-wrap {\n    margin-top: 3rem;\n  }\n  .tac-seo-table-wrap summary {\n    font-family: 'Nunito', sans-serif;\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--tac-dark);\n    cursor: pointer;\n    padding: 0.8rem 1.25rem;\n    background: var(--tac-bg);\n    border-radius: var(--tac-radius);\n    border: 1px solid var(--tac-gray-light);\n    list-style: none;\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    transition: background 0.2s;\n  }\n  .tac-seo-table-wrap summary:hover { background: #edeae3; }\n  .tac-seo-table-wrap summary::-webkit-details-marker { display: none; }\n  .tac-seo-table-wrap summary::before {\n    content: '\u25b8';\n    font-size: 0.8rem;\n    transition: transform 0.25s;\n  }\n  .tac-seo-table-wrap[open] summary::before { transform: rotate(90deg); }\n  .tac-seo-table-wrap[open] summary {\n    border-radius: var(--tac-radius) var(--tac-radius) 0 0;\n    border-bottom: none;\n  }\n  .tac-seo-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 15px;\n    border: 1px solid var(--tac-gray-light);\n    border-top: none;\n    border-radius: 0 0 var(--tac-radius) var(--tac-radius);\n    overflow: hidden;\n  }\n  .tac-seo-table th {\n    background: var(--tac-yellow);\n    color: var(--tac-dark);\n    padding: 10px 14px;\n    text-align: left;\n    font-weight: 700;\n    font-size: 13px;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n  }\n  .tac-seo-table th:last-child { text-align: right; }\n  .tac-seo-table td {\n    padding: 8px 14px;\n    border-bottom: 1px solid var(--tac-gray-light);\n    font-family: 'Nunito', sans-serif;\n  }\n  .tac-seo-table td:last-child {\n    text-align: right;\n    font-family: 'Alata', sans-serif;\n    color: var(--tac-dark);\n  }\n  .tac-seo-table tr:nth-child(odd) td { background: #fafaf9; }\n  .tac-seo-table tr:hover td { background: var(--tac-yellow-pale); }\n  .tac-seo-table .state-row td { font-weight: 700; }\n  .tac-seo-table .city-row td {\n    padding-left: 2rem;\n    font-weight: 400;\n    color: var(--tac-text-2);\n  }\n  .tac-seo-table .city-row td:first-child::before { content: '\u21b3 '; opacity: 0.4; }\n  .tac-seo-table th.tac-num, .tac-seo-table td.tac-num { text-align: right; }\n\n  \/* === Responsive === *\/\n  @media (max-width: 860px) {\n    .tac-mobile-select { display: block; }\n    .tac-national-bar { grid-template-columns: 1fr; }\n    .tac-stat-value { font-size: 1.5rem; }\n    .tac-panel-inner { grid-template-columns: 1fr; }\n    .tac-cities-grid { grid-template-columns: 1fr; }\n    .tac-panel-cta { max-width: 100%; }\n  }\n<\/style>\n\n<div id=\"tac-chef-tool\">\n  <div class=\"tac-national-bar-label\">Canada \u2014 National Overview<\/div>\n  <div class=\"tac-national-bar\">\n    <div class=\"tac-stat\">\n      <div class=\"tac-stat-value\">$1,288<\/div>\n      <div class=\"tac-stat-label\">Avg. Booking Value (CAD)<\/div>\n    <\/div>\n    <div class=\"tac-stat\">\n      <div class=\"tac-stat-value\">704<\/div>\n      <div class=\"tac-stat-label\">Bookings<\/div>\n    <\/div>\n    <div class=\"tac-stat\">\n      <div class=\"tac-stat-value\">131<\/div>\n      <div class=\"tac-stat-label\">Chefs Who Cooked Them<\/div>\n    <\/div>\n  <\/div>\n\n  <select class=\"tac-mobile-select\" id=\"tac-state-select\" aria-label=\"Select a province\">\n    <option value=\"\">Select a province to explore\u2026<\/option>\n  <\/select>\n\n  <p style=\"font-size:13px; color:var(--tac-text-2); font-style:italic; margin-bottom:0.75rem;\">* Bookings from January 1 to October 6, 2026: the average of what clients paid per booking, in CAD. Provinces with fewer than 5 bookings appear in gray.<\/p>\n  <div class=\"tac-map-sidebar-wrap\">\n  <div class=\"tac-map-container\">\n    <svg viewBox=\"290 175 400 290\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"tac-ca-map\" role=\"img\" aria-label=\"Interactive map of Canada showing the average private chef booking value by province\">\n        <!-- Territories (no data, background) -->\n        <path id=\"YT\" class=\"tac-state\" d=\"M317.4,260.1L326.6,248.4L335.9,236.7L345.1,225.1L354.3,213.5L361.6,204.2L363.6,205.8L365.7,207.4L367.3,214.0L366.4,222.3L365.9,230.8L365.7,239.4L365.8,248.0L366.2,256.8L367.0,265.6L368.1,274.5L369.6,283.5L369.8,291.7L363.2,288.7L356.8,285.5L350.4,282.1L344.1,278.5L338.0,274.7L332.0,270.7L323.1,264.5Z\"\/>\n        <path id=\"NT\" class=\"tac-state\" d=\"M369.8,291.7L369.6,283.5L368.1,274.5L367.0,265.6L366.2,256.8L365.8,248.0L365.7,239.4L365.9,230.8L366.4,222.3L367.3,214.0L365.7,207.4L371.1,213.0L376.9,213.3L382.0,214.7L385.6,218.5L389.1,222.9L392.1,228.5L397.5,242.9L404.3,257.3L412.6,271.5L416.9,280.3L421.7,289.0L419.4,300.0L417.8,307.2L410.8,305.6L403.8,303.8L396.8,301.8L390.0,299.6L383.2,297.2L376.4,294.5Z\"\/>\n        <path id=\"NU\" class=\"tac-state\" d=\"M472.3,312.4L468.0,312.5L460.8,312.4L453.6,312.1L446.4,311.5L439.2,310.8L432.0,309.8L424.9,308.6L417.8,307.2L419.4,300.0L421.7,289.0L416.9,280.3L412.6,271.5L404.3,257.3L397.5,242.9L409.1,243.3L420.5,243.0L431.6,241.9L442.5,240.1L452.3,245.0L462.7,249.3L468.0,260.5L473.9,267.8L480.2,274.9L487.0,281.9L493.7,284.9L500.7,287.7L505.1,294.6L507.4,297.9L509.8,301.3L512.2,304.6L516.4,307.6L525.2,305.6L531.2,300.2L537.0,294.7L542.4,289.0L539.2,301.8L534.2,311.0L528.7,320.1L522.0,325.4L515.1,330.6L507.3,331.9L499.9,336.6L492.3,341.1L484.0,338.0L475.7,327.2L473.6,319.9L472.3,312.4Z\"\/>\n        <!-- Provinces -->\n        <path id=\"BC\" class=\"tac-state\" d=\"M323.1,264.5L323.9,269.6L323.2,273.7L322.6,277.8L322.0,282.0L321.5,286.1L321.1,290.3L320.7,294.5L322.1,299.8L321.8,304.0L321.6,308.3L321.5,312.5L322.5,314.9L323.3,317.8L323.3,322.1L324.1,325.1L325.2,327.5L323.5,330.7L323.6,335.0L323.9,339.3L324.9,342.3L326.2,344.7L327.6,347.1L328.7,350.1L330.1,352.4L331.3,355.4L331.9,359.7L333.1,362.7L334.7,365.1L336.3,367.4L337.6,370.4L339.0,371.0L340.2,370.7L340.0,367.4L341.3,368.0L345.8,369.8L350.2,371.6L354.7,373.3L356.0,369.9L357.3,366.5L358.6,363.0L359.9,359.6L361.2,356.2L362.4,352.7L363.7,349.3L365.0,345.8L366.3,342.3L367.6,338.9L368.9,335.4L370.2,332.0L371.5,328.5L372.8,325.0L374.1,321.5L375.4,318.1L376.7,314.6L378.0,311.1L379.3,307.6L380.6,304.1L381.9,300.7L383.2,297.2L376.4,294.5L369.8,291.7L363.2,288.7L356.8,285.5L350.4,282.1L344.1,278.5L338.0,274.7L332.0,270.7L326.0,266.6Z\"\/>\n        <path id=\"AB\" class=\"tac-state\" d=\"M354.7,373.3L357.3,366.5L359.9,359.6L362.4,352.7L365.0,345.8L367.6,338.9L370.2,332.0L372.8,325.0L375.4,318.1L378.0,311.1L380.6,304.1L383.2,297.2L390.0,299.6L396.8,301.8L403.8,303.8L410.8,305.6L417.8,307.2L416.3,314.5L414.7,321.8L413.2,329.1L411.7,336.3L410.1,343.6L408.6,350.8L407.1,358.0L405.6,365.2L404.0,372.4L402.5,379.6L401.0,386.8L391.6,384.6L382.3,382.2L373.0,379.5L363.8,376.6Z\"\/>\n        <path id=\"SK\" class=\"tac-state\" d=\"M401.0,386.8L402.5,379.6L404.0,372.4L405.6,365.2L407.1,358.0L408.6,350.8L410.1,343.6L411.7,336.3L413.2,329.1L414.7,321.8L416.3,314.5L417.8,307.2L424.9,308.6L432.0,309.8L439.2,310.8L446.4,311.5L445.7,318.9L445.0,326.3L444.4,333.7L443.7,341.1L443.1,348.5L442.4,355.9L441.7,363.2L441.1,370.6L440.4,377.9L439.8,385.2L439.1,392.5L429.5,391.5L420.0,390.2L410.5,388.6Z\"\/>\n        <path id=\"MB\" class=\"tac-state\" d=\"M439.1,392.5L439.8,385.2L440.4,377.9L441.1,370.6L441.7,363.2L442.4,355.9L443.1,348.5L443.7,341.1L444.4,333.7L445.0,326.3L445.7,318.9L446.4,311.5L453.6,312.1L460.8,312.4L468.0,312.5L472.3,312.4L473.5,316.1L474.7,319.8L476.3,323.5L477.6,327.2L479.7,330.8L481.8,334.4L484.0,338.0L486.2,341.6L488.5,345.1L492.9,348.5L495.4,352.0L497.9,355.5L500.4,358.9L503.0,362.3L501.2,366.2L499.4,370.1L498.9,373.9L498.8,377.6L499.2,381.2L499.5,384.9L499.9,388.5L500.2,392.2L492.1,392.9L482.5,393.5L472.8,393.7L463.2,393.7L453.5,393.5L448.7,393.2Z\"\/>\n        <path id=\"ON\" class=\"tac-state\" d=\"M500.2,392.2L499.5,384.9L499.2,381.2L499.2,377.5L499.8,373.8L501.6,369.9L503.4,366.0L503.0,362.3L500.4,358.9L497.9,355.5L495.4,352.0L492.9,348.5L488.5,345.1L494.3,340.9L499.9,336.6L503.6,333.9L507.4,332.6L511.4,332.7L515.7,334.2L521.1,340.8L523.8,344.0L526.6,347.2L529.5,350.3L532.4,353.5L535.3,356.6L536.2,360.2L537.0,363.8L537.9,367.3L538.7,370.9L541.8,374.0L543.6,377.3L545.9,380.5L546.7,384.1L547.6,387.6L548.5,391.1L549.4,394.7L551.3,398.0L553.6,401.1L556.5,401.9L559.1,401.9L562.0,402.6L564.9,403.3L567.6,403.3L570.5,403.9L573.4,404.5L576.5,405.8L579.5,406.3L582.7,407.5L573.7,414.2L571.5,416.4L569.1,417.9L566.7,419.3L564.3,420.7L561.9,422.1L559.4,423.5L557.0,424.9L557.3,426.3L556.1,428.1L555.2,429.0L552.8,431.1L550.5,433.1L547.8,433.7L545.0,434.3L542.3,434.8L539.8,436.1L536.6,434.5L536.0,430.9L538.0,426.9L539.9,422.8L541.8,418.8L541.0,415.2L541.6,412.9L542.8,411.1L542.0,407.6L539.1,406.0L536.3,405.1L533.6,404.9L531.0,404.7L528.4,404.4L525.7,403.4L522.9,402.4L520.3,402.1L517.7,401.0L515.0,399.9L512.2,398.1L509.6,397.0L506.9,395.1L504.3,393.9L501.8,393.5L500.2,392.2Z\"\/>\n        <path id=\"QC\" class=\"tac-state\" d=\"M548.5,391.1L547.6,387.6L546.7,384.1L544.5,380.9L542.7,377.5L541.8,374.0L538.7,370.9L537.9,367.3L537.0,363.8L536.2,360.2L535.3,356.6L538.7,352.0L539.9,347.9L539.0,344.3L538.0,340.7L539.1,336.6L540.1,332.5L541.0,328.4L541.9,324.3L542.7,320.1L543.5,316.0L544.2,311.9L544.9,307.8L545.5,303.7L546.0,299.6L547.0,296.9L548.2,294.9L550.7,291.6L553.5,288.9L556.7,287.7L557.8,285.6L561.4,289.7L564.5,292.4L567.7,295.1L570.9,297.8L574.2,300.4L577.5,302.9L580.8,305.5L584.2,308.0L587.6,310.4L591.0,312.8L594.6,315.2L598.1,317.5L601.7,319.8L605.3,322.0L609.0,324.2L612.7,326.4L616.4,328.5L620.2,330.6L624.0,332.6L627.9,334.6L631.8,332.2L634.9,328.5L636.4,326.6L635.7,334.1L629.6,342.1L627.4,347.6L624.3,351.9L620.8,355.5L618.2,361.0L616.7,363.4L614.8,365.1L612.6,366.2L609.4,365.3L606.6,365.0L605.0,367.4L603.4,369.7L600.6,369.4L597.5,368.4L596.1,371.3L595.8,377.0L594.9,381.3L593.9,385.6L592.4,388.6L593.7,392.0L594.1,395.7L593.1,397.6L592.4,400.2L589.0,401.5L586.5,402.4L584.0,403.3L581.5,404.1L579.0,404.9L576.5,405.8L573.4,404.5L570.5,403.9L567.6,403.3L564.9,403.3L562.0,402.6L559.1,401.9L556.5,401.9L553.6,401.1L551.3,398.0L549.4,394.7Z\"\/>\n        <path id=\"NB\" class=\"tac-state\" d=\"M599.0,378.0L601.3,377.1L603.5,376.1L606.4,376.4L609.6,377.3L611.1,380.6L612.6,383.9L615.6,384.1L618.9,385.0L622.2,385.8L625.2,386.0L625.9,381.5L625.6,377.6L625.5,375.2L624.2,372.6L620.9,371.8L620.0,369.9L618.6,367.3L615.5,366.4L613.2,367.5L611.0,368.6L608.8,369.7L606.6,370.7L604.3,371.7L602.7,374.1L601.3,377.1Z\"\/>\n        <path id=\"NS\" class=\"tac-state\" d=\"M622.1,395.5L625.1,395.6L627.9,395.1L630.9,395.2L633.4,393.9L635.8,392.7L637.8,390.8L639.5,388.3L641.2,385.7L642.8,383.2L644.1,380.0L644.4,377.3L643.9,374.3L642.8,372.4L640.8,371.0L638.7,370.5L637.1,369.8L634.5,370.4L632.3,371.6L630.4,373.5L628.8,376.0L626.5,377.1L624.2,378.3L622.6,380.8L622.1,383.4L622.2,385.8L622.0,389.1L622.0,391.5L622.0,393.9Z\"\/>\n        <path id=\"PE\" class=\"tac-state\" d=\"M625.1,377.8L626.8,375.4L628.4,372.9L630.3,371.1L632.1,369.2L633.8,369.1L634.5,370.4L633.9,372.4L632.0,374.3L629.7,375.5L627.4,376.7Z\"\/>\n        <path id=\"NL\" class=\"tac-state\" d=\"M641.6,355.4L644.2,352.0L645.5,347.7L647.6,343.8L649.3,340.1L649.6,336.3L650.3,333.1L650.3,330.5L648.6,328.1L646.2,327.1L644.2,325.8L641.4,325.9L638.7,326.0L636.4,326.6L635.7,329.7L635.7,334.1L635.7,338.4L636.4,342.3L637.5,345.9L638.6,349.5L640.1,352.9Z\"\/>\n        <path id=\"NL_LAB\" class=\"tac-state\" d=\"M636.4,326.6L638.7,326.0L641.4,325.9L644.2,325.8L639.4,322.9L635.4,321.1L631.5,319.2L627.7,317.3L623.9,315.4L620.1,313.4L616.3,311.4L612.6,309.3L608.9,307.2L606.0,306.3L603.5,306.1L600.7,305.1L598.2,304.8L596.4,305.8L594.7,306.7L594.0,309.6L593.5,313.2L592.7,316.1L596.2,318.5L599.8,320.8L603.4,323.1L607.1,325.3L610.8,327.5L614.5,329.6L618.2,331.7L622.0,333.8L625.1,334.5L627.9,334.6L631.8,332.2L634.9,328.5Z\"\/>\n\n        <!-- Province abbreviation labels -->\n        <text x=\"340\" y=\"328\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">BC<\/text>\n        <text x=\"392\" y=\"345\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">AB<\/text>\n        <text x=\"428\" y=\"355\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">SK<\/text>\n        <text x=\"466\" y=\"360\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">MB<\/text>\n        <text x=\"525\" y=\"400\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">ON<\/text>\n        <text x=\"570\" y=\"365\" font-family=\"Nunito, sans-serif\" font-size=\"9\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">QC<\/text>\n        <text x=\"612\" y=\"380\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">NB<\/text>\n        <text x=\"635\" y=\"386\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">NS<\/text>\n        <text x=\"632\" y=\"370\" font-family=\"Nunito, sans-serif\" font-size=\"5.5\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">PE<\/text>\n        <text x=\"643\" y=\"342\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#575760\" font-weight=\"700\" text-anchor=\"middle\">NL<\/text>\n        <text x=\"350\" y=\"245\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#999\" font-weight=\"600\" text-anchor=\"middle\">YT<\/text>\n        <text x=\"395\" y=\"260\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#999\" font-weight=\"600\" text-anchor=\"middle\">NT<\/text>\n        <text x=\"470\" y=\"300\" font-family=\"Nunito, sans-serif\" font-size=\"7\" fill=\"#999\" font-weight=\"600\" text-anchor=\"middle\">NU<\/text>\n    <\/svg>\n    <div class=\"tac-map-legend\">\n      <span><span class=\"tac-legend-dot\" style=\"background:var(--tac-green-pale)\"><\/span> Data available<\/span>\n      <span><span class=\"tac-legend-dot\" style=\"background:var(--tac-yellow)\"><\/span> Selected<\/span>\n      <span><span class=\"tac-legend-dot\" style=\"background:var(--tac-gray-no-data)\"><\/span> Fewer than 5 bookings<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"tac-panel\" id=\"tac-panel\">\n    <div class=\"tac-panel-header\">\n      <h3 id=\"tac-panel-title\"><span class=\"ez-toc-section\" id=\"select_a_province\"><\/span>Select a Province<span class=\"ez-toc-section-end\"><\/span><\/h3>\n      <p id=\"tac-panel-subtitle\">Click on any highlighted province to explore private chef data<\/p>\n    <\/div>\n    <div id=\"tac-panel-content\">\n      <div class=\"tac-panel-prompt\">\n        <svg class=\"tac-prompt-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\/><path d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z\"\/><\/svg>\n        <p>Click a province on the map to see what clients paid per booking there.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n  <\/div><!-- \/.tac-map-sidebar-wrap -->\n\n  <details class=\"tac-seo-table-wrap\" id=\"tac-seo-details\">\n    <summary>View the average booking value for every province and area<\/summary>\n    <table class=\"tac-seo-table\">\n      <thead>\n        <tr>\n          <th>Province \/ Area<\/th>\n          <th class=\"tac-num\">Bookings<\/th>\n          <th>Avg. Booking Value (CAD)<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n              <tr class=\"state-row\"><td>British Columbia<\/td><td class=\"tac-num\">134<\/td><td>$1,469<\/td><\/tr>\n              <tr class=\"city-row\"><td>Whistler<\/td><td class=\"tac-num\">26<\/td><td>$1,896<\/td><\/tr>\n              <tr class=\"city-row\"><td>Okanagan &amp; Squamish<\/td><td class=\"tac-num\">22<\/td><td>$1,392<\/td><\/tr>\n              <tr class=\"city-row\"><td>Vancouver &amp; coast<\/td><td class=\"tac-num\">86<\/td><td>$1,359<\/td><\/tr>\n              <tr class=\"state-row\"><td>Quebec<\/td><td class=\"tac-num\">115<\/td><td>$1,308<\/td><\/tr>\n              <tr class=\"city-row\"><td>Mont Tremblant<\/td><td class=\"tac-num\">19<\/td><td>$1,588<\/td><\/tr>\n              <tr class=\"city-row\"><td>Rest of Quebec<\/td><td class=\"tac-num\">20<\/td><td>$1,581<\/td><\/tr>\n              <tr class=\"city-row\"><td>Montreal area<\/td><td class=\"tac-num\">76<\/td><td>$1,167<\/td><\/tr>\n              <tr class=\"state-row\"><td>Ontario<\/td><td class=\"tac-num\">337<\/td><td>$1,274<\/td><\/tr>\n              <tr class=\"city-row\"><td>Muskoka<\/td><td class=\"tac-num\">31<\/td><td>$1,919<\/td><\/tr>\n              <tr class=\"city-row\"><td>Rest of Ontario<\/td><td class=\"tac-num\">98<\/td><td>$1,475<\/td><\/tr>\n              <tr class=\"city-row\"><td>Toronto Area<\/td><td class=\"tac-num\">208<\/td><td>$1,083<\/td><\/tr>\n              <tr class=\"state-row\"><td>Alberta<\/td><td class=\"tac-num\">102<\/td><td>$1,131<\/td><\/tr>\n              <tr class=\"city-row\"><td>Calgary &amp; Canmore<\/td><td class=\"tac-num\">81<\/td><td>$1,190<\/td><\/tr>\n              <tr class=\"city-row\"><td>Edmonton area<\/td><td class=\"tac-num\">21<\/td><td>$902<\/td><\/tr>\n              <tr class=\"state-row\"><td>Prince Edward Island<\/td><td class=\"tac-num\">5<\/td><td>$1,082<\/td><\/tr>\n              <tr class=\"state-row\"><td>Nova Scotia<\/td><td class=\"tac-num\">6<\/td><td>$999<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/details>\n<\/div>\n\n<script>\n(function() {\n  'use strict';\n\n  var DATA = {\"British Columbia\":{\"chefs\":34,\"bookings\":134,\"avg_ticket\":1468.84,\"cities\":[{\"name\":\"Whistler\",\"chefs\":6,\"bookings\":26,\"avg_ticket\":1895.96},{\"name\":\"Okanagan & Squamish\",\"chefs\":8,\"bookings\":22,\"avg_ticket\":1392.27},{\"name\":\"Vancouver & coast\",\"chefs\":24,\"bookings\":86,\"avg_ticket\":1359.3}]},\"Quebec\":{\"chefs\":23,\"bookings\":115,\"avg_ticket\":1308.32,\"cities\":[{\"name\":\"Mont Tremblant\",\"chefs\":5,\"bookings\":19,\"avg_ticket\":1588.21},{\"name\":\"Rest of Quebec\",\"chefs\":7,\"bookings\":20,\"avg_ticket\":1580.88},{\"name\":\"Montreal area\",\"chefs\":19,\"bookings\":76,\"avg_ticket\":1166.62}]},\"Ontario\":{\"chefs\":47,\"bookings\":337,\"avg_ticket\":1273.97,\"cities\":[{\"name\":\"Muskoka\",\"chefs\":8,\"bookings\":31,\"avg_ticket\":1919.0},{\"name\":\"Rest of Ontario\",\"chefs\":29,\"bookings\":98,\"avg_ticket\":1474.58},{\"name\":\"Toronto Area\",\"chefs\":33,\"bookings\":208,\"avg_ticket\":1083.32}]},\"Alberta\":{\"chefs\":18,\"bookings\":102,\"avg_ticket\":1131.02,\"cities\":[{\"name\":\"Calgary & Canmore\",\"chefs\":13,\"bookings\":81,\"avg_ticket\":1190.48},{\"name\":\"Edmonton area\",\"chefs\":5,\"bookings\":21,\"avg_ticket\":901.67}]},\"Prince Edward Island\":{\"chefs\":1,\"bookings\":5,\"avg_ticket\":1082.0,\"cities\":[]},\"Nova Scotia\":{\"chefs\":3,\"bookings\":6,\"avg_ticket\":999.0,\"cities\":[]}};\n\n  var PROV_MAP = {\n    'BC':'British Columbia','AB':'Alberta','SK':'Saskatchewan','MB':'Manitoba',\n    'ON':'Ontario','QC':'Quebec','NB':'New Brunswick','NS':'Nova Scotia',\n    'PE':'Prince Edward Island','NL':'Newfoundland and Labrador',\n    'NL_LAB':'Newfoundland and Labrador'\n  };\n  var NAME_TO_ID = {};\n  for (var id in PROV_MAP) { NAME_TO_ID[PROV_MAP[id]] = id; }\n  NAME_TO_ID['Newfoundland and Labrador'] = 'NL';\n\n  document.querySelectorAll('.tac-state').forEach(function(el) {\n    var name = PROV_MAP[el.id];\n    if (name && DATA[name]) {\n      el.classList.add('has-data');\n      el.setAttribute('tabindex', '0');\n      el.setAttribute('role', 'button');\n      el.setAttribute('aria-label', name + ': ' + fmtMoney(DATA[name].avg_ticket) + ' average booking');\n    }\n  });\n\n  var select = document.getElementById('tac-state-select');\n  var provNames = Object.keys(DATA).sort();\n  provNames.forEach(function(name) {\n    var opt = document.createElement('option');\n    opt.value = name;\n    opt.textContent = name + ' \u2014 ' + fmtMoney(DATA[name].avg_ticket);\n    select.appendChild(opt);\n  });\n\n  function fmtMoney(n) {\n    return '$' + Math.round(n).toLocaleString('en-US');\n  }\n\n  function showProvince(name) {\n    var d = DATA[name];\n    if (!d) return;\n\n    document.querySelectorAll('.tac-state.active').forEach(function(el) { el.classList.remove('active'); });\n    var provId = NAME_TO_ID[name];\n    if (provId) {\n      var el = document.getElementById(provId);\n      if (el) { el.classList.add('active'); el.blur(); }\n      \/\/ Also highlight Labrador if NL is selected\n      if (provId === 'NL') {\n        var lab = document.getElementById('NL_LAB');\n        if (lab) lab.classList.add('active');\n      }\n    }\n\n    document.getElementById('tac-panel-title').textContent = name;\n    document.getElementById('tac-panel-subtitle').textContent = 'Private chef market data';\n\n    var html = '<div class=\"tac-panel-body\"><div class=\"tac-panel-inner\">';\n    html += '<div class=\"tac-earnings-side\"><div class=\"tac-earnings-card\">';\n    html += '<div class=\"tac-ec-value\">' + fmtMoney(d.avg_ticket) + '<\/div>';\n    html += '<div class=\"tac-ec-label\">Avg. Booking Value (CAD)<\/div>';\n    html += '<div class=\"tac-ec-label\">' + d.bookings + ' bookings \u00b7 ' + d.chefs + ' chefs<\/div>';\n    html += '<\/div><\/div>';\n\n    html += '<div class=\"tac-cities-wrap\">';\n    if (d.cities.length > 0) {\n      html += '<div class=\"tac-cities-title\">Cities & Regions<\/div>';\n      html += '<div class=\"tac-cities-grid\">';\n      var sorted = d.cities.slice().sort(function(a, b) { return b.avg_ticket - a.avg_ticket; });\n      sorted.forEach(function(c) {\n        html += '<div class=\"tac-city-card\">';\n        html += '<div><div class=\"tac-city-name\">' + c.name + '<\/div><div class=\"tac-city-meta\">' + c.bookings + ' bookings<\/div><\/div>';\n        html += '<div class=\"tac-city-earnings\">' + fmtMoney(c.avg_ticket) + '<\/div>';\n        html += '<\/div>';\n      });\n      html += '<\/div>';\n    } else {\n      html += '<div class=\"tac-no-cities\">Too few bookings to break this province down by area.<\/div>';\n    }\n    html += '<\/div><\/div><\/div>';\n\n    document.getElementById('tac-panel-content').innerHTML = html;\n    select.value = name;\n  }\n\n  document.getElementById('tac-ca-map').addEventListener('click', function(e) {\n    var target = e.target.closest('.tac-state.has-data');\n    if (!target) return;\n    target.blur();\n    var name = PROV_MAP[target.id];\n    if (name) showProvince(name);\n  });\n\n  document.getElementById('tac-ca-map').addEventListener('keydown', function(e) {\n    if (e.key === 'Enter' || e.key === ' ') {\n      var target = e.target.closest('.tac-state.has-data');\n      if (target) {\n        e.preventDefault();\n        var name = PROV_MAP[target.id];\n        if (name) showProvince(name);\n      }\n    }\n  });\n\n  select.addEventListener('change', function() {\n    if (this.value) showProvince(this.value);\n  });\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"what_influences_private_chef_earnings_in_canada\"><\/span>What Influences Private Chef Earnings in Canada?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The value of a booking \u2014 what the client pays, and so what the chef&#8217;s income comes out of \u2014 varies with several key factors. Understanding these can help both clients set expectations and chefs price their services competitively across Canada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"location_and_destination_type\"><\/span>Location and Destination Type<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Where the dinner happens is the biggest dividing line. In 2026, bookings in <strong>Muskoka<\/strong> averaged $1,919 and those in <strong>Whistler, British Columbia<\/strong> $1,896, against $1,167 in the <strong>Montreal<\/strong> area and $1,083 in the Toronto area. The gap comes from group size more than from rates: the median price per guest was $187 in Whistler and $200 in Muskoka, no higher than the national $200, but most bookings there were for seven to twelve guests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"type_of_service_and_group_size\"><\/span>Type of Service and Group Size<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Private chef experiences range from intimate dinners for two to large-group celebrations, and the price per guest drops as the group grows. In 2026, the median was $250 per guest for one or two guests, $200 for groups of 3 to 6, $180 for 7 to 12 and $176 for 13 or more. Across Canada, the average booking was $1,288, and half of all bookings fell between $630 and $1,665.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"chef_availability_by_province\"><\/span>Chef Availability by Province<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ontario had the most chefs with bookings in 2026 (47)<\/strong>, followed by British Columbia (34), Quebec (23) and Alberta (18). Outside those four provinces, bookings are still few: 6 in Nova Scotia, 5 in Prince Edward Island and two or fewer in Manitoba, Newfoundland and Labrador and New Brunswick.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"seasonal_demand\"><\/span>Seasonal Demand<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Private chef demand in Canada follows the seasons, but not the same way everywhere. Bookings in Ontario outside the Toronto area, mostly at cottages, peak in summer: August was the busiest month in both 2025 and 2026. Most Mont Tremblant bookings fall between January and March, while Whistler books all year round. Toronto stays busy all year too, with its busiest months in February (around Valentine&#8217;s Day), August and December, and Vancouver peaks in August and December.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"top-earning_markets_for_private_chefs_in_canada\"><\/span>Top-Earning Markets for Private Chefs in Canada<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Based on our 2026 booking data, these are the markets where private chef bookings are worth the most in Canada. If you&#8217;re a chef looking to maximize your income, these are the regions where bookings are biggest:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Highest average booking by province:<\/strong> British Columbia leads at $1,469 per booking, with Whistler ($1,896) at the top. Quebec follows at $1,308, boosted by Mont Tremblant and the areas outside Montreal. Ontario rounds out the top three at $1,274, where bookings outside the city, led by Muskoka ($1,919), lift the Toronto area&#8217;s $1,083.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Highest average booking by area:<\/strong> Among named areas, Muskoka leads with $1,919 per booking, followed by Whistler ($1,896), Mont Tremblant ($1,588), the Okanagan and Squamish ($1,392) and the Vancouver area ($1,359). The big cities have smaller bookings but many more of them: the Toronto area alone had 208 bookings, at an average of $1,083, while Calgary and Canmore averaged $1,190 and the Montreal area $1,167.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"how_to_get_started_as_a_private_chef_in_canada\"><\/span>How to Get Started as a Private Chef in Canada<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re a professional chef interested in the private dining market, platforms like Take a Chef make it easy to connect with clients in your area. Here&#8217;s what you should know: New to this path? Follow the <a href=\"https:\/\/www.takeachef.com\/blog\/en\/how-to-become-a-private-chef\">Steps to chef career<\/a> in our dedicated guide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Set competitive rates:<\/strong> Use the interactive map above to see what clients in your province paid per booking. Price yourself competitively while accounting for ingredient costs, travel time, and your level of expertise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Build your profile:<\/strong> Clients choose chefs based on their menu offerings, reviews, and culinary style. A strong profile with professional photos and diverse menu options will help you stand out, especially in competitive markets like Toronto and Montreal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Consider mobility:<\/strong> Demand moves with the seasons: cottages in summer, ski chalets in winter. If you&#8217;re based near Muskoka, Whistler or Mont Tremblant, or in Toronto or Vancouver, serving the nearby resort areas lets you follow those peaks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"frequently_asked_questions\"><\/span>Frequently Asked Questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"how_much_does_a_private_chef_cost_per_person_in_canada\"><\/span>How much does a private chef cost per person in Canada?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026, the median price on Take a Chef in Canada was $200 CAD per guest, including menu planning, shopping, cooking, and cleanup. It depends on group size: $250 per guest for one or two guests, $200 for 3 to 6, $180 for 7 to 12 and $176 for 13 or more. Resort towns aren&#8217;t pricier per guest: the median was $187 in Whistler and $175 in Mont Tremblant. Their bookings are bigger because the groups are.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"which_canadian_province_has_the_most_private_chefs\"><\/span>Which Canadian province has the most private chefs?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ontario had the most chefs with Take a Chef bookings in 2026 (47), followed by British Columbia (34), Quebec (23) and Alberta (18). These provinces combine large populations, tourism demand, and strong culinary cultures that drive both supply and demand for private chef services.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"can_i_hire_a_private_chef_for_a_vacation_rental_in_canada\"><\/span>Can I hire a private chef for a vacation rental in Canada?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Absolutely \u2014 vacation rentals are one of the most popular settings for private chef experiences in Canada. Ski chalets in Whistler and Mont Tremblant, lakeside cottages in Ontario&#8217;s Muskoka region, and urban condos in Toronto and Vancouver all see strong demand from guests looking for a special dining experience.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"how_much_do_private_chefs_earn_per_year_in_canada\"><\/span>How much do private chefs earn per year in Canada?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is no set salary: on Take a Chef, chefs set their own menus and prices and choose which requests to accept, so what they earn in a year depends on how often they cook. In 2026, the average booking in Canada was $1,288 CAD. That is the total the client paid, which also covers the ingredients and Take a Chef&#8217;s fee, so the chef&#8217;s income from each booking is what remains after ingredients, travel, and fees. Curious how this compares across the border? See our breakdown of <a href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-the-united-states\">Private chef salaries<\/a> in the United States.<\/p>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Key Takeaways TL;DR: What private chefs make in Canada starts with what their bookings are worth, and that depends above all on where the booking is and how many guests it feeds. In 2026 the average booking was $1,288 CAD, and close to $1,900 in Muskoka and Whistler, where groups are bigger. Location: Cottage country &#8230; <a title=\"How Much Does a Private Chef Make in Canada?\" class=\"read-more\" href=\"https:\/\/www.takeachef.com\/blog\/en\/how-much-does-a-private-chef-make-in-canada\" aria-label=\"Read more about How Much Does a Private Chef Make in Canada?\">Read more<\/a><\/p>\n","protected":false},"author":14,"featured_media":20186,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How Much Do Private Chefs Make in Canada? By Province","rank_math_description":"The average Take a Chef booking in Canada was $1,288 CAD in 2026. See booking values by province and area, prices per guest, and what drives them up.","rank_math_focus_keyword":"how much does a private chef make in canada","footnotes":""},"categories":[276],"tags":[],"class_list":["post-20154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-our-services"],"_links":{"self":[{"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/posts\/20154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/comments?post=20154"}],"version-history":[{"count":4,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/posts\/20154\/revisions"}],"predecessor-version":[{"id":26438,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/posts\/20154\/revisions\/26438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/media\/20186"}],"wp:attachment":[{"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/media?parent=20154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/categories?post=20154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.takeachef.com\/blog\/en\/wp-json\/wp\/v2\/tags?post=20154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}