","alternateLabel":null,"teaserImage":{"id":1714,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/WP-Forecasting_teaser.jpg?itok=5kNBH05i","width":100,"alt":null,"height":159},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]},{"title":"Software Helps Bar and Grill Improve Ops While Providing Access to Data","id":3025,"bundle":"article","summary":"Granite City Food and Brewery has implemented a comprehensive ConnectSmart package from QSR Automations that enhances management with kitchen display and table management.","showSummary":null,"url":"/software-helps-bar-and-grill-improve-ops-while-providing-access-data","date":"2013-09-11T00: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":"Kitchen Operations & Management","url":"/kitchen-operations-management"},{"name":"Mobile Devices & Apps","url":"/mobile-devices-apps"},{"name":"Software","url":"/software"},{"name":"Restaurants","url":"/restaurants"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fast Casual Dining","url":"/fast-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"}],"attachedFiles":[]},{"title":"App Offers Rewards for Rating and Check-Ins","id":3026,"bundle":"article","summary":"barHappy has released barHappy 3.0 website and iPhone application. ","showSummary":null,"url":"/app-offers-rewards-rating-and-check-ins","date":"2013-09-11T00: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":"Loyalty","url":"/loyalty"},{"name":"Mobile Devices & Apps","url":"/mobile-devices-apps"},{"name":"Social Networking","url":"/social-networking"},{"name":"Restaurants","url":"/restaurants"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fast Casual Dining","url":"/fast-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"}],"attachedFiles":[]},{"title":"Three Key Considerations When Deploying WiFi In Restaurants","id":3052,"bundle":"whitepaper","url":"/three-key-considerations-when-deploying-wifi-restaurants","date":"2013-09-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},"summary":"With proper planning and knowledge of potential issues, restaurants can successfully and effectively deploy WiFi, providing customers with the access they need and desire to utilize their mobile devices. This white paper from Spartan Computer Services will lay out three key considerations that restaurant owners should review before deploying WiFi.","body":"With proper planning and knowledge of potential issues, restaurants can successfully and effectively deploy WiFi, providing customers with the access they need and desire to utilize their mobile devices. This white paper from Spartan Computer Services will lay out three key considerations that restaurant owners should review before deploying WiFi.
","alternateLabel":null,"teaserImage":{"id":1535,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/Deploying_WiFi_In_Restaurants-SCS_teaser.jpg?itok=FRe9k0gW","width":100,"alt":null,"height":138},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]},{"title":"Vino Volo Wine Bar Rewards Loyal Guests with Mobile App from Punchh","id":3060,"bundle":"article","summary":"Customers can locate any one of Vino Volo's 28 boutiques, earn points to access exclusive benefits, and share wine experiences with friends.","showSummary":null,"url":"/vino-volo-wine-bar-rewards-loyal-guests-mobile-app-punchh","date":"2013-08-26T00: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":"Cloud Computing","url":"/cloud-computing"},{"name":"Loyalty","url":"/loyalty"},{"name":"Mobile Devices & Apps","url":"/mobile-devices-apps"},{"name":"Restaurants","url":"/restaurants"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"}],"attachedFiles":[]},{"title":"Should Your Restaurant Ban Foodstagramming?","id":3061,"bundle":"article","summary":"The case for banning real-time dining photos may be a detriment to the benefits of social engagement and word-of-mouth marketing.","showSummary":null,"url":"/should-your-restaurant-ban-foodstagramming","date":"2013-08-26T00: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":22586,"url":"https://assets1.hospitalitytech.com/styles/secondary_articles_short/s3/FOODSTAGRAM82613.jpg?itok=atKFVX0U","width":216,"height":122,"alt":null},"topics":[{"name":"Customer Relationship Management (CRM)","url":"/customer-relationship-management-crm"},{"name":"Loyalty","url":"/loyalty"},{"name":"Social Networking","url":"/social-networking"},{"name":"Restaurants","url":"/restaurants"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fast Casual Dining","url":"/fast-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"},{"name":"Pizzeria","url":"/pizzeria"},{"name":"Sandwich Shop","url":"/sandwich-shop"},{"name":"Quick Service Restaurant (QSR)","url":"/quick-service-restaurant-qsr"}],"attachedFiles":[]},{"title":"Dallas’ New Restaurant Concept Incubator Opts for Subscription-based POS","id":3069,"bundle":"article","summary":"Trinity Groves in Dallas offers restaurateurs an opportunity to submit and test market new concepts at its 125,000 square foot complex. In an effort to make flexible, affordable technology available to its restaurants, Trinity Groves implemented a subscription-based POS as-a-service (POSaaS) from NCR Aloha.","showSummary":null,"url":"/dallas-new-restaurant-concept-incubator-opts-subscription-based-pos","date":"2013-08-21T00: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":"POS","url":"/pos"},{"name":"Software","url":"/software"},{"name":"Restaurants","url":"/restaurants"},{"name":"Coffee Bar","url":"/coffee-bar"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fast Casual Dining","url":"/fast-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"},{"name":"Juice Bar","url":"/juice-bar"},{"name":"Pizzeria","url":"/pizzeria"},{"name":"Sandwich Shop","url":"/sandwich-shop"},{"name":"Quick Service Restaurant (QSR)","url":"/quick-service-restaurant-qsr"}],"attachedFiles":[]},{"title":"Beyond Price: Technomic Study Identifies Key Value Factors for Restaurants","id":3066,"bundle":"article","summary":"Study confirms consumers still care about value, including low prices. But restaurants can highlight their attributes — from food quality, to family recipes, to nutrition, to speed — to heighten the perception of good value.","showSummary":null,"url":"/beyond-price-technomic-study-identifies-key-value-factors-restaurants","date":"2013-08-21T00: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":"Customer Experience/Service","url":"/customer-experience-service"},{"name":"Menu & Nutritional Analysis","url":"/menu-nutritional-analysis"},{"name":"Speed & Service","url":"/speed-service"},{"name":"Restaurants","url":"/restaurants"},{"name":"Coffee Bar","url":"/coffee-bar"},{"name":"Family Casual Dining","url":"/family-casual-dining"},{"name":"Fast Casual Dining","url":"/fast-casual-dining"},{"name":"Fine Dining","url":"/fine-dining"},{"name":"Juice Bar","url":"/juice-bar"},{"name":"Pizzeria","url":"/pizzeria"},{"name":"Sandwich Shop","url":"/sandwich-shop"},{"name":"Quick Service Restaurant (QSR)","url":"/quick-service-restaurant-qsr"}],"attachedFiles":[]}]},"title":"Fine Dining","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 = "Fine Dining | 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);
}
})();