Scheduling tastings
How to build, create, assign, and manage in-store tastings in the Longboard brand console — from Schedule Builder suggestions through the Sampling Schedule lifecycle and bulk imports.
The Sampling Schedule at a glance
Open OPERATIONS in the sidebar, then click Sampling Schedule. This is your operational workspace — it tracks every tasting from approval through completion. The top row gives you Refresh, + New tasting, and Import samplings…, followed by a status strip, a filter toolbar, and the table of tastings.
The status lifecycle runs in this order:
- Pending Approval — just promoted or created; waiting for an approver.
- Unclaimed — approved and open for ambassadors to claim.
- Booked — an ambassador is assigned.
- In Progress — the tasting is happening.
- Awaiting Report / Pending Report — it ended but no report is in yet.
- Completed — done and reported.
Denied and Cancelled are terminal. Closed - No Report means it happened but produced no usable report. Note that Awaiting Report is a computed state (a Booked/In Progress tasting more than an hour past its end time with no report), not a status you set.
### Filtering the list
- Use the Status filter to narrow to one stage (default is All).
- Use Search to match by Store, market, ambassador — it also searches address, city, state, status, authority, and products.
- Set From and To to bound the date range.
The From date defaults to today, which silently hides past-dated tastings. To see history, clear the From field.
Create one tasting manually
- In Sampling Schedule, click + New tasting to open New Sampling Event.
- In Location, start typing to find the store, city, state, or address, then select it.
- Set the Date (defaults to today), Start time (defaults to 13:00), and End time (auto-fills to 120 minutes after start).
- Optionally choose a Sampling level, add an Ambassador (optional), and fill any of Public/customer note, Ambassador instructions, or Internal note.
- Optionally check items under Event products.
- Click Create event.
The event is created at Pending Approval — you can't pick the initial status; the control is hidden and forced. If you select an ambassador inline, the event is created and immediately flipped to Booked. On success you'll see "Manual sampling event created in the Master Schedule."
Assign an ambassador, or leave it open to claim
Every tasting is either assigned to a specific ambassador (it becomes Booked) or left open for ambassadors to claim (Unclaimed). To assign or change the rep:
- Click a tasting row to open its detail panel.
- In the Ambassador card, click Assign ambassador (or Reassign).
- Pick a rep from the roster panel — reps are ranked by coverage, with in-radius ambassadors first.
On assignment you'll see "Ambassador assigned." and the event flips to Booked. To open it back up for claiming, click Remove assignment — the event returns to Unclaimed.
Only Unclaimed or Booked events can be assigned. The rep must be an active Brand Ambassador with no overlapping tasting, or the assign is rejected.
Edit, cancel, or duplicate a tasting
Click a row to open the detail panel, then use the action bar and cards:
- Edit date/time: change Date, Start, or End in the Date & time card — edits autosave on change.
- Approve: when status is Pending Approval, click Approve event to move it to Unclaimed.
- Cancel: click Cancel event, then choose a required Cancellation reason in the "Cancel this tasting?" dialog and confirm. The reason is internal only; the assigned ambassador is notified and this can't be undone.
- Restore: a Cancelled event shows Restore event, which returns it to Pending Approval.
A tasting that is In Progress or already completed can't be cancelled — the Cancel event button is hidden for those states.
Note: the Duplicate button is not yet functional. It shows "Duplicate event — wiring next." — don't rely on it.
Build a schedule across locations and dates
Use Schedule Builder to generate suggested slots in bulk, then promote the ones you want.
- Open OPERATIONS, then click Schedule Builder.
- In the Scope rail, choose a targeting mode: All active locations, Chain everywhere, Geography, Chain in geography, or Selected locations.
- Fill the mode's controls — pick a Chain, choose a Geography type (State, City, Territory, Region) and check geographies, or search and check Selected locations.
- Set the Date window with the start and end date inputs.
- Under Days of week, click the day chips to include only the weekdays you want (summary reads "Every day" or "{N} day(s)/wk").
- Set Tastings / store — visits per store before repeating within your window.
- Click Generate schedule.
You'll see "Generated {N} suggested slots for {M} location(s)." These are local suggestions only — nothing is booked yet.
### Review and promote suggestions
- Review the cards under Suggested tastings. Each shows the store, date, time, chain, and a status badge (Ready / Suggestion / Selected / Conflict).
- Check the tastings you want, or use Select all. Conflicting rows have a disabled checkbox and an inline reason.
- Click Move selected to schedule in the bottom bar.
Promoted tastings are created in the Sampling Schedule as Pending Approval, and approval requests are auto-created. You'll get a confirmation like "Moved {moved} of {selected} selected tasting(s) to the Master Sampling Schedule as Pending Approval." and the app switches you to the Sampling Schedule. Duplicates already on the schedule are skipped; slots that fell outside a store's booking window are reverted and named in the toast.
### Tune the builder's rules
Click Rules in the Scope rail (or the builder rules link) to open Schedule Builder Settings. Here you set defaults for Timing (start/end times, duration, slot pattern, max suggestions), Distribution (repeat limits per store/market/time, strategy), and Schedule Export (activity, products, default pay rate, gig and expense details).
Bulk-import a schedule (Smart Import)
To load many tastings from a spreadsheet, click Import samplings… on the Sampling Schedule (this is BRAND SETTINGS › Imports, the Smart Import wizard). It runs four steps: Source, Map & preview, Review, Commit.
- Source: drag in a .csv or .xlsx file (up to 1,000 rows), or choose Build from scratch. Use Download template to get the correct column headers.
- Map & preview: confirm the auto-matched fields on the left. Required fields are Location / Store, City, State, Date, Start Time, End Time, and Products; Sampling Level, Assigned Ambassador, Public Notes, and BA Instructions are optional. For any reference field you can map a file column or Pick from Longboard to apply one value to the whole batch, and use Edit on a row to override it.
- Review: a server dry-run reports Rows in file, Will import, and Have errors. If some rows error, choose Import valid rows only or Fix errors first.
- Commit: click Import {N} sampling(s). When done you'll see "Import complete" with Created, Claimed, and Skipped (errors) counts.
Status is derived, not chosen: a row with a matched ambassador imports as Booked; a blank one imports as Unclaimed. Every location must already exist in Longboard — import locations first.
Who can do this
- Admin / Owner — full access: build, promote, create, assign, edit, cancel, change status, and run Smart Import. See and act on every tasting.
- Regional / Territory Managers — full scheduling write, but scoped. With an active coverage filter, they can only manage, assign, and cancel tastings inside their assigned scope; outside it they'll hit "You do not have schedule access for one or more selected events." They cannot run Smart Import.
- Viewer — read-only. Can open both workspaces and see everything, but every action (generate-and-promote, create, assign, status change, edits) is server-rejected with a permission error. The write buttons are not hidden, so clicking one just fails.
- Promotion and manual create both land tastings at Pending Approval and auto-create approval requests — nothing is claimable until an approver (or an admin's Approve event) moves it to Unclaimed.
- The Sampling Schedule From date defaults to today and hides past tastings; clear it to see history.
- The initial status on + New tasting isn't selectable — it's forced to Pending Approval. Choosing an ambassador inline is the only way to create a tasting as Booked.
- Booking-window restrictions are enforced in three places: builder suggestions, promotion, and manual/import commit. A store with no windows configured is bookable anytime.
- There are two different importers: the Source schedule workbook slot inside Schedule Builder Settings seeds the builder's working data, while Smart Import (Import samplings…) is the real bulk booking importer. Don't confuse them.
- The Duplicate button in the event detail is a non-working stub.
- Only the first 160 filtered rows render in the Sampling Schedule table, and Schedule Builder caps suggestions (default 100) — narrow your scope or filters if you expect more.
- "Generate schedule" does nothing / shows a toast
- you likely haven't finished targeting. Messages like "Select a chain to target schedule generation.", "Select at least one state/city/territory/region…", or "Select one or more locations…" mean the scope is incomplete. "Check the date range." means the start/end dates are missing or reversed.
- "No active stores match the selected build target."
- your scope resolved to zero active locations. Widen the scope or confirm the locations are active.
- "Move selected to schedule" is greyed out
- no rows are checked. Select at least one suggestion.
- Some rows didn't promote
- the toast will say duplicates were skipped or rows fell outside the store's booking window. Booking windows may have tightened after you generated; adjust the times or the store's windows.
- Can't assign an ambassador
- assignment only works on Unclaimed or Booked events. You'll also be blocked if the rep isn't an active Brand Ambassador ("Selected ambassador is not active for work.") or has an overlapping tasting.
- Can't cancel a tasting
- "A tasting that is in progress or already completed can't be cancelled." These states are terminal for cancellation.
- A manual event won't create
- check the inline red banner. "Select a location first.", "Date, start time, and end time are required.", or "End time must be after start time." point to the fix. Out-of-window slots are hard-blocked with the store's window reason.
- Smart Import rows error out
- "No existing location matches '{name}' ({city}, {state}). Import locations first." means the location doesn't exist yet. "A claimed sampling needs an ambassador_email." or "No ambassador found for claimed sampling: {email}." mean the ambassador column is missing or unknown. Re-running a file is safe — duplicates report as row errors instead of double-creating.
- A past tasting is missing from the list
- clear the From date; it defaults to today.
Longboard Handbook