","showSummary":null,"url":"/pms-upgrade-offers-pci-peace-mind","date":"2017-06-12T00:00:00","author":{"email":"mescobar@ensembleiq.com","uname":"mescobar","firstName":"Michal Christine ","lastName":"Escobar ","bio":"
Michal Christine Escobar is Hospitality Technology’s Senior Editor, with a concentration on the hotel industry. She has a decade of experience as a B2B journalist. She is responsible for the hotel beat at the magazine and often writes about AI, VR, IoT and other emerging technologies affecting hospitality.
\r\n","title":"Senior Editor, Hotels","picture":{"id":16,"url":"https://assets1.hospitalitytech.com/styles/portrait_gallery_item/s3/2023-11/500x500Headshot.jpg?VersionId=TGFI0TYBBHYFZ1wHIOCH5G576whS1p44&h=2a479378&itok=AEylBQ3A","alt":"escobar","width":500,"height":500},"phone":"224-632-8204","contactForm":true},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":21493,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/ht0617casestd.jpg?itok=Z2wJypJC","width":196,"height":219,"alt":""},"topics":[{"name":"Cloud Computing","url":"/cloud-computing"},{"name":"Payment Security","url":"/payment-security"},{"name":"Property Management Systems","url":"/property-management-systems"},{"name":"Lodging","url":"/lodging"},{"name":"Hotel Brand -- Boutique/Lifestyle","url":"/hotel-brand-boutiquelifestyle"},{"name":"Hotels","url":"/hotels"}],"attachedFiles":[]},{"title":"2017 Hotel Visionaries","id":9102,"bundle":"article","summary":"Innovative hotel companies focus on centralizing, streamlining and removing friction from enterprise and customer-facing operations.Michal Christine Escobar is Hospitality Technology’s Senior Editor, with a concentration on the hotel industry. She has a decade of experience as a B2B journalist. She is responsible for the hotel beat at the magazine and often writes about AI, VR, IoT and other emerging technologies affecting hospitality.
\r\n","title":"Senior Editor, Hotels","picture":{"id":16,"url":"https://assets1.hospitalitytech.com/styles/portrait_gallery_item/s3/2023-11/500x500Headshot.jpg?VersionId=TGFI0TYBBHYFZ1wHIOCH5G576whS1p44&h=2a479378&itok=AEylBQ3A","alt":"escobar","width":500,"height":500},"phone":"224-632-8204","contactForm":true},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":21490,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/cs0617.jpg?itok=NFiV0Vqa","width":196,"height":219,"alt":""},"topics":[{"name":"Innovation","url":"/innovation"},{"name":"Lodging","url":"/lodging"},{"name":"Hotel Management","url":"/hotel-management"},{"name":"Hotel Brand -- Business Class","url":"/hotel-brand-business-class"},{"name":"Hotel Brand -- Major","url":"/hotel-brand-major"},{"name":"Cover Story","url":"/cover-story"},{"name":"Hotels","url":"/hotels"},{"name":"Hotel Brand -- Boutique/Lifestyle","url":"/hotel-brand-boutiquelifestyle"},{"name":"June 2017 Issue","url":"/june-2017-issue"},{"name":"Hotel Visionary Awards","url":"/hotel-visionary-awards"}],"attachedFiles":[]},{"title":"IBC Marketplace Now Serving as Technology Management Hub for Independent Hotels ","id":9142,"bundle":"article","summary":"New Executive Dashboard enables operators to centrally manage all PMS, CRS, marketing, rate, revenue management, loyalty programs and more.","showSummary":null,"url":"/ibc-marketplace-now-serving-technology-management-hub-independent-hotels","date":"2017-06-01T00:00:00","author":{"email":"devteam@ashday.com","uname":"ht_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":null,"topics":[{"name":"Central Reservations","url":"/central-reservations"},{"name":"Sales & Marketing","url":"/sales-marketing"},{"name":"Loyalty","url":"/loyalty"},{"name":"Mobile Devices & Apps","url":"/mobile-devices-apps"},{"name":"Property Management Systems","url":"/property-management-systems"},{"name":"Revenue Management","url":"/revenue-management"},{"name":"Lodging","url":"/lodging"},{"name":"Hotel Brand -- Boutique/Lifestyle","url":"/hotel-brand-boutiquelifestyle"},{"name":"Hotels","url":"/hotels"}],"attachedFiles":[]},{"title":"Independent Hospitality Destination Company Selects Maestro Web Multi-Property PMS for 15 Properties","id":9158,"bundle":"article","summary":"Pursuit evaluated 25 property management systems before deciding to partner with Maestro PMS.","showSummary":null,"url":"/independent-hospitality-destination-company-selects-maestro-web-multi-property-pms-15-properties","date":"2017-05-25T00:00:00","author":{"email":"devteam@ashday.com","uname":"ht_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":null,"topics":[{"name":"Data & Analytics","url":"/data-analytics"},{"name":"Property Management Systems","url":"/property-management-systems"},{"name":"Lodging","url":"/lodging"},{"name":"Hotel Management","url":"/hotel-management"},{"name":"Hotel Brand -- Boutique/Lifestyle","url":"/hotel-brand-boutiquelifestyle"},{"name":"Hotels","url":"/hotels"}],"attachedFiles":[]},{"title":"How Independent Hotels Can Succeed With a Fair Price Structure","id":9227,"bundle":"article","summary":"To achieve fair pricing, independent hotels must consider a pricing strategy that aligns with their optimal business mix and rate plan.","showSummary":null,"url":"/how-independent-hotels-can-succeed-fair-price-structure","date":"2017-05-15T00:00:00","author":{"email":"devteam@ashday.com","uname":"ht_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":21443,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/man-with-luggage-on-phone.jpg?itok=ySWeAt22","width":190,"height":210,"alt":null},"topics":[{"name":"Central Reservations","url":"/central-reservations"},{"name":"Reservations","url":"/reservations"},{"name":"Lodging","url":"/lodging"},{"name":"Hotel Brand -- Boutique/Lifestyle","url":"/hotel-brand-boutiquelifestyle"},{"name":"Hotels","url":"/hotels"}],"attachedFiles":[]}]},"title":"Hotel Brand -- Boutique/Lifestyle","contentParagraphs":null,"sections":null}; const country = "US"; const language = null; const SITE_LANGUAGE = "en"; const siteName = "Hospitality Technology"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "HT"; const title = "Hotel Brand -- Boutique/Lifestyle | Hospitality Technology"; window.dataLayer = window.dataLayer || []; const data = {}; data.entityTaxonomy = {}; const contentTypes = [ "article", "blog", "bulletin", "embed_page", "landing_page", "event", "image", "page", "product", "whitepaper", "video", "tags", "author_profile", "buyers_guide_listing" ]; if ( routeInfo && "bundle" in routeInfo && contentTypes.includes(routeInfo["bundle"]) ) { data.entityBundle = routeInfo.bundle; data.entityTitle = title || `${routeInfo.title} | ${siteName}`; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.entityType = "node"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.entityTaxonomyKeys = {}; data.entityTaxonomyHierarchies = {}; data.parentNaicsCode = {}; data.isPro = false; data.algoliaIndexName = indexName; // Add taxonomy data const taxonomies = { businessTopic: "business_topic", contentType: "content_type", company: "company", marketSegment: "market_segment", }; const getHierarchy = (term, terms = []) => { terms.push({ id: term.id, name: term.name }); if (term.parentTerm != null) { getHierarchy(term.parentTerm, terms); } return terms; }; const getTerms = (term, useApiId = false) => { return { id: useApiId ? term.apiId : term.id, name: term.name }; }; const getKeys = (term) => { return { id: term.id, name: term.apiId }; }; Object.entries(taxonomies).forEach(([key, item]) => { terms = routeInfo[key]; if (terms && terms.length > 0) { data["entityTaxonomy"][item] = terms.map((term) => getTerms(term, key === "company") ); if (key !== "company") { data["entityTaxonomyKeys"][item] = terms.map(getKeys); termGroups = []; terms.forEach((term, termInd) => { termGroups[termInd] = getHierarchy(term); }); data["entityTaxonomyHierarchies"][item] = termGroups; } } }); data["entityTaxonomy"]["tags"] = routeInfo["topics"] || []; // Primary Topic is either the business topic or the top tag. if (routeInfo["businessTopic"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["businessTopic"][0]["name"]; } else { if (routeInfo["topics"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["topics"][0]["name"]; } } // Primary and secondary entityNaicsCodes come from the MarketSegment if (routeInfo.marketSegment?.length > 0) { data.entityNaicsCode = {}; data["entityNaicsCode"]["id"] = routeInfo["marketSegment"][0]["id"]; data["entityNaicsCode"]["name"] = routeInfo["marketSegment"][0]["naicsCode"]; if (routeInfo["marketSegment"][0]["parentTerm"] != null) { data["parentNaicsCode"]["id"] = routeInfo["marketSegment"][0]["parentTerm"]["id"]; data["parentNaicsCode"]["name"] = routeInfo["marketSegment"][0]["parentTerm"]["naicsCode"]; } } else { data.entityNaicsCode = []; } if (routeInfo.taggedPro) { data.isPro = routeInfo.taggedPro; } window.dataLayer.push(data); } else if (routeInfo && "vid" in routeInfo) { data.entityBundle = "tags"; data.entityTitle = routeInfo.name; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.entityType = "taxonomy_term"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.algoliaIndexName = indexName; data["entityTaxonomy"]["tags"] = { id: routeInfo["id"], name: routeInfo["name"], }; window.dataLayer.push(data); } })();