{"id":84923,"date":"2022-03-08T15:44:27","date_gmt":"2022-03-08T15:44:27","guid":{"rendered":"https:\/\/www.headout.com\/blog\/?p=84923"},"modified":"2025-09-25T09:52:12","modified_gmt":"2025-09-25T05:52:12","slug":"best-west-end-shows-december","status":"publish","type":"post","link":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/","title":{"rendered":"Best West End shows in December, a London Theatre guide"},"content":{"rendered":"<p>A cosy theatre experience is the perfect escape from the chilling cold. Catch your favourite classical for the nth time or a new show that&#8217;s raising eyes &amp; curtains this month &#8211; a West End show in December is always a good idea. Browse the best West End shows running this December and choose your pick!<\/p>\n<p>[tcb-script]    const getTGIDListForMonth = (allTours, displayMonth) =&gt; {      const allToursArray = Object.values(allTours);      const startMonthDate = dayjs(        `${displayMonth}\/01\/${dayjs().year()}`,        &#8220;MMMM\/DD\/YYYY&#8221;      );      const endMonthDate = startMonthDate.add(        startMonthDate.daysInMonth() &#8211; 1,        &#8220;days&#8221;      );      const startMonthNextYearDate = startMonthDate.add(1, &#8220;years&#8221;);      const endMonthNextYearDate = endMonthDate.add(1, &#8220;years&#8221;);        return allToursArray.reduce((accumulator, element) =&gt; {        const endTourDate = dayjs(element[&#8220;Closing Date&#8221;], &#8220;YYYY-MM-DD&#8221;);        const startTourDate = dayjs(element[&#8220;Opening Date&#8221;], &#8220;YYYY-MM-DD&#8221;);        if (          compareDates(            startMonthDate,            endMonthDate,            startTourDate,            endTourDate          ) ||          compareDates(            startMonthNextYearDate,            endMonthNextYearDate,            startTourDate,            endTourDate          )        ) {          return [&#8230;accumulator, element[&#8220;id&#8221;]];        }        return accumulator;      }, []);    };  [\/tcb-script]  [tcb-script]    document.addEventListener(&#8220;DOMContentLoaded&#8221;, function (event) {      \/\/ Listicle Entry Animation      let slideInShows = function (animEleClass, animationClass) {        jQuery(&#8220;.show-wrapper .accBody:visible&#8221;).slideToggle(&#8220;slow&#8221;);        jQuery(&#8220;.show-wrapper .invert&#8221;).removeClass(&#8220;invert&#8221;);        jQuery(&#8220;.show-wrapper&#8221;)          .removeClass(animationClass)          .fadeOut()          .finish()          .promise()          .done(function () {            jQuery(&#8220;.&#8221; + animEleClass).each(function (i) {              jQuery(this)                .addClass(animationClass)                .removeClass(animEleClass)                .delay((i + 1) * 100)                .fadeIn();            });          });      };        \/\/ Loads All Listed Products as in Months Tab      let showTab = function (tabId) {        showTgids = [];        jQuery(&#8220;.show-wrapper&#8221;).removeClass(&#8220;tabbed&#8221;);        jQuery(&#8220;[data-infotab]&#8221;).removeClass(&#8220;active&#8221;);        jQuery(&#8216;[data-infotab=&#8221;broadway musicals&#8221;]&#8217;).addClass(&#8220;active&#8221;);        if (tabId == 0) {          jQuery(&#8220;.show-wrapper&#8221;).addClass(&#8220;prepare tabbed&#8221;);        } else if (typeof tabId === &#8220;string&#8221;) showTgids = tabId?.split(&#8220;,&#8221;);        else showTgids.push(tabId);        for (let i = 0; i &lt; showTgids?.length; i++)          jQuery(            &#8220;.show-wrapper[data-tgid=&#8221; + parseInt(showTgids[i]) + &#8220;]&#8221;          ).addClass(&#8220;tabbed prepare&#8221;);        slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);      };        const msToTime = (duration) =&gt; {        let milliseconds = parseInt((duration % 1000) \/ 100),          seconds = Math.floor((duration \/ 1000) % 60),          minutes = Math.floor((duration \/ (1000 * 60)) % 60),          hours = Math.floor((duration \/ (1000 * 60 * 60)) % 24);          return hours + &#8221; hrs &#8221; + minutes + &#8221; mins&#8221;;      };        \/\/ HTML Stars Generation      let getStars = function (rating) {        rating = rating &lt; 0 ? 0 : rating;        if (rating &lt; 0.25) return;        let round = Math.floor(rating);        let full = rating &gt; round + 0.5 ? true : false;        let half = rating &gt; round + 0.25 ? true : false;        let template = &#8220;&#8221;;        let i;        \/\/ Populate Complete Stars        for (i = 0; i &lt; round &amp;&amp; i &lt; 5; i++) {          template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        }        \/\/ Add Partial Star (for floating ratings)        if (full &amp;&amp; i &lt; 5 &amp;&amp; ++i) template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        else if (half &amp;&amp; i &lt; 5 &amp;&amp; ++i)          template += &#8220;&lt;span class=&#8217;fas fa-star-half-alt&#8217;&gt;&lt;\/span&gt;&#8221;;        \/\/ Populate Remaining With Empty Stars        while (i++ &lt; 5) template += &#8220;&lt;span class=&#8217;far fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        return template;      };        const getMicroBrandsHighlightsData = (microBrandsHighlight) =&gt; {        const result = {          &#8220;Opening Date&#8221;: &#8220;&#8221;,          &#8220;Closing Date&#8221;: &#8220;&#8221;,        };        let currentObject = &#8220;&#8221;;          microBrandsHighlight.forEach((element) =&gt; {          if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Opening Date&#8221;          ) {            currentObject = &#8220;Opening Date&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Closing Date&#8221;          ) {            currentObject = &#8220;Closing Date&#8221;;          } else {            if (currentObject == &#8220;Opening Date&#8221;) {              result[&#8220;Opening Date&#8221;] = element.content.text;            } else if (currentObject == &#8220;Closing Date&#8221;) {              result[&#8220;Closing Date&#8221;] = element.content.text;            }            currentObject = &#8220;&#8221;;          }        });          return result;      };        const monthSubCategoryFilter = jQuery(&#8220;.month-sub-category-filter&#8221;);      const filterEnabled = monthSubCategoryFilter.data(&#8220;filter-enabled&#8221;) === 1;      const categoryNameMap = {};      const filterHeading = monthSubCategoryFilter?.[0].getAttribute(        &#8220;data-filter-heading&#8221;      );      const subCategoryIds = monthSubCategoryFilter?.[0]        .getAttribute(&#8220;data-sub-category-ids&#8221;)        ?.split(&#8220;,&#8221;);      const monthCSV = monthSubCategoryFilter?.[0]        ?.getAttribute(&#8220;data-months&#8221;)        ?.split(&#8220;,&#8221;)        ?.filter((d) =&gt; d !== &#8220;&#8221;);      const firstMonth = monthCSV?.[0];      let allTours = [];        const getRatingStar = (rating) =&gt; {        let starMarkup = &#8220;&#8221;;        const coloredStar = Math.floor(rating);        const isRatingDecimal = rating &#8211; coloredStar != 0;        const uncoloredStar = Math.floor(5 &#8211; rating);          for (let i = 1; i &lt;= coloredStar; i++) {          starMarkup += `&lt;i aria-hidden=&#8221;true&#8221;&gt;&lt;\/i&gt;`;        }        if (isRatingDecimal) {          starMarkup += `&lt;i aria-hidden=&#8221;true&#8221;&gt;&lt;\/i&gt;`;        }        for (let i = 1; i &lt;= uncoloredStar; i++) {          starMarkup += `&lt;i aria-hidden=&#8221;true&#8221;&gt;&lt;\/i&gt;`;        }        return starMarkup;      };        const functionsAfterDataUpdate = () =&gt; {        allTours.forEach((tour, index) =&gt; {          if (tour?.listingPrice) {            const opening = getMicroBrandsHighlightsData(              tour.microBrandsHighlight            )[&#8220;Opening Date&#8221;];            const tourImageUrl = `${tour.imageUrl}?auto=compress&amp;w=500&amp;h=250&amp;crop=faces&amp;fit=min`;            const mainCard = `&lt;div data-rating=&#8221;${              tour.averageRating            }&#8221; data-tgid=&#8221;${tour.id}&#8221; data-open=&#8221;${opening}&#8221;&gt;                  &lt;a href=&#8221;https:\/\/www.headout.com${                    tour?.urlSlugs?.[&#8216;EN&#8217;] || &#8220;&#8221;                  }&#8221; target=&#8221;_blank&#8221; data-id=&#8221;${index}&#8221;&gt;&lt;span&gt;&lt;\/span&gt;&lt;\/a&gt;                                    &lt;div&gt;                  &lt;picture&gt;                      &lt;source type=&#8221;image\/webp&#8221; data-srcset=&#8221;${tourImageUrl}&#8221;&gt;                      &lt;img data-src=&#8221;${tourImageUrl}&#8221; data-sizes=&#8221;auto&#8221; alt=&#8221;${              tour.name            }&#8221; sizes=&#8221;275px&#8221; loading=&#8221;lazy&#8221; src=&#8221;${tourImageUrl}&#8221;&gt;                  &lt;\/picture&gt;                  &lt;\/div&gt;                  &lt;div&gt;                  &lt;div&gt;                      &lt;div&gt;                      &lt;div&gt;${                        tour.primaryCategory.displayName                      }&lt;\/div&gt;                      &lt;div&gt;${tour.name}&lt;\/div&gt;                      &lt;\/div&gt;                      ${                        tour.averageRating != 0                          ? `&lt;div&gt;                              &lt;div&gt;                                  &lt;div&gt;&lt;span&gt;${getRatingStar(                                    tour.averageRating                                  )} &lt;\/span&gt;&lt;\/div&gt;                              &lt;\/div&gt;                          &lt;\/div&gt;`                          : `&lt;div&gt;New Arrival&lt;\/div&gt;`                      }                  &lt;\/div&gt;                  &lt;div&gt;                    &lt;div&gt;                        ${                          tour.listingPrice.bestDiscount != 0                            ? `&lt;div&gt;                                &lt;div&gt;&lt;span&gt;upto ${tour.listingPrice.bestDiscount}% off&lt;\/span&gt;&lt;\/div&gt;                                &lt;\/div&gt;`                            : &#8220;&#8221;                        }                        &lt;\/div&gt;                    &lt;div&gt;                                                      ${tour.tags                                                        .map(                                                          (item) =&gt;                                                            `&lt;div data-cat=&#8221;${item}&#8221;&gt;${categoryNameMap[item]}&lt;\/div&gt;`                                                        )                                                        .join(&#8221; &#8220;)}                                                      &lt;\/div&gt;                                    &lt;div&gt;                      &lt;div&gt;&lt;span&gt;from&lt;\/span&gt;&lt;\/div&gt;                      &lt;div&gt;                        ${                          tour.listingPrice.originalPrice !=                            tour.listingPrice.finalPrice &amp;&amp;                          tour.listingPrice.originalPrice &gt;                            tour.listingPrice.finalPrice                            ? `&lt;span&gt;\u00a3${tour.listingPrice.originalPrice}&lt;\/span&gt;`                            : &#8220;&#8221;                        }                          &lt;span&gt;\u00a3${tour.listingPrice.finalPrice}&lt;\/span&gt;                      &lt;\/div&gt;                      &lt;\/div&gt;                  &lt;\/div&gt;                                    &lt;\/div&gt;              &lt;\/div&gt;                      `;              const htmlObject = `${mainCard}&lt;\/div&gt; `;              jQuery(&#8220;.page-card-wrapper&#8221;).append(htmlObject);            jQuery(`.show-wrapper[data-tgid=${tour.id}]`)              .find(&#8220;[data-show-ratings]&#8221;)              .html(getStars(tour.averageRating));          }        });          jQuery(&#8220;.accCtrl&#8221;).on(&#8220;click&#8221;, function (e) {          selEle = jQuery(e.target).closest(&#8220;.show-wrapper&#8221;);          jQuery(selEle).find(&#8220;.listicle-item-arrow&#8221;).toggleClass(&#8220;invert&#8221;);          target = jQuery(selEle).find(&#8220;.accBody&#8221;);          jQuery(target).slideToggle(&#8220;slow&#8221;);        });          filterEnabled &amp;&amp;          monthCSV.forEach((month, index) =&gt; {            const monthName = month.trim();            const isSingleMonth = monthCSV?.length === 1;            let htmlObject;            let ids = &#8220;0&#8221;;            if (monthName != &#8220;ALL SHOWS&#8221;) {              ids = getTGIDListForMonth(allTours, monthName).join();            }              if (index == 0) {              htmlObject = `&lt;divhide-tab&#8221; : &#8220;&#8221;              }&#8221; data-tab=&#8221;${                index + 1              }&#8221; data-ids=&#8221;${ids}&#8221; data-active=&#8221;1&#8243; &gt; ${monthName}&lt;\/div&gt; `;            } else {              htmlObject = `&lt;div data-tab=&#8221;${                index + 1              }&#8221; data-ids=&#8221;${ids}&#8221; data-active=&#8221;0&#8243;&gt;${monthName}&lt;\/div&gt;`;            }              jQuery(&#8220;.shows-filters .tab-wrapper .mobi-text .mobi-wrap&#8221;).append(              htmlObject            );          });          \/\/ Page Init Products List Generation        showTab(          jQuery(&#8220;.tab-item[data-active=&#8217;1&#8242;]&#8221;).addClass(&#8220;active&#8221;).data(&#8220;ids&#8221;)        );          \/\/ Months Tab Change Handler        jQuery(&#8220;.tab-item&#8221;).click(function () {          jQuery(&#8220;.tab-item&#8221;).data(&#8220;active&#8221;, 0).removeClass(&#8220;active&#8221;);          jQuery(this).data(&#8220;active&#8221;, 1).addClass(&#8220;active&#8221;);          jQuery(this)            .closest(&#8220;.mobi-text&#8221;)            .find(&#8220;.text&#8221;)            .text(jQuery(this).text());          showTab(jQuery(this).data(&#8220;ids&#8221;));          jQuery(jQuery(&#8220;input.filter-chckbox:checked&#8221;).prop(&#8220;checked&#8221;, false));          jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);        });          \/\/ On Window Resize Hide Mobile Months Tab.        jQuery(window).resize(function (e) {          if (jQuery(window).width() &gt; 630)            jQuery(&#8220;.mobi-wrap&#8221;).attr(&#8220;style&#8221;, &#8220;&#8221;);        });          if (monthCSV?.length === 1) {          jQuery(&#8220;.mobi-text&#8221;).addClass(&#8220;hide-tab&#8221;);        }        \/\/ Mobile Months Tabs Change Handler        jQuery(&#8220;.mobi-text&#8221;).click(function (e) {          if (            jQuery(&#8220;.mobi-wrap&#8221;).is(&#8220;:hidden&#8221;) ||            jQuery(this).hasClass(&#8220;active&#8221;)          )            jQuery(this)              .closest(&#8220;.mobi-text&#8221;)              .toggleClass(&#8220;active&#8221;)              .find(&#8220;.mobi-wrap&#8221;)              .slideToggle(&#8220;slow&#8221;);        });          \/\/ Category Change Handler        jQuery(&#8220;[data-filter-cat]&#8221;).change(function (e) {          jQuery(&#8220;[data-cat]&#8221;).removeClass(&#8220;mobi-active-filter&#8221;);          jQuery(&#8220;[data-infotab].active&#8221;).removeClass(&#8220;active&#8221;);          let catName = jQuery(this).data(&#8220;filter-cat&#8221;);          jQuery(`[data-infotab=&#8217;${catName.toLowerCase()}&#8217;]`).addClass(&#8220;active&#8221;);          jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {            if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {              cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();              const activeMonth = jQuery(&#8220;.tab-item.active&#8221;).text();                if (                activeMonth != &#8220;All Shows&#8221; &amp;&amp;                (cat == &#8220;new arrivals&#8221; || cat == &#8220;shows reopening&#8221;)              ) {                const elements = jQuery(&#8220;.show-wrapper.tabbed&#8221;).has(                  `[data-cat=&#8221;${cat}&#8221;]`                );                for (i = 0; i &lt; elements.length; i++) {                  ele = elements[i];                  const condition =                    dayjs(jQuery(ele).data(&#8220;open&#8221;), &#8220;MM\/DD\/YYYY&#8221;).format(                      &#8220;MMMM&#8221;                    ) === activeMonth;                  if (condition) {                    jQuery(ele)                      .addClass(&#8220;prepare&#8221;)                      .find(`[data-cat=&#8221;${cat}&#8221;]`)                      .addClass(&#8220;mobi-active-filter&#8221;);                  }                }              } else {                jQuery(&#8220;.show-wrapper.tabbed&#8221;)                  .has(`[data-cat=&#8221;${cat}&#8221;]`)                  .addClass(&#8220;prepare&#8221;)                  .find(`[data-cat=&#8221;${cat}&#8221;]`)                  .addClass(&#8220;mobi-active-filter&#8221;);              }            }          });          slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);        });          \/\/ Page init default Category Handler &amp; Default Open Listicle        filterEnabled &amp;&amp;          setTimeout(function () {\/\/              jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {\/\/                if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {\/\/                  cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();\/\/                  jQuery(&#8220;.show-wrapper.tabbed&#8221;)\/\/                    .has(`[data-cat=&#8221;${cat}&#8221;]`)\/\/                    .addClass(&#8220;prepare&#8221;);\/\/                }\/\/              });\/\/              slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);            jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);            jQuery(&#8220;.show-wrapper:first-child .accCtrl&#8221;)              .eq(0)              .delay(1000)              .trigger(&#8220;click&#8221;);          }, 300);          \/\/ Lower Case All Data Attributes.        let lowerCaseAll = function (ele) {          jQuery(ele).each(function () {            var $this = jQuery(this),              data = $this.data();            for (var k in data)              $this.attr(&#8220;data-&#8221; + k, data[k].toLowerCase().trim());          });        };        lowerCaseAll(jQuery(&#8220;[data-filter-cat], [data-cat], [data-infotab]&#8221;));\/\/          if (!filterEnabled) {\/\/            jQuery(&#8220;.show-wrapper&#8221;).each(function (i) {\/\/              jQuery(this).addClass(&#8220;active&#8221;).css(&#8220;display&#8221;, &#8220;block&#8221;);\/\/            });\/\/          }        jQuery(&#8220;.page-card-wrapper&#8221;).append(            `&lt;a href=&#8221;https:\/\/www.headout.com\/london-theatre-tickets-c-167\/&#8221; target=&#8221;_blank&#8221; rel=&#8221;noopener&#8221;&gt;&lt;p&gt;Show More&lt;\/p&gt;&lt;\/a&gt;`          );      };  \/\/        filterEnabled &amp;&amp;\/\/          monthSubCategoryFilter.append(`&lt;div&gt;\/\/                  &lt;div&gt;\/\/                    &lt;h3&gt;${filterHeading}&lt;\/h3&gt;\/\/                    &lt;div&gt;\/\/                    &lt;\/div&gt;\/\/                  &lt;\/div&gt;\/\/                &lt;\/div&gt;`);        filterEnabled &amp;&amp;        monthSubCategoryFilter.prepend(`&lt;div&gt;                &lt;div&gt;                  &lt;div&gt;                    &lt;div&gt; &lt;span&gt;${firstMonth}&lt;\/span&gt;&lt;span&gt;&lt;\/span&gt;&lt;\/div&gt;                    &lt;div&gt;                    &lt;\/div&gt;                  &lt;\/div&gt;                &lt;\/div&gt;              &lt;\/div&gt;`);        async function getData() {        await jQuery.get(                   {                       url: &#8216;https:\/\/vivillion.netlify.app\/api\/parsed-collection?collectionId=167&amp;limit=100&amp;city=London&#8217;,                   },                   function (res) {                       const displayName = &#8221;;                       const subCategoryId = &#8221;;                       const subCategoryDiscription = &#8221;                       const subCategoryName = &#8221;                       res.pageData.items.forEach((item) =&gt; {                           item.tags = [item?.primarySubCategory?.displayName || &#8221;];                           if (allTours.filter((x) =&gt; x.id === item.id).length === 0) {                               allTours.push(item);                           } else {                               allTours                                   .filter((x) =&gt; x.id === item.id)[0]                                   .tags.push(item?.primarySubCategory?.displayName || &#8221;);                           }                       });                       if (allTours?.length &gt; 1) {                           allTours = allTours.map((tour) =&gt; {                               const result = getMicroBrandsHighlightsData(                                   tour.microBrandsHighlight                               );                               return {                                   &#8230;result,                                   &#8230;tour,                               };                           });                           functionsAfterDataUpdate();                       }                   }               );      }      getData();    });  [\/tcb-script]<\/p>\n<h2 id=\"bestwestendshowsdecember7\">What to Wear to a West End Show in December?<\/h2>\n<p>When dressing up for a West End show in December, it&#8217;s important to choose something that&#8217;s both stylish and festive. A little black dress is always a classic choice, but you could also go for a colourful dress instead. A pair of dressy trousers and a nice top could also work, or you could go for a skirt and blouse combo. No matter what you choose, make sure it&#8217;s smart and stylish!<\/p>\n<p>Since it is typically cold outside in December, a coat or jacket would be necessary. Dress shoes or boots would also be a good choice, as opposed to sneakers.<\/p>\n<h2 id=\"bestwestendshowsdecember8\">FAQs<\/h2>\n<h2>More West End Guides<\/h2>\n<p>For more West End information, here are some helpful quick links!<\/p>\n<p> <a href=\"https:\/\/www.headout.com\/blog\/cheap-west-end-tickets\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\"> <img decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/media\/images\/London\/Westend+District+Theatre+London.jpg?auto=compress&amp;fm=pjpg&amp;w=500&amp;h=1000&amp;q=30\" alt=\"Cheap West End Tickets\" data-pagespeed-url-hash=\"2194423686\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\">How To Buy Cheap West End Tickets <\/a> <a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-london\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\"> <img decoding=\"async\" src=\"\/\/cdn-imgix.headout.com\/tour\/4746\/TOUR-IMAGE\/1d6bafa2-31e3-4e29-b160-2f0cc14d9e0a-3037-london-wicked-01.jpg?auto=compress&amp;fm=pjpg&amp;w=500&amp;h=1000&amp;q=30\" alt=\"Best West End Shows London\" data-pagespeed-url-hash=\"517640946\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\">Best West End Shows in London <\/a> <a href=\"https:\/\/www.headout.com\/blog\/london-theatres\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\"> <img decoding=\"async\" src=\"https:\/\/www.headout.com\/blog\/wp-content\/uploads\/2018\/01\/kilyan-sockalingum-nW1n9eNHOsc-unsplash-scaled.jpg?auto=compress&amp;fm=pjpg&amp;w=500&amp;h=1000&amp;q=30\" alt=\"West End Seating Plans\" data-pagespeed-url-hash=\"189535549\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\">A-Z London Theatre Seating Plans <\/a> <a href=\"https:\/\/www.headout.com\/blog\/west-end-shows\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\"> <img decoding=\"async\" src=\"https:\/\/cdn-imgix.headout.com\/tour\/4384\/TOUR-IMAGE\/3f77cc19-bae2-4e37-bce8-f7326f46e9f8-2832-london-aladdin-01.jpg?auto=compress&amp;fm=pjpg&amp;w=500&amp;h=1000&amp;q=30\" alt=\"West End London Guide\" data-pagespeed-url-hash=\"1322199381\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\">Everything About West End London <\/a><\/p>\n<h2>Best West End Shows &#8211; Month On Month Guide <\/h2>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-january\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in January<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-february\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in February<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-march\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in March<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-april\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in April<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-may\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in May<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-june\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in June<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-july\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in July<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-august\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in August<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-september\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in September<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-october\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in October<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-november\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in November<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/\" target=\"_blank\" data-wpel-link=\"internal\" rel=\"noopener\">Best West End Shows in December<\/a><\/p>\n<p>[tcb-script]document.addEventListener(&#8220;DOMContentLoaded&#8221;, function (event) {    \/\/device = (\/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini\/i.test(navigator.userAgent.toLowerCase()));    \/\/ HTML Stars Generation    let getStars = function (rating) {      \/\/console.log(rating)      rating = rating &lt; 0 ? 0 : rating;      if (rating &lt; .25)        return;      let round = Math.floor(rating);      let full = (rating &gt; (round + .5)) ? true : false;      let half = (rating &gt; (round + .25)) ? true : false;      let template = &#8221;;      let i;      \/\/ Populate Complete Stars      for (i = 0; i &lt; round &amp;&amp; i &lt; 5; i++) {        template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;      }      \/\/ Add Partial Star (for floating ratings)      if (full &amp;&amp; i &lt; 5 &amp;&amp; ++i)        template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;      else if (half &amp;&amp; i &lt; 5 &amp;&amp; ++i)        template += &#8220;&lt;span class=&#8217;fas fa-star-half-alt&#8217;&gt;&lt;\/span&gt;&#8221;      \/\/ Populate Remaining With Empty Stars      while (i++ &lt; 5)        template += &#8220;&lt;span class=&#8217;far fa-star&#8217;&gt;&lt;\/span&gt;&#8221;      return template;    }    \/\/ On Window Resize Hide Mobile Months Tab.    jQuery(window).resize(function (e) {      \/\/console.log(e);      if (jQuery(window).width() &gt; 630)        jQuery(&#8216;.mobi-wrap&#8217;).attr(&#8220;style&#8221;, &#8221;)    });    let thisEle = [];    let i = 0;    \/\/ Populating API Data    jQuery(&#8220;.show-wrapper[data-tgid]&#8221;).each(function () {      let pgid = jQuery(this).data(&#8220;tgid&#8221;);      thisEle.push(this);      if (parseInt(pgid) &amp;&amp; pgid != &#8221;) {        jQuery.get(&#8220;https:\/\/api.headout.com\/api\/v5\/tour-group\/get\/&#8221; + pgid, function (res) {          \/\/ console.log(res);          if (res.currency)            symb = res.currency.localSymbol;          uEle = `.show-wrapper[data-tgid=${res.id}]`;          jQuery(uEle).find(&#8220;[data-show-ratings]&#8221;).html(getStars(jQuery(uEle).data(&#8216;rating&#8217;)));          jQuery(uEle).find(&#8220;.review-count&#8221;).text(res.reviewCount);          \/\/jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;src&#8217;, &#8220;https:&#8221; + res.imageUploads[0].url + &#8220;?auto=compress&amp;crop=faces&amp;fm=pjpg&amp;w=720&amp;h=500&amp;q=30&#8221;);          jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;alt&#8217;, res.imageUploads[0].alt);          jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;title&#8217;, res.imageUploads[0].title);          \/\/jQuery(uEle).find(&#8220;.listicle-item-name&#8221;).text(res.name);          if (res.listingPrice) {            console.log(&#8220;here&#8221;)            jQuery(uEle).find(&#8220;.price sup&#8221;).text(symb + res.listingPrice.originalPrice);            jQuery(uEle).find(&#8220;.price .current&#8221;).text(symb + res.listingPrice.finalPrice);          }          jQuery(uEle).find(&#8220;.listicle-item-product-image img&#8221;).attr(&#8216;src&#8217;, res.imageUploads[Math.ceil(Math.random() * res.imageUploads.length &#8211; 1)].url);        })      }    });    \/\/ Generating Stars    jQuery(&#8220;[data-show-ratings]&#8221;).each(function (n, ele) {      jQuery(this).append(getStars(jQuery(jQuery(ele).closest(&#8220;.show-wrapper&#8221;)).data(&#8220;rating&#8221;)))    })    \/\/ Loads All Listed Products as in Months Tab    let showTab = function (tabId) {      \/\/ console.log(tabId)      showTgids = [];      jQuery(&#8220;.show-wrapper&#8221;).removeClass(&#8220;tabbed&#8221;)      jQuery(&#8216;[data-infotab]&#8217;).removeClass(&#8220;active&#8221;);      jQuery(&#8216;[data-infotab=&#8221;broadway musicals&#8221;]&#8217;).addClass(&#8220;active&#8221;);      if (tabId == 0) {        jQuery(&#8220;.show-wrapper&#8221;).addClass(&#8220;prepare tabbed&#8221;)      } else if (typeof tabId === &#8220;string&#8221;)        showTgids = tabId.split(&#8220;,&#8221;);      else        showTgids.push(tabId)      for (let i = 0; i &lt; showTgids.length; i++)        jQuery(&#8220;.show-wrapper[data-tgid=&#8221; + parseInt(showTgids[i]) + &#8220;]&#8221;).addClass(&#8220;tabbed prepare&#8221;)      slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);    }    \/\/ Open Tab On Click Handler.    jQuery(&#8220;.accCtrl&#8221;).on(&#8220;click&#8221;, function (e) {      selEle = jQuery(e.target).closest(&#8220;.show-wrapper&#8221;);      jQuery(selEle).find(&#8220;.listicle-item-arrow&#8221;).toggleClass(&#8220;invert&#8221;)      target = jQuery(selEle).find(&#8220;.accBody&#8221;)      jQuery(target).slideToggle(&#8220;slow&#8221;);    })    \/\/ Listicle Entry Animation    let slideInShows = function (animEleClass, animationClass) {      jQuery(&#8220;.show-wrapper .accBody:visible&#8221;).slideToggle(&#8220;slow&#8221;)      jQuery(&#8220;.show-wrapper .invert&#8221;).removeClass(&#8220;invert&#8221;)      jQuery(&#8220;.show-wrapper&#8221;).removeClass(animationClass)        .fadeOut().finish().promise().done(function () {          jQuery(&#8220;.&#8221; + animEleClass).each(function (i) {            jQuery(this).addClass(animationClass).removeClass(animEleClass).delay((i + 1) * 100).fadeIn();          })        });    }    \/\/ Page Init Products List Generation    showTab(jQuery(&#8220;.tab-item[data-active=&#8217;1&#8242;]&#8221;).addClass(&#8220;active&#8221;).data(&#8220;ids&#8221;))    \/\/ Months Tab Change Handler    jQuery(&#8220;.tab-item&#8221;).click(function () {      jQuery(&#8220;.tab-item&#8221;).data(&#8220;active&#8221;, 0).removeClass(&#8220;active&#8221;)      jQuery(this).data(&#8220;active&#8221;, 1).addClass(&#8220;active&#8221;)      jQuery(this).closest(&#8220;.mobi-text&#8221;).find(&#8220;.text&#8221;).text(jQuery(this).text())      showTab(jQuery(this).data(&#8220;ids&#8221;))      jQuery(jQuery(&#8220;input.filter-chckbox:checked&#8221;).prop(&#8220;checked&#8221;, false))      jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);    })    \/\/ Mobile Months Tabs Change Handler    jQuery(&#8220;.mobi-text&#8221;).click(function (e) {      if (jQuery(&#8220;.mobi-wrap&#8221;).is(&#8220;:hidden&#8221;) || jQuery(this).hasClass(&#8220;active&#8221;))        jQuery(this).closest(&#8220;.mobi-text&#8221;).toggleClass(&#8220;active&#8221;).find(&#8220;.mobi-wrap&#8221;).slideToggle(&#8220;slow&#8221;);    })    \/\/ Category Change Handler    jQuery(&#8220;[data-filter-cat]&#8221;).change(function (e) {      jQuery(&#8216;[data-cat]&#8217;).removeClass(&#8216;mobi-active-filter&#8217;);      jQuery(&#8216;[data-infotab].active&#8217;).removeClass(&#8216;active&#8217;);      var catName = jQuery(this).data(&#8216;filter-cat&#8217;);      jQuery(`[data-infotab=&#8217;${catName.toLowerCase()}&#8217;]`).addClass(&#8216;active&#8217;);      jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {        if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {          cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();          jQuery(&#8220;.show-wrapper.tabbed&#8221;).has(`[data-cat=&#8221;${cat}&#8221;]`).addClass(&#8220;prepare&#8221;).find(`[data-cat=&#8221;${cat}&#8221;]`).addClass(&#8216;mobi-active-filter&#8217;);        }      })      slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);    });    \/\/ Page init default Category Handler &amp; Default Open Listicle    setTimeout(function () {      jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {        if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {          cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();          jQuery(&#8220;.show-wrapper.tabbed&#8221;).has(`[data-cat=&#8221;${cat}&#8221;]`).addClass(&#8220;prepare&#8221;);        }      });      slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);      jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);      jQuery(&#8220;.show-wrapper:first-child .accCtrl&#8221;).eq(0).delay(1000).trigger(&#8220;click&#8221;);    }, 300);    \/\/ Lower Case All Data Attributes.    let lowerCaseAll = function (ele) {      jQuery(ele).each(function () {        var $this = jQuery(this),          data = $this.data();        for (var k in data)          $this.attr(&#8220;data-&#8221; + k, data[k].toLowerCase().trim());      });    }    lowerCaseAll(jQuery(&#8220;[data-filter-cat], [data-cat], [data-infotab]&#8221;));  });[\/tcb-script]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A cosy theatre experience is the perfect escape from the chilling cold. Catch your favourite classical for the nth time or a new show that&#8217;s raising eyes &amp; curtains this month &#8211; a West End show in December is always a good idea. Browse the best West End shows running this December and choose your [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":85174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[781,779,547],"tags":[6745,6994,6990,6284,7120,6359],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>30+ West End Shows to Watch in December 2026<\/title>\n<meta name=\"description\" content=\"Browse our West End2026 shows and get your tickets to the best shows, musicals &amp; plays running this December 2026\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"30+ West End Shows to Watch in December 2026\" \/>\n<meta property=\"og:description\" content=\"Browse our West End2026 shows and get your tickets to the best shows, musicals &amp; plays running this December 2026\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/\" \/>\n<meta property=\"og:site_name\" content=\"Headout Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-08T15:44:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-25T05:52:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg\" \/>\n<meta name=\"author\" content=\"Lakshmi Menon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lakshmi Menon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"30+ West End Shows to Watch in December 2026","description":"Browse our West End2026 shows and get your tickets to the best shows, musicals & plays running this December 2026","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/","og_locale":"en_US","og_type":"article","og_title":"30+ West End Shows to Watch in December 2026","og_description":"Browse our West End2026 shows and get your tickets to the best shows, musicals & plays running this December 2026","og_url":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/","og_site_name":"Headout Blog","article_published_time":"2022-03-08T15:44:27+00:00","article_modified_time":"2025-09-25T05:52:12+00:00","og_image":[{"url":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg"}],"author":"Lakshmi Menon","twitter_card":"summary_large_image","twitter_image":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg","twitter_misc":{"Written by":"Lakshmi Menon","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#article","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/"},"author":{"name":"Lakshmi Menon","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/fe80bf96115b325c05ea56f8a6e0a2f7"},"headline":"Best West End shows in December, a London Theatre guide","datePublished":"2022-03-08T15:44:27+00:00","dateModified":"2025-09-25T05:52:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/"},"wordCount":2525,"commentCount":0,"publisher":{"@id":"https:\/\/www.headout.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg","keywords":["c-167","Entertainment","Listicle","London","United Kingdom","Winter Blogs"],"articleSection":["Best West End Shows","London Theatre Tickets","Things to do in London"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/","url":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/","name":"30+ West End Shows to Watch in December 2026","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#primaryimage"},"image":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg","datePublished":"2022-03-08T15:44:27+00:00","dateModified":"2025-09-25T05:52:12+00:00","description":"Browse our West End2026 shows and get your tickets to the best shows, musicals & plays running this December 2026","breadcrumb":{"@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#primaryimage","url":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg","contentUrl":"https:\/\/cdn-imgix.headout.com\/tour\/8705\/TOUR-IMAGE\/af405f02-8129-433b-b615-92bf4a4caf2f-Cinderella0286-Tyler-Eisenreich--Kaitlyn-Mayse-and-Gage-Martin-scaled-1.jpeg","width":"2560","height":"1600","caption":"Best West End Shows in December | London Theatre Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.headout.com\/blog\/best-west-end-shows-december\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Things to do in London","item":"https:\/\/www.headout.com\/things-to-do-city-london\/"},{"@type":"ListItem","position":2,"name":"London Theatre Tickets","item":"https:\/\/www.headout.com\/london-theatre-tickets-c-167\/"},{"@type":"ListItem","position":3,"name":"Best West End Shows","item":"https:\/\/www.headout.com\/blog\/best-west-end-shows-london\/"},{"@type":"ListItem","position":4,"name":"Best West End Shows in December"}]},{"@type":"WebSite","@id":"https:\/\/www.headout.com\/blog\/#website","url":"https:\/\/www.headout.com\/blog\/","name":"Headout Blog","description":"Where will you go next?","publisher":{"@id":"https:\/\/www.headout.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.headout.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.headout.com\/blog\/#organization","name":"Headout","url":"https:\/\/www.headout.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.headout.com\/blog\/wp-content\/uploads\/2016\/07\/headout-logo.png","contentUrl":"https:\/\/www.headout.com\/blog\/wp-content\/uploads\/2016\/07\/headout-logo.png","width":550,"height":84,"caption":"Headout"},"image":{"@id":"https:\/\/www.headout.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/fe80bf96115b325c05ea56f8a6e0a2f7","name":"Lakshmi Menon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/47293d4b1b985cc456d8d147bb654bc4?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/47293d4b1b985cc456d8d147bb654bc4?s=96&r=g","caption":"Lakshmi Menon"},"description":"Born to parents bit by the wander bug, Lakshmi calls her love for travel \"hereditary and habitual\". Perpetually ensconced with a book in her hand and a mug of coffee in the other, she has been to over 15 countries in her 23 years of existence and is currently saving miles and money for her solo trip to Iceland. Always hustling towards the least trodden path, she has encountered some wonderful people during her escapades and if you ever meet her, she won't stop gushing about them.","url":"https:\/\/www.headout.com\/blog\/author\/lakshmi-menon\/"}]}},"_links":{"self":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/84923"}],"collection":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/comments?post=84923"}],"version-history":[{"count":27,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/84923\/revisions"}],"predecessor-version":[{"id":201796,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/84923\/revisions\/201796"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media\/85174"}],"wp:attachment":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media?parent=84923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/categories?post=84923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/tags?post=84923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}