Upgrade GBP snapshot form to v1.1 — Services, Posts status, Claim prompt, Messaging button, refined Q&A and ownership fields for full consistency with intake template and execution card
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>DOP — GBP Snapshot Intake</title>
|
<title>DOP — GBP Snapshot Intake v1.1</title>
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
--bg: #0f1419;
|
--bg: #0f1419;
|
||||||
@@ -141,8 +141,8 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<h1>DOP — GBP Snapshot Intake</h1>
|
<h1>DOP — GBP Snapshot Intake v1.1</h1>
|
||||||
<p class="sub">General-purpose cold audit form. Fill once per client. Generate text → copy/paste to Leonard. Uses execution card rules only.</p>
|
<p class="sub">Improved cold-audit form. Fill once per client → Generate → paste to Leonard. Follows execution card rules only.</p>
|
||||||
|
|
||||||
<form id="gbpForm" autocomplete="off">
|
<form id="gbpForm" autocomplete="off">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="primary_category">Primary category</label>
|
<label for="primary_category">Primary category</label>
|
||||||
<input id="primary_category" type="text" />
|
<input id="primary_category" type="text" placeholder="Copy exactly as shown" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="additional_categories">Additional categories</label>
|
<label for="additional_categories">Additional categories</label>
|
||||||
@@ -217,13 +217,17 @@
|
|||||||
<input id="review_count" type="text" placeholder="e.g. 42" />
|
<input id="review_count" type="text" placeholder="e.g. 42" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="review_responses">Review response behavior observed</label>
|
<label for="review_responses">Review responses observed</label>
|
||||||
<select id="review_responses">
|
<select id="review_responses">
|
||||||
<option value="Unknown">Unknown</option>
|
<option value="Unknown">Unknown</option>
|
||||||
<option value="Yes">Yes</option>
|
<option value="Yes">Yes</option>
|
||||||
<option value="No">No</option>
|
<option value="No">No</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="review_responses_detail">Approx how many / how recent (optional)</label>
|
||||||
|
<input id="review_responses_detail" type="text" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -231,7 +235,15 @@
|
|||||||
<h2>Ownership / Claim Signals</h2>
|
<h2>Ownership / Claim Signals</h2>
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div>
|
<div>
|
||||||
<label for="claimed">Claimed or “Own this business” visible</label>
|
<label for="claim_prompt">“Own this business?” prompt visible</label>
|
||||||
|
<select id="claim_prompt">
|
||||||
|
<option value="Unknown">Unknown</option>
|
||||||
|
<option value="Yes">Yes</option>
|
||||||
|
<option value="No">No</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="claimed">Claimed status (your best judgment)</label>
|
||||||
<select id="claimed">
|
<select id="claimed">
|
||||||
<option value="Unknown">Unknown</option>
|
<option value="Unknown">Unknown</option>
|
||||||
<option value="Yes">Yes</option>
|
<option value="Yes">Yes</option>
|
||||||
@@ -278,7 +290,7 @@
|
|||||||
<h2>Conversion</h2>
|
<h2>Conversion</h2>
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div>
|
<div>
|
||||||
<label for="booking_button">Booking / appointment button present</label>
|
<label for="booking_button">Booking button present <strong>on the GBP</strong> (not the website)</label>
|
||||||
<select id="booking_button">
|
<select id="booking_button">
|
||||||
<option value="Unknown">Unknown</option>
|
<option value="Unknown">Unknown</option>
|
||||||
<option value="Yes">Yes</option>
|
<option value="Yes">Yes</option>
|
||||||
@@ -289,6 +301,14 @@
|
|||||||
<label for="booking_label">Booking button label (if any)</label>
|
<label for="booking_label">Booking button label (if any)</label>
|
||||||
<input id="booking_label" type="text" />
|
<input id="booking_label" type="text" />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="messaging_button">Messaging button present</label>
|
||||||
|
<select id="messaging_button">
|
||||||
|
<option value="Unknown">Unknown</option>
|
||||||
|
<option value="Yes">Yes</option>
|
||||||
|
<option value="No">No</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="full">
|
<div class="full">
|
||||||
<label for="other_buttons">Other action buttons observed</label>
|
<label for="other_buttons">Other action buttons observed</label>
|
||||||
<input id="other_buttons" type="text" />
|
<input id="other_buttons" type="text" />
|
||||||
@@ -310,22 +330,34 @@
|
|||||||
<label for="photo_count">Approx photo count</label>
|
<label for="photo_count">Approx photo count</label>
|
||||||
<input id="photo_count" type="text" />
|
<input id="photo_count" type="text" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="full">
|
||||||
|
<label for="services">Services listed</label>
|
||||||
|
<input id="services" type="text" placeholder="e.g. strength training only" />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="posts_visible">Posts visible</label>
|
<label for="posts_status">Updates / Posts status</label>
|
||||||
<select id="posts_visible">
|
<select id="posts_status">
|
||||||
<option value="Unknown">Unknown</option>
|
<option value="Not visible">Not visible</option>
|
||||||
<option value="Yes">Yes</option>
|
<option value="Present but empty">Present but empty</option>
|
||||||
<option value="No">No</option>
|
<option value="Present with content">Present with content</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="qa_visible">Q&A visible</label>
|
<label for="recent_post">Most recent post date (approx, optional)</label>
|
||||||
<select id="qa_visible">
|
<input id="recent_post" type="text" />
|
||||||
<option value="Unknown">Unknown</option>
|
</div>
|
||||||
<option value="Yes">Yes</option>
|
<div>
|
||||||
<option value="No">No</option>
|
<label for="qa_status">Q&A status</label>
|
||||||
|
<select id="qa_status">
|
||||||
|
<option value="Not visible">Not visible</option>
|
||||||
|
<option value="Visible but empty">Visible but empty</option>
|
||||||
|
<option value="Visible + has answers">Visible + has answers</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="full">
|
||||||
|
<label for="attributes">Attributes / highlights visible (optional)</label>
|
||||||
|
<input id="attributes" type="text" placeholder="e.g. women-owned, LGBTQ-friendly" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -389,13 +421,12 @@
|
|||||||
|
|
||||||
function buildOutput() {
|
function buildOutput() {
|
||||||
return `Follow docs/agents/leonard-gbp-execution-card.md exactly.
|
return `Follow docs/agents/leonard-gbp-execution-card.md exactly.
|
||||||
Map this intake into the client Data Inventory GMB row.
|
Map this intake into the client Data Inventory GBP row.
|
||||||
Apply only threat trigger rules R1–R3.
|
Apply only threat trigger rules R1–R3.
|
||||||
Do not invent fields. Do not add solutions. Do not reason beyond the execution card.
|
Do not invent fields. Do not add solutions. Do not reason beyond the execution card.
|
||||||
Return: updated GMB section, any threat changes, Changes Made list, Rules Fired list.
|
Return: updated GBP section, any threat changes, Changes Made list, Rules Fired list.
|
||||||
|
|
||||||
--- GBP SNAPSHOT INTAKE ---
|
--- GBP SNAPSHOT INTAKE ---
|
||||||
|
|
||||||
CLIENT: ${val("client")}
|
CLIENT: ${val("client")}
|
||||||
SNAPSHOT_DATE: ${val("snapshot_date")}
|
SNAPSHOT_DATE: ${val("snapshot_date")}
|
||||||
SOURCE: ${val("source")}
|
SOURCE: ${val("source")}
|
||||||
@@ -412,22 +443,28 @@ ADDITIONAL_CATEGORIES: ${val("additional_categories")}
|
|||||||
STAR_RATING: ${val("star_rating")}
|
STAR_RATING: ${val("star_rating")}
|
||||||
REVIEW_COUNT: ${val("review_count")}
|
REVIEW_COUNT: ${val("review_count")}
|
||||||
REVIEW_RESPONSES_OBSERVED: ${val("review_responses")}
|
REVIEW_RESPONSES_OBSERVED: ${val("review_responses")}
|
||||||
|
REVIEW_RESPONSES_DETAIL: ${val("review_responses_detail")}
|
||||||
|
|
||||||
CLAIMED_VISIBLE: ${val("claimed")}
|
CLAIM_PROMPT_VISIBLE: ${val("claim_prompt")}
|
||||||
|
CLAIMED_STATUS: ${val("claimed")}
|
||||||
VERIFIED_BADGE_VISIBLE: ${val("verified")}
|
VERIFIED_BADGE_VISIBLE: ${val("verified")}
|
||||||
|
|
||||||
HOURS_LISTED: ${val("hours_listed")}
|
HOURS_LISTED: ${val("hours_listed")}
|
||||||
HOURS_TEXT: ${val("hours_text")}
|
HOURS_TEXT: ${val("hours_text")}
|
||||||
OPEN_NOW_OBSERVED: ${val("open_now")}
|
OPEN_NOW_OBSERVED: ${val("open_now")}
|
||||||
|
|
||||||
BOOKING_BUTTON_PRESENT: ${val("booking_button")}
|
BOOKING_BUTTON_PRESENT_ON_GBP: ${val("booking_button")}
|
||||||
BOOKING_BUTTON_LABEL: ${val("booking_label")}
|
BOOKING_BUTTON_LABEL: ${val("booking_label")}
|
||||||
|
MESSAGING_BUTTON_PRESENT: ${val("messaging_button")}
|
||||||
OTHER_ACTION_BUTTONS: ${val("other_buttons")}
|
OTHER_ACTION_BUTTONS: ${val("other_buttons")}
|
||||||
|
|
||||||
PHOTOS_PRESENT: ${val("photos_present")}
|
PHOTOS_PRESENT: ${val("photos_present")}
|
||||||
PHOTO_COUNT_APPROX: ${val("photo_count")}
|
PHOTO_COUNT_APPROX: ${val("photo_count")}
|
||||||
POSTS_VISIBLE: ${val("posts_visible")}
|
SERVICES_LISTED: ${val("services")}
|
||||||
QA_VISIBLE: ${val("qa_visible")}
|
UPDATES_POSTS_STATUS: ${val("posts_status")}
|
||||||
|
MOST_RECENT_POST_DATE: ${val("recent_post")}
|
||||||
|
QA_STATUS: ${val("qa_status")}
|
||||||
|
ATTRIBUTES_HIGHLIGHTS: ${val("attributes")}
|
||||||
|
|
||||||
SECOND_LISTING_NEARBY: ${val("second_listing")}
|
SECOND_LISTING_NEARBY: ${val("second_listing")}
|
||||||
SECOND_LISTING_NAMES: ${val("second_listing_names")}
|
SECOND_LISTING_NAMES: ${val("second_listing_names")}
|
||||||
@@ -439,7 +476,9 @@ RAW_NOTES: ${val("raw_notes")}
|
|||||||
|
|
||||||
function setStatus(msg) {
|
function setStatus(msg) {
|
||||||
$("status").textContent = msg;
|
$("status").textContent = msg;
|
||||||
if (msg) setTimeout(() => { if ($("status").textContent === msg) $("status").textContent = ""; }, 2500);
|
if (msg) setTimeout(() => {
|
||||||
|
if ($("status").textContent === msg) $("status").textContent = "";
|
||||||
|
}, 2500);
|
||||||
}
|
}
|
||||||
|
|
||||||
$("btnGenerate").addEventListener("click", () => {
|
$("btnGenerate").addEventListener("click", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user