Overview
โ€”Introduction โ€”Technology Overview โ€”Access & Passwords
Public Website
01Website Overview 02Updating the Website 03Publishing to Netlify
Staff Tools
04Staff Portal 05Event Intelligence Tracker 06Booking Dashboard
Integrations
07Google Sheets Setup 08Zapier Automation 09Google Calendar 10GoDaddy Domain
Reference
11APIs & Automation Explained 12Troubleshooting
Document
13Updating This SOP
๐Ÿ”
No sections found for that search. Try a different keyword.
Internal Document ยท Confidential

Sam's Cab
Standard Operating Procedures

This document covers everything the Sam's Cab team needs to operate the website, staff tools, and connected systems. Keep it updated whenever processes change. One document. One source of truth.

Version1.0
Last UpdatedApril 2025
OwnerMarques โ€” Sam's Cab
ClassificationInternal ยท Staff Only
โ€”
Introduction
About This Document

Sam's Cab is a premium premium shuttle service connecting people to events across the LA and USC corridor. This SOP covers the digital infrastructure that runs the business โ€” the public website, the staff portal, and all connected tools and integrations.

This is a living document. When something changes โ€” a new password, a new process, a new tool โ€” update this file and re-upload it to Netlify so the team always has the current version.

๐Ÿ“Œ
Key Principle
When in doubt, check this document first. If the answer isn't here, update it once you find out so the next person doesn't have to ask.
โ€”
Technology Stack
How the System Is Built

Sam's Cab runs on a collection of tools that work together. Here's a plain-language overview of what each one does and why it's there.

ToolWhat It DoesWho Manages It
NetlifyHosts the public website and all staff pages. Every time you upload HTML files, they go live instantly.Marques
GoDaddyOwns the domain name (e.g. samscab.com). Points it to Netlify. Only touched once during setup.Marques
Google SheetsShared spreadsheet where all booking and venue inquiry data lives. The booking dashboard reads from and writes to this.Marques
ZapierAutomation tool. Watches for new website form submissions and automatically adds them to Google Sheets. No manual data entry needed.Marques
Claude APIThe AI engine behind the Event Intelligence tracker. When staff clicks Search All Sources, it calls Claude in real time to find upcoming events at all venues.Anthropic (automatic)
Google CalendarUsed for confirmed bookings. The dashboard generates a pre-filled calendar link staff can click to add rides and meetings in one tap.Each staff member
โ€”
Credentials
Access & Passwords
โš ๏ธ
Security Note
Update the staff password in this document whenever it changes. Never share passwords via text or email โ€” share this document directly with new staff members instead.
Page / ToolURLAccess Code
Staff Portalsamscab.com/staffsamscab2025
Event Intelligencesamscab.com/eventsSame as above
Booking Dashboardsamscab.com/bookingsSame as above
Netlifyapp.netlify.comMarques's account
Google SheetsVia Google DriveMarques's Google account
Zapierzapier.comMarques's account
GoDaddygodaddy.comMarques's account
01
Public Website
Website Overview

The Sam's Cab public website has four pages, each with a specific purpose. All four are HTML files hosted on Netlify.

PageFilePurpose
Homeindex.htmlLanding page. Tells the story, directs riders and venues to the right place.
Book a Rideriders.htmlRider-facing page with ride options, venues, and the booking form.
Venue Partnersvenues.htmlB2B page for venue managers and event organizers to submit partnership inquiries.
Our Storyabout.htmlSam's story, the brand mission, and the Sam's Gifts tease.
โ„น๏ธ
Note
The staff pages (staff.html, events.html, bookings.html, sop.html) are also hosted on Netlify but are not linked from the public site. They are hidden from Google and only accessible if you know the URL.
02
Public Website
Making Website Changes

For small text changes โ€” contact info, phone numbers, venue names, copy updates โ€” you can edit the HTML files directly using a text editor. For larger design or layout changes, work with your web developer or return to Claude (the AI tool used to build the site).

Small Text Changes (DIY)
1
Open the HTML file
On a laptop, right-click the HTML file โ†’ Open With โ†’ TextEdit (Mac) or Notepad (Windows).
2
Use Find & Replace
Press Cmd+H (Mac) or Ctrl+H (Windows). Type the old text in the Find field, the new text in Replace, and click Replace All.
3
Save the file
Press Cmd+S (Mac) or Ctrl+S (Windows). The file is ready to upload.
4
Upload to Netlify
Follow Section 03 to redeploy. The change goes live in about 10 seconds.
Updating Contact Information

Search for the placeholder values below and replace with real information:

Search ForReplace WithPages
(323) 555 โ€” 0SAMReal phone numberriders.html, venues.html
@SamsCabLAReal Instagram handleriders.html, venues.html
samscab2025New staff passwordstaff.html, events.html, bookings.html
03
Hosting
Publishing to Netlify

Netlify is where the website lives. Every time you make a change to any HTML file, you re-upload it to Netlify and the live site updates within seconds.

How to Redeploy
1
Go to app.netlify.com
Log in with Marques's account and find the Sam's Cab site.
2
Click the Deploys tab
You'll see the deployment history and a drag-and-drop upload area.
3
Drag all HTML files onto the deploy area
Always upload all 8 files together โ€” index.html, riders.html, venues.html, about.html, staff.html, events.html, bookings.html, sop.html. Never upload just one file.
4
Wait ~10 seconds
Netlify will show a green "Published" badge when the new version is live.
โš ๏ธ
Important
Always upload all files at once. If you upload only one file, Netlify will remove all the others and the site will break. Select all 8 HTML files together before dragging.
Connecting the GoDaddy Domain

This is a one-time setup. Once done, samscab.com points to Netlify permanently and never needs to be touched again.

1
In Netlify โ€” Add Custom Domain
Go to Site Settings โ†’ Domain Management โ†’ Add Custom Domain. Type in your GoDaddy domain.
2
Copy Netlify's nameservers
Netlify will give you two nameserver addresses. Copy them โ€” they look like dns1.p01.nsone.net
3
Update GoDaddy nameservers
Log into GoDaddy โ†’ My Domains โ†’ Manage DNS โ†’ Nameservers โ†’ Change. Paste in Netlify's nameservers and save.
4
Wait up to 48 hours
DNS changes can take time to propagate. Usually under an hour but can take up to 2 days.
5
Enable HTTPS in Netlify
Once the domain is connected, click Verify DNS Configuration then Provision Certificate. This makes the site secure (https://) for free.
04
Staff Tools
The Staff Portal

The Staff Portal is the internal home base for the Sam's Cab team. It is not linked from the public website and does not appear in Google search results.

URL: samscab.com/staff  ยท  Password: samscab2025

What's on the Portal
SectionWhat It Contains
Mission & VisionThe company mission, vision, and standard โ€” visible on the dark right panel of the portal hero.
Staff ToolsLinks to Event Intelligence and Booking Dashboard.
Marketing MaterialsLinks to the 90-Day Launch Plan, public website, and coming-soon materials (business cards, flyer, one-pager).
Adding Marketing Materials

When new materials are ready (business cards, flyers, venue one-pager), add them to the portal by uploading the files to Google Drive and updating the links in staff.html. Search for Coming Soon in the file and replace with the Google Drive share link.

๐Ÿ’ก
Best Practice
Use Google Drive for all marketing materials. Upload the file to Drive, set sharing to Anyone with the link โ†’ Viewer, copy the link, and paste it into staff.html. When you update a file in Drive, the link stays the same โ€” no website changes needed.
05
Staff Tools
Event Intelligence Tracker

The Event Intelligence Tracker is a live AI-powered tool that finds upcoming events at all Sam's Cab venues. It helps staff plan staffing, anticipate demand, and stay ahead of the event calendar.

URL: samscab.com/events  ยท  Password: samscab2025

First Time Setup
1
Delete the demo events
The tracker comes pre-loaded with 24 sample events for demonstration. Delete them all before starting real use. Use the delete button on each card or the clear all option.
2
Click "Search All Sources"
This triggers a live AI search across all Sam's Cab venues โ€” Crypto.com Arena, BMO Stadium, The Coliseum, LA Convention Center, Exposition Park Museums, and USC Campus.
3
Review results and import
The search panel shows upcoming events found. Click "+ Import NEW Events" to add relevant ones to your tracker.
4
Events save automatically
Anything imported saves to the browser automatically. It will be there next time you open the page on the same browser and device.
Weekly Workflow
1
Check the "Last Searched" timestamp
Visible in the top header bar. If it shows amber or says "Not searched in X days" โ€” it's time to refresh.
2
Click "Search All Sources"
Runs a fresh AI search. Takes 10โ€“20 seconds. New events will be flagged as NEW in the results.
3
Import new events
Click "+ Import NEW Events" to add them. The tracker automatically avoids duplicates.
4
Use the AI Assistant for planning
Type questions in the AI Assistant panel โ€” "How many carts do I need next weekend?" or "Which events have the highest demand this month?" The AI reads your event calendar and responds with specific recommendations.
5
Export to Calendar
Use the ๐Ÿ“… Export Calendar button to export selected events as a .ics file. Import it into Google Calendar or Apple Calendar so the whole team sees the schedule.
Understanding Demand Levels
LevelWhat It MeansAction
HighMajor event, large attendance expected. Crypto.com sellout, USC graduation, etc.Ensure maximum availability. Pre-book as many rides as possible before the event.
MediumRegular event, moderate attendance.Standard staffing. Monitor bookings as the date approaches.
LowSmaller event or museum visit.Normal operations. No special preparation needed.
โš ๏ธ
Storage Limitation
Event data saves to the browser on the device used. Clearing your browser history will erase saved events. If you switch devices, you'll need to search and import again. A shared Google Sheets integration for events is a future upgrade.
06
Staff Tools
Bookings via Square

All rider bookings and payments are managed through Square Appointments. Access the Square dashboard from the Bookings link in the staff portal nav. Venue inquiries are managed separately via Gmail โ€” once a venue partnership is confirmed it can be added as a service in Square.

URL: samscab.com/bookings  ยท  Password: samscab2025

Rider Booking Workflow

Rider bookings come in two ways โ€” through the website form or by phone. Both end up in the dashboard.

1
Receive the inquiry
Website form submissions arrive via email (once Netlify Forms is connected). Phone inquiries come directly to Marques.
2
Log it in the dashboard
Click "+ Add Booking". Fill in the fields in the same order as the email โ€” First Name, Last Name, Phone, Passengers, Ride Type, Venue, Service, Date, Pickup Time, Details. Status defaults to Inquiry.
3
Confirm with the rider
Call or text to confirm the booking. Once confirmed, change status to Booked using the dropdown in the log row.
4
Add to Google Calendar
Once status is set to Booked, a green ๐Ÿ“… Add button appears in that row. Click it โ€” Google Calendar opens pre-filled with all ride details. Click Save.
5
After the ride
Change status to Completed. If it didn't happen, change to Cancelled.
Rider Booking Status Guide
StatusMeaningWhen to Use
InquiryRequest received, not yet confirmedDefault when logging any new request
BookedConfirmed โ€” rider contacted, time setAfter calling and confirming
CompletedRide delivered successfullyAfter the ride happens
CancelledBooking didn't proceedIf rider cancels or no-shows
Venue Inquiry Workflow
1
Receive the inquiry
Venue inquiries come via the website form (email) or direct outreach. Log it immediately so nothing falls through the cracks.
2
Log in the Venue Inquiries tab
Click the Venue Inquiries tab then "+ Add Inquiry". Fill in contact details, org type, partnership type, and estimated guests. Status defaults to New.
3
Progress through statuses
Update the status as the conversation moves forward. When In Discussion or Contracted, the ๐Ÿ“… Add calendar button appears for scheduling meetings.
Venue Inquiry Status Guide
StatusMeaning
NewJust came in โ€” not yet responded to
In DiscussionActive conversation in progress
Proposal SentPricing/terms sent, awaiting response
ContractedAgreement signed โ€” active partner
DeclinedDid not proceed
07
Integrations
Google Sheets Setup

Google Sheets is the shared data layer for the booking dashboard. Once connected, all booking data is visible to the whole team from any device โ€” not just the browser it was entered on.

1
Create the spreadsheet
Go to sheet.new in your browser. Name the sheet Sam's Cab Bookings.
2
Add two tabs
At the bottom of the sheet, create two tabs: Rider Bookings and Venue Inquiries.
3
Add column headers โ€” Rider Bookings tab
Row 1: Date, First Name, Last Name, Phone, Passengers, Ride Type, Venue, Service, Pickup Time, Details, Status, Timestamp
4
Add column headers โ€” Venue Inquiries tab
Row 1: Contact Name, Organization, Title, Phone, Email, Org Type, Partnership Type, Est. Guests, First Date, Frequency, Notes, Status, Timestamp
5
Share the sheet
Click Share โ†’ Anyone with the link โ†’ Editor. This allows the booking dashboard to read and write to it.
6
Copy the Sheet ID
From the URL bar, copy the long string between /d/ and /edit. Example: 1BxiMVs0XRA5nFMdKvBdBZjgm...
7
Connect in the Dashboard
Open samscab.com/bookings โ†’ click "Connect Google Sheets" โ†’ paste the Sheet ID โ†’ Save. Do this once on each device the team uses.
08
Automation
Zapier Form Automation Superseded by Square

Zapier connects the public website booking forms to Google Sheets automatically. When a rider or venue fills out a form on the website, Zapier catches the submission and adds it as a new row in the correct Google Sheet tab โ€” no manual data entry needed.

โšก
How the Automation Works
Rider fills out form โ†’ Netlify captures submission โ†’ Zapier detects it โ†’ New row added to Google Sheets โ†’ Staff opens dashboard and sees it already there. Staff only needs to log the status updates and phone call inquiries manually.
Setting Up Zapier
1
Create a free Zapier account
Go to zapier.com and sign up. The free tier supports up to 100 tasks per month which is plenty to start.
2
Create first Zap โ€” Rider Bookings
Trigger: Netlify โ†’ New Form Submission โ†’ select your site โ†’ select the rider booking form. Action: Google Sheets โ†’ Create Spreadsheet Row โ†’ select Sam's Cab Bookings โ†’ Rider Bookings tab โ†’ map each form field to the matching column.
3
Create second Zap โ€” Venue Inquiries
Same process. Trigger: Netlify โ†’ New Form Submission โ†’ venue inquiry form. Action: Google Sheets โ†’ Create Spreadsheet Row โ†’ Venue Inquiries tab โ†’ map fields.
4
Enable Netlify Forms first
Before Zapier works, the forms on the public website need the Netlify Forms attribute added. Add data-netlify="true" to each form tag in riders.html and venues.html, then redeploy.
5
Test with a real submission
Fill out the public booking form as a test. Within a minute, the row should appear in Google Sheets and show up in the booking dashboard when you refresh.
โ„น๏ธ
Phone Call Bookings
Zapier only handles form submissions. For inquiries that come in by phone or text, staff still manually clicks "+ Add Booking" in the dashboard. This is by design โ€” not everything comes through the website.
09
Integrations
Google Calendar Integration

The booking dashboard generates a one-click Google Calendar link for confirmed bookings and active venue partnerships. No API setup needed โ€” it works automatically.

For Rider Bookings

Once a rider booking status is set to Booked or Completed, a green ๐Ÿ“… Add button appears in the Calendar column of that row. Clicking it opens Google Calendar in a new tab with all ride details pre-filled โ€” rider name, venue, pickup time, passengers, ride type. Staff just clicks Save.

For Venue Inquiries

Once a venue inquiry is set to In Discussion or Contracted, a purple ๐Ÿ“… Add button appears. Clicking it opens Google Calendar pre-filled with the partner meeting details โ€” contact name, organization, and notes.

๐Ÿ’ก
Best Practice
Add all confirmed bookings to a shared Sam's Cab Operations Google Calendar that all staff members can see. This way everyone knows what rides are scheduled without having to check the dashboard individually.
10
Hosting
GoDaddy Domain

GoDaddy owns the domain name. Once it's pointed to Netlify (Section 03), you should never need to touch GoDaddy again. The domain renews automatically each year.

โš ๏ธ
Auto-Renewal
Make sure auto-renewal is turned on in GoDaddy and the payment card is current. If the domain expires, the website goes offline immediately. Check this once a year.
11
Reference
APIs & Automation Explained

You'll hear the word "API" used throughout these systems. Here's what it means in plain language and how it applies to Sam's Cab.

What is an API?

An API (Application Programming Interface) is a way for two pieces of software to talk to each other. Think of it like a waiter at a restaurant โ€” you tell the waiter what you want, the waiter goes to the kitchen, and comes back with your order. You never go into the kitchen yourself.

In Sam's Cab, APIs are used in two places:

APIWhat It Does for Sam's CabWhen It's Called
Claude API (Anthropic)Powers the Event Intelligence search. When staff clicks "Search All Sources," the app sends a request to Claude asking it to find upcoming events at all venues. Claude searches the web in real time and returns the results.Every time staff clicks Search All Sources or asks the AI Assistant a question
Google Sheets APIAllows the booking dashboard to read and write data to and from the Google Sheet. When staff adds a booking, it appears in Sheets. When staff opens the dashboard, it reads from Sheets.Every time the dashboard loads or a booking is added/updated
What Automation Is Built In
AutomationWhat HappensStatus
Event SearchClaude API searches all venue sources in real time when triggered by staff. Not automatic โ€” requires a manual click.Live
AI Staffing AssistantClaude API analyzes the event calendar and answers staffing questions in natural language.Live
Last Searched TimestampTracks when staff last ran a search and displays a color-coded reminder if it's been too long.Live
Calendar ExportOne-click Google Calendar link generated automatically when a booking is confirmed.Live
Form โ†’ Google SheetsZapier automatically adds website form submissions to Google Sheets. Requires Zapier setup.Pending Setup
Netlify Forms EmailWebsite forms email Marques on every submission. Requires Netlify Forms attribute added to HTML.Pending Setup
Event Sync to SheetsSharing event tracker data across all devices via Google Sheets.Future Upgrade
๐Ÿ”‘
API Key Note
The Claude API that powers the Event Intelligence tracker uses an API key that is embedded in the events.html file. This key has usage costs associated with it โ€” each search uses a small amount of API credits. For normal weekly use this cost is minimal, but avoid running repeated unnecessary searches. If the search ever stops working, the API key may need to be refreshed.
12
Reference
Troubleshooting
ProblemLikely CauseSolution
Website not loadingNetlify issue or domain not yet propagatedCheck app.netlify.com for error messages. If domain is new, wait up to 48 hours.
Staff page says incorrect passwordWrong code entered or password changedCheck this document for current password. If changed, update staff.html and redeploy.
Event search returns no resultsAPI issue or network errorTry again after a few minutes. If persistent, the API key may need refreshing โ€” contact your web developer.
Booking data disappearedBrowser cache cleared or different browser usedThis is why Google Sheets connection is important. Once connected, data persists across all devices regardless of browser cache.
Google Sheets not syncingSheet ID not entered or sharing settings wrongCheck that the sheet is shared with "Anyone with the link" as Editor. Re-enter the Sheet ID in the dashboard connection panel.
Form submissions not arriving by emailNetlify Forms not yet activatedAdd data-netlify="true" to the form tags in riders.html and venues.html, then redeploy to Netlify.
Calendar link not showingBooking status not set to Booked/CompletedThe calendar button only appears when status is Booked or Completed. Update the status dropdown in the log row.
Site looks broken after updateOnly some files were uploadedAlways upload all 8 HTML files together. Re-upload all files to fix.
๐Ÿ’ก
When All Else Fails
For technical issues beyond this guide, return to the Claude conversation where the site was built. The full history and context is there. Describe the problem and the AI can diagnose and fix it, then provide updated files to redeploy.
13
Document Maintenance
Updating & Publishing This SOP

This document is a living file. Every time a process changes, a tool is added, or a password is updated, this SOP should be updated the same day so the team always has accurate information. Here's exactly how to do it.

How to Edit This Document
1
Download sop.html from Netlify or your files
The file is called sop.html. Find it in the same folder as the other Sam's Cab HTML files on your computer.
2
Open in a text editor
Right-click sop.html โ†’ Open With โ†’ TextEdit (Mac) or Notepad (Windows). Do not open in a browser โ€” open in the text editor so you can see and edit the code.
3
Find the section to update
Use Find & Replace โ€” press Cmd+F (Mac) or Ctrl+F (Windows). Search for a word or phrase from the section you need to change. This jumps you straight to the right spot in the file.
4
Make your change
Edit the text directly. Be careful not to accidentally delete any HTML tags like <div>, <p>, or </div> โ€” only edit the visible words between the tags.
5
Update the version number and date
Search for Version 1.0 and update the number. Search for Last Updated and update the date. This tells the team they're reading the current version. Use a simple numbering system โ€” 1.1 for minor changes, 2.0 for major rewrites.
6
Save the file
Press Cmd+S (Mac) or Ctrl+S (Windows). The file is ready to publish.
Publishing the Updated SOP
1
Go to app.netlify.com
Log in with Marques's account and find the Sam's Cab site.
2
Click the Deploys tab
Find the drag-and-drop deploy area.
3
Upload all 9 files together
Always upload all files at once โ€” index.html, riders.html, venues.html, about.html, staff.html, events.html, bookings.html, sop.html plus the launch plan. Never upload sop.html alone or Netlify will remove the other pages.
4
Confirm it's live
Wait about 10 seconds for the green "Published" badge. Open samscab.com/sop in a new tab and check the version number and date in the document header to confirm the update is live.
What to Update and When
ChangeSection to UpdateHow Often
Staff password changedAccess & Passwords table (Overview)Immediately when changed
Phone number or social handle updatedSection 02 โ€” Contact Information tableImmediately when changed
New tool or integration addedTechnology Stack table + new section if neededWhen tool goes live
Zapier or Sheets connectedSection 07 and 08 โ€” update status from Pending to LiveWhen setup is complete
New staff member joinsNo edits needed โ€” just share the URL and passwordOn onboarding
Process changes how a tool worksRelevant section workflow stepsWhen process changes
New marketing material addedSection 04 โ€” Staff Portal materialsWhen material is ready
๐Ÿ’ก
Pro Tip
Keep a copy of all 9 HTML files in a shared Google Drive folder named Sam's Cab Website Files. That way any team member can access the latest versions, make edits, and re-upload to Netlify without needing to track down the files.
๐Ÿ“Œ
Need Bigger Changes?
For layout changes, new sections, or design updates to the SOP or any other page โ€” return to the Claude conversation where everything was built. The full context is saved there. Describe what you need and the AI will update the files and provide new versions to upload.
SC
Connecting People to Their Events.
Sam's Cab ยท Staff SOP v1.0 ยท Internal Use Only