LTT Booked 1.8.1 Plugin workflow Mind Map
- LTT booked Appointment booking with two-way Google Calendar sync Admin: Bookings → Appointments · Services · Staff & Calendars · Settings Shortcode on the site: [ltt-booked] Read the branches left to right: 1 → 7 . Installation and Google first, then settings, then daily work.
- Notebook LM support agent https://lesst3.com/nbb
- 1. Installation & updates
- 2. Connecting Google Calendar
- 3. Plugin settings
- 4. How a customer books
- 5. Daily work in the admin
- 6. Working from Google Calendar
- 7. Maintenance & troubleshooting
- 1. Installation & updates First installation on a site and updating to a new version of the plugin.
- 2. Connecting Google Calendar Done once, about 10 minutes. You need the Google account whose calendar should receive the bookings.
- 3. Plugin settings Bookings → Settings / Services / Staff. Changes apply immediately and can be changed any time.
- 4. How a customer books What the customer sees on the site and in emails.
- 5. Daily work in the admin Bookings → Appointments. The red number in the menu requests waiting for approval.
- 6. Working from Google Calendar You don’t have to open WordPress at all – everything works from your phone.
- 7. Maintenance & troubleshooting Bookings → Settings → Tools & log.
- Before you start • WordPress 6.0+, PHP 7.4+. • The site should run on HTTPS – then changes made in Google arrive instantly. • Settings → General → Timezone must be a city (e.g. New York), not UTC−4. • Make a backup: hPanel → Websites → Backups .
- 1. Google Cloud project Open console.cloud.google.com (signed in with that Google account). At the top Select a project → New project → name, e.g. “Website bookings” → Create .
- General • Booking page – the page with [ltt-booked] (for links in emails). • Confirm automatically – off: you approve every request manually. • Minimum notice – no later than N hours before. • Booking window – how many days ahead. • Time step – 0 duration + break (11:30, 13:30, 15:30). • Order of steps – date & time first (default) or service first. • Several services – customers can choose several services for one appointment. • Customer cancellation – how many hours before customers can cancel themselves. • Accent colour – button colour. • Time zone – must be a city (New York), not UTC−4.
- 20-settings-general.png
- Booking steps 1. Date & time – days are highlighted when at least one service is free; clicking a day shows the free times. 2. Services – only those that fit the chosen time; customers can tick several → Continue . If only one fits, the step is skipped. 3. Specialist – only if several people are free at that time. 4. Details : name, email, phone, task, address, product links and photos . 5. Deposit via Stripe (if enabled). 6. Done → email “Request received” or “Confirmed”. Service-first order: Settings → General → Order of steps .
- 30-site-time.png
- Calendar: week Week / Month / List switch – your choice is remembered. • Stripe colour service colour. • Yellow dashed needs approval. • Grey hatching you are busy in Google. • Red line now. • ‹ Today › or keys ← → and T . • Staff filter, “Cancelled” shows cancelled bookings.
- 40-calendar-week.png
- What a request looks like An event appears: [Pending] Furniture assembly – Anna Smith (several services: “Furniture assembly, Mounting – Anna Smith”) Description: phone, email, form answers, product links , photo links , and an “Approve or cancel” link. The address is in Location. After approval “[Pending]” disappears from the title.
- Log and test email Tools & log : sync log (connections, moves, cancellations from Google, errors) and Test email .
- Emails don’t arrive 1. Tools & log → Test email . 2. Not received → install WP Mail SMTP and connect your domain mailbox (Hostinger Email). 3. In Emails → Sender & reminders set a sender address on your domain.
- 2. Enable Calendar API Menu ☰ → APIs & Services → Library → search Google Calendar API → Enable .
- 1. Upload the plugin Plugins → Add New Plugin → Upload Plugin → Choose File → ltt-booked.zip → Install Now .
- 02-upload-form.png
- ✓ Approve Way 1: open the event → edit → delete [Pending] from the title → save. Within seconds the booking is confirmed and the customer is emailed. Way 2: tap the Approve or cancel link in the description → page with details and photos → Approve appointment . No WordPress login needed.
- 50-staff-action-page.png
- 3. Consent screen (Branding) Menu ☰ → Google Auth Platform → Branding (or Get started ): • App name: “Skilfulman bookings” • User support email: your email • Audience: External • Contact email → Create / Save
- Google: error / disconnected • Red Error in Staff & Calendars → Disconnect → Connect Google Calendar again. • Disconnects every 7 days → the app is not published (branch 2, step 4). • Sync now – check manually.
- Click an appointment Card: time, customer, phone (tap to call), email, address, links, photos, deposit. Buttons Approve · Cancel · Open .
- 42-calendar-popover.png
- 2. Activate Activate Plugin . LTT booked appears in the plugin list and Bookings (calendar icon) in the left menu.
- 05-plugins-list.png
- Several services in one appointment • Length the longest chosen service; the customer explains the details in the task. • Prices and deposits are added up . • Only staff who provide all chosen services are offered. • The booking is named after all services: “Furniture assembly, Mounting” – in Google, emails and the admin. • Turn on/off in Settings → General → Several services .
- 31-site-services.png
- 4. ⚠ Publish the app Google Auth Platform → Audience → Publish app → Confirm . In Testing mode Google cuts access every 7 days. Google verification is not needed – the app is only for you and your staff.
- No free times on the site Check: staff Weekly hours, the service is assigned to the staff member, Minimum notice, Booking window, Google events on those days, site time zone.
- Services • Add service : name, description, duration , break after (travel/preparation), price , deposit , colour , who provides it. • Order – drag ⋮⋮ , saved automatically. • The switch on the right hides/shows the service on the site. • Yellow No price label – price not set.
- 21-services.png
- 3. Created automatically • 1 staff member: site name, admin email, Mon–Sat 11:30–17:00. • 7 sample services: 90 min + 30 min break, no price. • Form fields, email texts, default settings. Everything can be edited or deleted.
- Data Bookings live in the WordPress database, photos in uploads/ltt-booked-private/ . Deleting the plugin does not erase data. Hostinger backups include everything.
- 5. Create the key (OAuth client) Google Auth Platform → Clients → Create client : • Application type: Web application • Authorized JavaScript origins: https://skilfulman.com • Authorized redirect URIs (copy from the plugin): https://skilfulman.com/wp-json/syncbook/v1/google/callback → Create → copy the Client ID and Client secret .
- Drag to reschedule • Week: grab an appointment and drop it on another time/day (15-min steps). • Month: drag it to another day. • Confirmation: old and new time, “Email the customer” checkbox. • Overlap with another booking, a Google event or outside working hours → warning and Move anyway . • Google Calendar updates immediately.
- 46-drag-confirm.png
- 4. “Getting started” checklist Bookings → Appointments shows 4 steps: Google API credentials, connect a calendar, services, booking page. It disappears once everything is done.
- 06-getting-started.png
- 22-service-edit.png
- 6. Paste the keys into the plugin Bookings → Settings → Google Calendar → Client ID and Client secret → Save Changes . The same page lists all addresses ready to copy.
- 10-settings-google.png
- “Your details” step At the top – chosen date/time and services, Change goes back to that step. On the right – summary: services, time, total, deposit.
- 32-site-details.png
- 47-drag-conflict.png
- 5. Booking page Pages → Add New → title, e.g. “Book an appointment” → Shortcode block → paste [ltt-booked] → Publish . Options: • [ltt-booked service "1,2"] – only these services • [ltt-booked staff "3"] – one specialist • [ltt-booked title "Book now"] – heading The plugin remembers this page for the links in emails.
- 6. Next Work through branches 2. Google Calendar and 3. Plugin settings , then book a free time yourself: check the emails and the Google event, then cancel the test booking.
- Staff – hours and days off In a staff member’s card: • Weekly hours : 09:00-13:00, 14:00-18:00 , empty day off. • Days off : 2026-12-24..2027-01-02 or one date per line. Easier: create a busy event in Google – the time closes automatically.
- Month and list • Month – month overview, click a date to open its week. • List – tabs Upcoming / Needs approval / Past / Cancelled, search by name, email, phone.
- 41-calendar-month.png
- ✕ Cancel • Delete the event in Google → booking cancelled, customer gets a cancellation email, you get a notice. • or the Approve or cancel link → Cancel appointment . If a deposit was paid – decide about a refund on the appointment page ( Refund deposit ).
- 7. Connect the calendar Bookings → Staff & Calendars → open yourself → Connect Google Calendar . 1. Choose the Google account. 2. “Google hasn’t verified this app” → Advanced → Go to skilfulman.com (normal for your own app). 3. Allow calendar access → Continue . The Google Calendar box shows ● your email in green.
- 11-staff-edit.png
- Updating to a new version Do not deactivate or delete anything. 1. Make a backup. 2. Plugins → Add New Plugin → Upload Plugin → the new ltt-booked.zip → Install Now . 3. WordPress shows “This plugin is already installed” and compares Current / Uploaded versions. 4. Click Replace current with uploaded .
- 03-replace-current.png
- Booking form – fields Settings → Booking form : • Drag ⋮⋮, click a field to edit it. • Add field : Text, Paragraph, Dropdown, Checkboxes, Phone, Product links , Photos . • Live preview on the right. • A field with key address becomes the Google event location.
- 23-form-builder.png
- ↔ Move Drag the event to another time or change the time in the event → the booking moves, the customer gets “Appointment moved”.
- “Manage your appointment” page Link in every customer email: • details and status; • Add photos or product links – until the visit (you get an email); • Cancel appointment – if more than N hours before the visit; • Pay deposit – if the payment was not completed.
- 33-site-manage.png
- 43-list.png
- ⛔ Block time Any event of yours (meeting, travel, personal) blocks that time on the site. • Vacation: an all-day event blocks the whole day. • Events marked “Free / Available” do not block time.
- After the update “Plugin updated successfully” – done, the plugin stays active. Kept: bookings, services, staff, connected Google calendars, settings, emails, customer photos. New database fields are added automatically. If the site uses a cache (LiteSpeed Cache) – Purge All ; reload admin pages (Ctrl+F5).
- 04-updated.png
- ✉ From the email The “New appointment” email has ✓ Approve and ✕ Cancel buttons. They open the same confirmation page. Opening the link changes nothing – only pressing the button does.
- 51-admin-email-buttons.png
- Customer photos – storage Settings → Customer photos : • how much space photos take; • automatic cleanup separately for cancelled appointments and after the visit (from “right away” to 5 years or never); • Delete these photos now . Photos are stored on your hosting: wp-content/uploads/ltt-booked-private/ .
- 26-photos-cleanup.png
- Removing the plugin Deactivate → Delete – bookings and settings stay in the database (in case you reinstall). To wipe all data: add define( 'SYNCBOOK DELETE DATA', true ); to wp-config.php first, then delete the plugin.
- Appointment page • All details, form answers, links and photos (× delete a photo, Delete all photos ). • Change time or staff + notes, with or without emailing the customer. • Buttons: Approve, Cancel, Mark completed, Restore, Refund deposit (Stripe), Delete.
- 44-booking-detail.png
- 8. Which calendars to use On the same page: • Write bookings to – where bookings are written (usually the main calendar). • Block busy times from – calendars that make time unavailable on the site (e.g. work + family). → Save .
- 9. Staff members Staff & Calendars → Add staff member → name, email, services, hours → Save . Copy the link “Or send this link to the employee” and send it – they connect their own Google Calendar without a WordPress login. Generate a new link – the old link stops working.
- 12-staff-list.png
- Deposits (Stripe) 1. Stripe Dashboard → Developers → API keys → copy the Secret key . 2. Start with a test key sk test … → pay with card 4242 4242 4242 4242 , any date/CVC. 3. Developers → Webhooks → Add endpoint : https://skilfulman.com/wp-json/syncbook/v1/stripe/webhook events: checkout.session.completed , checkout.session.async payment succeeded , checkout.session.expired → copy the Signing secret whsec … . 4. Turn on Require an online deposit , set % or amount. 5. Replace with the live key sk live … . Unpaid time is released after 30 minutes.
- 24-deposits.png
- 48-booking-photos.png
- 10. Instant updates and cron • On an HTTPS site Instant updates shows Active – changes from Google arrive within seconds. • Safety net – a check every 5 minutes. To make it run even without visitors: hPanel → Advanced → Cron Jobs → every 5 minutes: wget -q -O – https://skilfulman.com/wp-cron.php /dev/null 2 &1 • Sync now – synchronise manually.
- Phone bookings Add appointment or double-click an empty time in the week view (date and time are filled in). You can skip the email and even book a busy time (checkbox).
- 45-new-booking.png
- Important • Don’t move the event to another calendar – it counts as a deletion. • Photo and “Approve” links are secret – don’t forward them to customers. • If the customer is invited as a guest, these links are removed from the description automatically.
- Emails Settings → Emails : • list of emails on the left, green dot on; • visual editor + variable buttons (First name, Date, Time…); • live preview on the right; • Send test – to yourself, Restore original text – back to default. Sender & reminders : notification email, sender (an address on your domain is best), reminder N hours before.
- 25-emails.png
- Emails to the customer • Request received (awaiting approval) • Appointment confirmed (+ .ics calendar file) • Appointment moved • Appointment cancelled • Reminder (24 h before)
