cancel_booking
ChatGPTCancel one manageable booking after explicit customer confirmation. A team lead may cancel a team booking listed by list_my_bookings. This sends notifications and can void a linked invoice; it cannot be undone from this tool. Do not retry after an uncertain response without first rereading the booking.
create_booking
ChatGPTRequest a shoot for this signed-in customer at a specific date and time. Creates a pending booking, emails the customer and studio, and can queue calendar, invoice, loyalty, referral, and property-access synchronization. Before calling, obtain explicit customer confirmation of the selected service, date and time, property address, quoted price, and notification effects. The studio reviews and confirms it by email; retries can create duplicate requests. After an uncertain response, reread the customer's bookings before considering another request. Limited to 5 successful requests per day. Shoot-detail answers (intakeAnswers) are keyed by the form's exact field names: a number question takes a whole number, sent as a number or a digit string; a checkbox takes true or false; every other question takes a string, and an empty string clears an answer.
get_availability
ChatGPTOpen appointment slots for a published service on a real calendar date (YYYY-MM-DD) in America/New_York time. Pass the property address when known: travel time and the studio's route rules depend on it, and some dates are only offered once the address is known. Returns an informational service page and explains unavailable dates. It does not hold a slot, create a booking, or send a notification.
get_booking_details
ChatGPTThe non-sensitive shoot details and price breakdown recorded for one manageable booking. A team lead may read a team booking listed by list_my_bookings. Property access credentials are always redacted from the response.
get_loyalty_status
ChatGPTThis signed-in customer's Higginbotham Media Rewards status: tier and expiry date, qualifying spend, reward picks remaining and allowance, and the reward menu their tier can redeem. Says plainly when the rewards program isn't currently active, rather than an empty-looking result.
get_referral_info
ChatGPTThis signed-in customer's own referral code, the program's current discount percentage, and any available referral credit with its expiry date and counterpart name. Never another customer's referral code.
get_service_details
ChatGPTPublished details for one Higginbotham Media service by slug: USD pricing, scheduling limits, inclusions, and non-sensitive planning questions that can affect price. Property access credentials are excluded, and this tool does not book or purchase anything.
get_studio_info
ChatGPTHigginbotham Media's published studio identity, owner, contact email, Treasure Coast and Palm Beaches service areas, and informational website links.
list_my_bookings
ChatGPTThis signed-in customer's own bookings, split into upcoming and past: service, date, status, property address, quoted total, and a link to the delivered gallery once one exists. For each team the customer is on, a teams entry (with the team's id and name) lists that team's bookings made by teammates (who booked each, and whether this customer, as a lead of that team, may reschedule or cancel them). A teammate's personal bookings and other customers' bookings are never included.
list_my_galleries
ChatGPTGalleries this signed-in customer can view: title, shoot date, property address, and the client gallery link. Notes whether a gallery requires a passcode to open, but never returns the passcode itself.
list_services
ChatGPTPublished Higginbotham Media photography and media services for the Treasure Coast and Palm Beaches: names, starting prices in USD, durations, and informational service pages. This tool does not book or purchase anything.
preview_booking
ChatGPTPrice a shoot without creating a booking: base price, intake-question adjustments, travel fee, and any coupon, loyalty reward, or referral credit that would apply. Coupon attempts consume a private rate-limit budget, and a calendar failure can alert the studio owner by email. Use get_service_details first for the non-sensitive intake questions a service asks. Shoot-detail answers (intakeAnswers) are keyed by the form's exact field names: a number question takes a whole number, sent as a number or a digit string; a checkbox takes true or false; every other question takes a string, and an empty string clears an answer.
reschedule_booking
ChatGPTMove one manageable booking to a new date and time, optionally changing its service. A team lead may move a team booking listed by list_my_bookings. The write sends notifications and can update downstream calendar and invoice state; a confirmed or canceled booking returns to pending. Confirm the exact change before calling, and do not retry after an uncertain response without first rereading the booking. Shoot-detail answers (intakeAnswers) are keyed by the form's exact field names: a number question takes a whole number, sent as a number or a digit string; a checkbox takes true or false; every other question takes a string, and an empty string clears an answer.
update_booking_intake
ChatGPTCorrect non-sensitive shoot details on one manageable booking, such as square footage or story count. Property access credentials cannot be sent through this MCP. Answers are merged over stored values, the total is recomputed, the customer and studio receive a change email, and invoice synchronization can be queued; this path skips direct calendar synchronization. A price change can return a confirmed booking to pending. Obtain explicit customer confirmation of the correction and explain possible repricing and notifications before calling. After an uncertain response, reread the booking before considering a retry. Shoot-detail answers (intakeAnswers) are keyed by the form's exact field names: a number question takes a whole number, sent as a number or a digit string; a checkbox takes true or false; every other question takes a string, and an empty string clears an answer.
whoami
ChatGPTThe signed-in Higginbotham Media customer's name and email, for the agent to confirm which account it's connected as.