{"id":"inn-and-table","type":"soulcraft","role":"primary","status":"draft","name":"The Inn & Table","description":"Full-service inn with a bar and dining room. Guest rooms, a working bar, and a chef-led table under one roof — bookable tastings, cocktail classes, and private dining alongside nightly bar and restaurant service.","longDescription":"A turnkey platform for a full-service inn — a small hotel built around a real bar and a real dining room, not just a place to sleep. Manages bookable guest experiences (chef's tasting menu, cocktail class, private dining), staff across front desk, kitchen, and bar, inventory for both the kitchen and the bar, gift cards, loyalty, and a public website that sells the whole house: rooms, bar, and table together.","version":"0.1.5","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🛎️","tags":["inn","hospitality","lodging","bar","restaurant","dining","tasting-menu"],"variables":[{"key":"businessName","label":"Business Name","description":"The name of your inn (e.g. \"The Inn & Table\")","type":"string","required":true,"example":"The Inn & Table","default":"The Inn & Table"},{"key":"tagline","label":"Tagline","description":"A short phrase shown under the logo (e.g. \"rooms, a bar, and a table worth staying for\")","type":"string","required":false,"example":"rooms, a bar, and a table worth staying for","default":"rooms, a bar, and a table worth staying for"},{"key":"locationName","label":"Location Name","description":"The display name for this specific location (e.g. \"The Inn & Table on Mill Street\")","type":"string","required":true,"example":"The Inn & Table on Mill Street"},{"key":"locationSlug","label":"Location URL Slug","description":"URL-safe identifier for this location used in booking links (e.g. \"mill-street\")","type":"string","required":true,"example":"mill-street"},{"key":"address","label":"Street Address","description":"Street address of the inn","type":"address","required":true,"example":"18 Mill Street"},{"key":"city","label":"City","description":"City where the inn is located","type":"string","required":true,"example":"Hudson"},{"key":"state","label":"State / Province","description":"Two-letter state or province code","type":"string","required":true,"example":"NY"},{"key":"zip","label":"ZIP / Postal Code","type":"string","required":true,"example":"12534"},{"key":"timezone","label":"Timezone","description":"IANA timezone for this location (used for scheduling)","type":"timezone","required":true,"example":"America/New_York","default":"America/New_York"},{"key":"phone","label":"Phone Number","type":"phone","required":false,"example":"(518) 555-0142"},{"key":"email","label":"Contact Email","type":"email","required":true,"example":"stay@innandtable.com"},{"key":"roomCount","label":"Number of Guest Rooms","description":"How many guest rooms the inn has (shown on the About and Visit pages)","type":"number","required":false,"example":"12","default":"12"},{"key":"innkeeperName","label":"Innkeeper / General Manager Name","description":"Name of the innkeeper or general manager (shown on the About page)","type":"string","required":false,"example":"Rosalind Carver"}],"shared":{"industry":"hospitality","category":"hospitality","glossary":{"cover":"A single seated guest at the table — used to measure dining room capacity and turnover rate, same meaning at the bar for a seated pour","turn":"The number of times a table or bar seat is filled and cleared during one service period","86'd":"An item or room no longer available for the current service or night, either sold out or pulled","comp":"A room night, drink, or dish given at no charge, typically for guest recovery or a staff meal","rack rate":"The standard, undiscounted nightly rate for a guest room before any package or seasonal adjustment","tasting menu":"A fixed, multi-course meal the kitchen sets for the night rather than an à la carte order","well pour":"A cocktail made with the bar's standard house spirits rather than a named, call-brand spirit","turndown":"The evening housekeeping visit that resets a guest room for the night — fresh linens, lights low"},"aiExpertise":["innkeeping and small-hotel front-of-house operations","bar and dining room service flow and table/seat turns","tasting-menu and cocktail-class curriculum design","kitchen and bar inventory, food cost, and pour cost","guest relations across a multi-day stay, not just a single visit"],"dataModelHints":["booking","experience","time_slot","staff","customer","inventory_item","loyalty_account","transaction"],"dataModel":{"entities":[{"domain":"location","type":"Location","description":"The inn itself — one physical property with guest rooms, a bar, and a dining room under one roof.","products":{"workshop":{"view":"graph","icon":"📍"},"venue":{"mapsTo":"LocationMeta","pos":false}}},{"domain":"booking","type":"Event","description":"A guest reservation for the chef's tasting menu, a cocktail class, or a private dining buyout.","products":{"workshop":{"view":"board","icon":"📅"},"venue":{"mapsTo":"BookingMeta","pos":true},"academy":{"mapsTo":"practice-session","assessable":true}}},{"domain":"time_slot","type":"Event","description":"An available seating for a bookable experience, tied to dining room or bar capacity.","products":{"workshop":{"view":"timeline","icon":"🕐"},"venue":{"mapsTo":"TimeSlotMeta","pos":false}}},{"domain":"experience","type":"Product","description":"A bookable format — Chef's Tasting Menu, Cocktail Class, or Private Dining — each with its own pricing and flow.","products":{"workshop":{"view":"gallery","icon":"🍽️"},"venue":{"mapsTo":"ExperienceMeta","pos":true},"academy":{"mapsTo":"skill-unit","assessable":true}}},{"domain":"customer","type":"Person","description":"A guest — a diner, a bar guest, or someone staying the night — with visit history and preferences.","products":{"workshop":{"view":"board","icon":"👤"},"venue":{"mapsTo":"CustomerMeta","pos":false},"academy":{"mapsTo":"learner","assessable":false}}},{"domain":"staff","type":"Person","description":"A team member — innkeeper, executive chef, line cook, server, bartender, front desk, or housekeeping.","products":{"workshop":{"view":"board","icon":"🛎️"},"venue":{"mapsTo":"StaffMeta","pos":false},"academy":{"mapsTo":"instructor","assessable":false}}},{"domain":"inventory_item","type":"Thing","description":"A kitchen ingredient, bar spirit or pour, or guest-room amenity tracked for usage, waste, and reorder.","products":{"workshop":{"view":"graph","icon":"📦"},"venue":{"mapsTo":"InventoryItemMeta","pos":false},"academy":{"mapsTo":"material","assessable":false}}},{"domain":"gift_card","type":"Thing","description":"A digital or physical gift card redeemable toward any bookable experience or, once purchased, the bar and table generally.","products":{"workshop":{"view":"board","icon":"🎁"},"venue":{"mapsTo":"GiftCardMeta","pos":true}}},{"domain":"loyalty_account","type":"Person","description":"A repeat guest's loyalty account tracking visits and spend, with tier rewards for regulars.","products":{"workshop":{"view":"stats","icon":"⭐"},"venue":{"mapsTo":"LoyaltyAccountMeta","pos":false}}},{"domain":"transaction","type":"Measurement","description":"A revenue or refund record for a booking, bar tab, or dining check, always stored in cents.","products":{"workshop":{"view":"timeline","icon":"💳"},"venue":{"mapsTo":"TransactionMeta","pos":false}}},{"domain":"content_page","type":"Document","description":"A CMS-managed page such as the Menu, Visit, About, or Private Dining page.","products":{"workshop":{"view":"board","icon":"📄"},"venue":{"mapsTo":"ContentPageMeta","pos":false},"academy":{"mapsTo":"learning-resource","assessable":false}}},{"domain":"blog_post","type":"Document","description":"A published post featuring seasonal menus, the wine and spirits program, or events at the inn.","products":{"workshop":{"view":"board","icon":"✍️"},"venue":{"mapsTo":"BlogPostMeta","pos":false},"academy":{"mapsTo":"learning-resource","assessable":false}}}],"relationships":[{"from":"customer","to":"booking","verb":"Creates","description":"Guest reserves the tasting menu, a cocktail class seat, or a private dining buyout."},{"from":"booking","to":"experience","verb":"Contains","description":"Reservation is for a specific bookable format (tasting menu, cocktail class, private dining)."},{"from":"booking","to":"time_slot","verb":"ParticipatesIn","description":"Reservation occupies a specific seating in the dining room or at the bar."},{"from":"experience","to":"time_slot","verb":"OccursAt","description":"A bookable format is available at scheduled seatings."},{"from":"experience","to":"inventory_item","verb":"Consumes","description":"Each bookable format consumes kitchen and bar ingredients, driving food/pour cost and reorder planning.","products":{"venue":{"triggers":"inventoryDeduction"}}},{"from":"staff","to":"time_slot","verb":"ParticipatesIn","description":"A chef, server, or bartender is assigned to a scheduled seating."},{"from":"transaction","to":"booking","verb":"References","description":"Payment or refund record links back to the reservation."}]},"suggestions":[{"label":"Tonight's covers","prompt":"Show me tonight's covers across the dining room and bar — where are the bottlenecks?"},{"label":"Tasting menu food cost","prompt":"Break down food cost for this month's chef's tasting menu and where the margin is thin"},{"label":"Private dining pipeline","prompt":"Show me all upcoming private dining inquiries with headcount and requested dates"},{"label":"Bar and kitchen inventory","prompt":"Which bar or kitchen items are running low and need to be reordered before the weekend?"}]},"workshop":{"aiPersona":{"role":"You are the AI assistant for a full-service inn — a small hotel built around a real bar and dining room. You help the innkeeper, chefs, and front-of-house staff manage bookings, the tasting menu, cocktail classes, private dining, and the guest experience across a stay, not just a single visit. You understand both hospitality operations (front desk, housekeeping, guest relations) and food-and-beverage operations (menu engineering, pour cost, service flow).","expertise":["innkeeping and small-hotel guest relations","tasting-menu engineering and food/pour costing","bar and dining room service flow and seating turns","cocktail class and private dining event coordination","kitchen and bar inventory and sourcing"],"tone":"collaborator"},"graphGuidance":{"conceptCreation":{"triggers":["reservation or booking mentioned","tasting menu, cocktail, or dish introduced","chef, bartender, server, or front desk staff referenced","ingredient, spirit, or pour mentioned","returning guest or regular discussed"],"typeMapping":{"reservation":"event","booking":"event","seating":"event","chef":"person","bartender":"person","server":"person","front desk":"person","guest":"person","customer":"person","ingredient":"thing","spirit":"thing","dish":"thing","experience":"product","transaction":"measurement"}},"relationshipPatterns":[{"from":"customer","to":"booking","verb":"Creates","description":"Guest reserves the tasting menu, a cocktail class, or private dining"},{"from":"staff","to":"booking","verb":"ParticipatesIn","description":"Chef, server, or bartender works the guest's reservation"},{"from":"booking","to":"experience","verb":"Contains","description":"Reservation is for a specific bookable format"},{"from":"experience","to":"inventory_item","verb":"Consumes","description":"Each format consumes kitchen and bar ingredients tracked for cost and reorder"}],"rules":["Private dining inquiries require a confirmed headcount and deposit before conversion to a booking","Cocktail class and tasting menu experiences record dietary notes and allergies at booking time","Bar and kitchen inventory should track par levels and trigger reorder alerts at threshold"]},"workspaceConfig":{"paradigm":"analyst","defaultTab":"explore","defaultView":"board"},"qualityGates":{"projectChecks":["Every bookable experience has an accurate price, duration, and guest range","Each service period has configured seating capacity and time slots","Bar and kitchen inventory par levels and reorder thresholds are set for all categories"]},"remoteWorkspace":{"connectedWorkbenches":[{"name":"Reservation Board","view":"board","entityTypes":["booking","time_slot"],"description":"Tonight's reservations across the tasting menu, cocktail class, and private dining"},{"name":"Guest Directory","view":"gallery","entityTypes":["customer"],"description":"Guest profiles with visit history, preferences, and dietary notes"},{"name":"Revenue by Format","view":"stats","entityTypes":["transaction"],"description":"Revenue breakdown across tasting menu, cocktail class, private dining, and the bar"},{"name":"Staff Schedule","view":"board","entityTypes":["staff","time_slot"],"description":"Front-of-house, kitchen, and bar shifts across upcoming seatings"},{"name":"Kitchen & Bar Inventory","view":"tree","entityTypes":["inventory_item"],"description":"Ingredients and pours organized by category with usage and stock levels"}]}},"academy":{"skillPath":"hospitality-fundamentals","level":"beginner","learningObjectives":["Front-of-house service standards across the front desk, dining room, and bar","Tasting-menu structure — course pacing, wine and cocktail pairing, and guest pacing","Bar fundamentals — pour cost, classic cocktail technique, and responsible service","Food safety fundamentals — temperature control, cross-contamination, allergen management","Guest recovery and hospitality recovery across a multi-day stay"],"assessmentTypes":["hands-on"],"mode":"apprenticeship","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"direct","encouragementLevel":"challenging","flashcardsEnabled":false},"certification":{"requiresHumanCertifier":true,"aiCertifierAllowed":false,"lineageEnabled":true,"minimumLineageDepth":2,"certificationSlug":"hospitality-fundamentals"},"gamification":{"enabled":true,"achievements":["chain-maker","deep-thinker","bridge-builder"],"streaks":false,"leaderboard":false},"cohort":{"maxSize":6,"durationDays":90,"fixedStart":false}},"venue":{"bookingNumberPrefix":"IT","subdomainPrefix":"inn","features":{"animals":false,"adoption":false,"memories":false,"loyalty":true,"giftCards":true,"waivers":false,"blog":true,"pos":true,"cms":true,"partners":false,"franchise":true,"customerAccounts":true,"analytics":true,"subscriptions":false,"support":false,"website":true},"theme":{"primary":"oklch(0.42 0.09 40)","bgBase":"oklch(0.96 0.015 70)","accent":"oklch(0.46 0.14 25)","textPrimary":"oklch(0.22 0.03 45)","displayFont":"Fraunces","bodyFont":"Inter"},"experienceTypes":[{"slug":"chefs-tasting-menu","name":"Chef's Tasting Menu","description":"A multi-course, seasonal tasting menu in the dining room, set by the kitchen each night. Wine pairing available.","priceInCents":8500,"durationMinutes":150,"minGuests":2,"maxGuests":8,"requiresWaiver":false,"isCombo":false,"sortOrder":0,"color":"oklch(0.55 0.10 40)","sessionAttributeDefinitions":[{"key":"courseCount","label":"Course Count","type":"select","perGuest":false,"options":["5 courses","7 courses"],"required":false},{"key":"winePairingAdded","label":"Wine Pairing Added","type":"select","perGuest":false,"options":["Yes","No"],"required":false},{"key":"dietaryNotes","label":"Dietary Notes","type":"text","perGuest":false,"required":false},{"key":"specialOccasion","label":"Special Occasion","type":"text","perGuest":false,"required":false}]},{"slug":"cocktail-class","name":"Cocktail Class","description":"A hands-on mixology class at the bar. Make and taste four classic cocktails, guided by the bar team.","priceInCents":6500,"durationMinutes":90,"minGuests":1,"maxGuests":12,"requiresWaiver":false,"isCombo":false,"sortOrder":1,"color":"oklch(0.46 0.14 25)","sessionAttributeDefinitions":[{"key":"cocktailsMade","label":"Cocktails Made","type":"text","perGuest":false,"required":false},{"key":"skillLevel","label":"Skill Level","type":"select","perGuest":false,"options":["First timer","Some experience","Home bartender"],"required":false}]},{"slug":"private-dining","name":"Private Dining","description":"Exclusive use of the dining room with a custom menu built around your group. Ideal for celebrations, corporate dinners, and rehearsal dinners.","priceInCents":15000,"durationMinutes":180,"minGuests":8,"maxGuests":30,"requiresWaiver":false,"isCombo":false,"sortOrder":2,"color":"oklch(0.36 0.07 48)","bookingMode":"inquiry","blocksVenue":true,"pricingTiers":[{"minGuests":8,"maxGuests":14,"pricePerPersonInCents":15000},{"minGuests":15,"maxGuests":22,"pricePerPersonInCents":13000},{"minGuests":23,"maxGuests":30,"pricePerPersonInCents":11000}],"sessionAttributeDefinitions":[{"key":"eventType","label":"Event Type","type":"text","perGuest":false,"required":true},{"key":"menuSelection","label":"Menu Selection","type":"text","perGuest":false,"required":false},{"key":"dietaryRequirements","label":"Dietary Requirements","type":"text","perGuest":false,"required":false},{"key":"serviceNotes","label":"Service Notes","type":"text","perGuest":false,"required":false}]},{"slug":"cabin-room","name":"The Cabin Room","description":"A cozy ground-floor room with a wood-burning stove and a queen bed — the room guests ask for by name once they've stayed in it once.","priceInCents":17900,"durationMinutes":60,"minGuests":1,"maxGuests":2,"requiresWaiver":false,"isCombo":false,"sortOrder":3,"color":"oklch(0.62 0.06 60)","sessionAttributeDefinitions":[{"key":"bedConfiguration","label":"Bed Configuration","type":"text","perGuest":false,"required":false},{"key":"specialRequests","label":"Special Requests","type":"text","perGuest":false,"required":false}],"resourceClaims":[{"kind":"room","seats":1,"units":1}]},{"slug":"loft-room","name":"The Loft Room","description":"A vaulted-ceiling room on the top floor with skylight views over the treeline and a king bed.","priceInCents":22900,"durationMinutes":60,"minGuests":1,"maxGuests":2,"requiresWaiver":false,"isCombo":false,"sortOrder":4,"color":"oklch(0.58 0.07 70)","sessionAttributeDefinitions":[{"key":"bedConfiguration","label":"Bed Configuration","type":"text","perGuest":false,"required":false},{"key":"specialRequests","label":"Special Requests","type":"text","perGuest":false,"required":false}],"resourceClaims":[{"kind":"room","seats":1,"units":1}]},{"slug":"garden-room","name":"The Garden Room","description":"Our largest room, with a private patio onto the herb garden and a pull-out daybed — room enough for a small family.","priceInCents":25900,"durationMinutes":60,"minGuests":1,"maxGuests":3,"requiresWaiver":false,"isCombo":false,"sortOrder":5,"color":"oklch(0.66 0.08 140)","sessionAttributeDefinitions":[{"key":"bedConfiguration","label":"Bed Configuration","type":"text","perGuest":false,"required":false},{"key":"specialRequests","label":"Special Requests","type":"text","perGuest":false,"required":false}],"resourceClaims":[{"kind":"room","seats":1,"units":1}]},{"slug":"dinner-reservation","name":"Dinner at the Table","description":"Reserve your table for dinner service in the dining room. No charge to reserve — order off the current menu when you arrive.","priceInCents":0,"durationMinutes":120,"minGuests":1,"maxGuests":8,"requiresWaiver":false,"isCombo":false,"sortOrder":6,"color":"oklch(0.50 0.08 35)","resourceClaims":[{"kind":"table","seats":1,"units":1}],"sessionAttributeDefinitions":[{"key":"dietaryNotes","label":"Dietary Notes","type":"text","perGuest":false,"required":false},{"key":"specialOccasion","label":"Special Occasion","type":"text","perGuest":false,"required":false}]},{"slug":"jeep-trail-adventure","name":"Jeep Trail Adventure","description":"A guided, off-road Jeep outing on the trails behind the inn — three hours of switchbacks, overlooks, and a stop at the ridge for photos.","priceInCents":19900,"durationMinutes":180,"minGuests":1,"maxGuests":4,"requiresWaiver":true,"isCombo":false,"sortOrder":7,"color":"oklch(0.45 0.12 145)","resourceClaims":[{"kind":"jeep","seats":1,"units":1}],"sessionAttributeDefinitions":[{"key":"driverName","label":"Guide Name","type":"text","perGuest":false,"required":false},{"key":"trailCondition","label":"Trail Condition","type":"text","perGuest":false,"required":false}]},{"slug":"stay-and-dine","name":"Stay & Dine","description":"A night in the Loft Room with a guaranteed dinner reservation at the Table — booked together, one price.","priceInCents":27900,"durationMinutes":180,"minGuests":1,"maxGuests":2,"requiresWaiver":false,"isCombo":true,"componentSlugs":["loft-room","dinner-reservation"],"sortOrder":8,"color":"oklch(0.60 0.05 50)"},{"slug":"mountain-weekend","name":"Mountain Weekend","description":"A night in the Loft Room, dinner at the Table, and a Jeep Trail Adventure — the full weekend, bundled.","priceInCents":45900,"durationMinutes":360,"minGuests":1,"maxGuests":2,"requiresWaiver":true,"isCombo":true,"componentSlugs":["loft-room","dinner-reservation","jeep-trail-adventure"],"sortOrder":9,"color":"oklch(0.42 0.10 155)"}],"inventoryCategories":[{"id":"bar-spirits-wine","label":"Bar: Spirits, Wine & Beer","icon":"🍷"},{"id":"kitchen-proteins-produce","label":"Kitchen: Proteins & Produce","icon":"🥩"},{"id":"pantry-dry-goods","label":"Pantry & Dry Goods","icon":"🫙"},{"id":"glassware-bar-supplies","label":"Glassware & Bar Supplies","icon":"🥃"},{"id":"guest-amenities-linens","label":"Guest Amenities & Linens","icon":"🛏️"}],"staffRoles":[{"id":"innkeeper","label":"Innkeeper / General Manager","defaultCapabilities":["checkin","pos","bookings-view","inventory-view","inventory-edit","session-log"]},{"id":"executive-chef","label":"Executive Chef","defaultCapabilities":["session-log","inventory-view","inventory-edit"]},{"id":"line-cook","label":"Line Cook","defaultCapabilities":["session-log","inventory-view"]},{"id":"server","label":"Server","defaultCapabilities":["checkin","pos","session-log"]},{"id":"bartender","label":"Bartender","defaultCapabilities":["pos","session-log","inventory-view"]},{"id":"front-desk","label":"Front Desk","defaultCapabilities":["checkin","bookings-view","session-log"]},{"id":"housekeeping","label":"Housekeeping","defaultCapabilities":["session-log"]}],"chatSuggestions":[{"label":"Book the tasting menu","message":"I'd like to reserve the chef's tasting menu. What dates are available?","emoji":"🍽️"},{"label":"Cocktail class","message":"Tell me about the cocktail class — what will we make, and can I book for a group?","emoji":"🍸"},{"label":"Private dining","message":"I'm interested in a private dining buyout for a celebration. What are my options?","emoji":"🥂"},{"label":"Gift cards","message":"I'd like to purchase a gift card. What denominations do you offer?","emoji":"🎁"}],"inventoryLevelDetection":"manual","terminology":{"host":{"singular":"host","plural":"hosts"},"space":{"singular":"room","plural":"rooms"}},"fees":{"billingModel":"per-transaction","feeMode":"all-channels"},"navigation":{"sections":[{"id":"front-of-house","label":"Front of House","stationIds":["dashboard","checkin","checks","kitchen","menu","pos","schedule"]}]},"seedData":{"seed":true,"demo":true},"resources":[{"kind":"jeep","label":"Jeep","pluralLabel":"Jeeps","icon":"🚙","emptyStateLabel":"Available","columnNaming":"resource","capacityPerUnit":1,"timeUnitMinutes":"session","binding":"place","count":2,"namePattern":"Jeep {n}","description":"An off-road-ready Jeep for guided trail adventures."},{"kind":"table","label":"Table","pluralLabel":"Tables","icon":"🍽️","emptyStateLabel":"Open — walk-in","columnNaming":"resource","capacityPerUnit":1,"timeUnitMinutes":"session","binding":"place","count":8,"namePattern":"Table {n}","description":"A dining-room table for a seated reservation."}]}}