Verified AgentReady.md certificate
Issued sig: 7893281aa9016eb9 Verify →

Analyzed URL

https://easybook.io/en/

Analyze another URL

AI-Ready Score

79 / B

Good

out of 100

Token Savings

HTML tokens 18.806
Markdown tokens 1338
Savings 93%

Score Breakdown

Semantic HTML 86/100
Content Efficiency 78/100
AI Discoverability 55/100
Structured Data 100/100
Accessibility 93/100

Emerging protocols

0 of 3 detected

Well-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.

  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.

How to implement

Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"},{"id":"fastify","label":"Fastify","language":"javascript","filename":"server.js","code":"// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page/route.ts","code":"// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"},{"id":"wordpress","label":"WordPress","language":"php","filename":"functions.php","code":"post_content));\n exit;\n});"},{"id":"static","label":"Hugo / Jekyll / Astro","language":"txt","filename":"static/page.md","code":"# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in :\n# "}] }'>

No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.

How to implement

Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.

{\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"}] }'>

Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.

How to implement

Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.

Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.

How to implement

Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.

Markdown tokens: 1338
## Effortless Booking for Your Business

Give your customers a beautiful online booking experience. Manage appointments, staff schedules, and services — all in one place.

![EasyBook dashboard — bookings calendar with appointments, staff, and resources](https://easybook.io/images/hero.png)

## Our track record

Trusted by businesses worldwide

Join thousands of businesses already using EasyBook to manage their appointments and grow their customer base.

Businesses on the platform

2,000+

Bookings completed

500,000+

Happy customers

150,000+

Revenue generated

€12M+

## One platform, infinite possibilities

From hair salons to padel courts, from yoga studios to consulting firms — EasyBook adapts to any business that runs on appointments.

[Get started now](https://app.easybook.io/register)

## Everything You Need to Grow

Powerful tools designed for service businesses of every size.

### Online Booking

Customers book 24/7 through your personalized booking page. Book multiple appointments at once with group bookings, and offer service variants with different durations and prices.

### Online Payments

Collect payments at booking time via Stripe. Accept deposits or full payments online, and use tap-to-pay for in-person collection.

### Staff Management

Manage your team's schedules, assign services, set individual availability rules, and handle multi-staff appointments.

### Resource Booking

Manage bookable resources like rooms, courts, or equipment. Define types, set availability, and let the system auto-assign.

### Smart Scheduling

Automatic conflict detection, buffer times, multi-staff coordination, and intelligent slot calculation keep your calendar optimized.

### Booking Rules

Set minimum notice hours, maximum advance booking days, and cancellation deadlines. Protect your schedule while giving customers flexibility.

### Notifications

Automated email confirmations and reminders for every booking. Set reminder timing before appointments. In-app notifications keep your team in the loop.

### Customer Portal

Customers can log in to view, cancel, or reschedule their bookings. A manage link in every confirmation email gives quick access.

### Dashboard & Analytics

Track daily and weekly bookings, revenue, and customer stats. Real-time dashboard with upcoming appointments at a glance.

### Mobile App

Manage your bookings on the go. Full calendar views, booking management, tap-to-pay payment collection, and push notifications — right from your phone.

### Multi-Language

Your booking page adapts to your customer's language. Supports English, Turkish, German, French, and Spanish out of the box.

### Custom Booking Page

Use your own domain for a branded booking experience. Share a professional link that matches your business identity.

## Get Paid, Your Way

Accept payments online and in person. Powered by Stripe with direct payouts to your bank account.

### Online Payments

Customers pay securely during booking with cards, Apple Pay, or Google Pay. Collect the full amount or a deposit — you choose.

### Tap-to-Pay & POS

Collect payments face-to-face with tap-to-pay on your phone or a connected card reader. Perfect for collecting remaining balances and tips.

### Fast Payouts

Get paid directly to your bank account via Stripe. No waiting, no hassle — your earnings are transferred automatically.

Zero commission from EasyBook

We never take a cut from your payments. Connect your own Stripe account — or create one in minutes — and every cent goes directly to you.

![Stripe](https://easybook.io/stripe.svg)

## Your Business, Anywhere

Stay on top of your schedule wherever you are. The EasyBook app gives you full control over your bookings, staff, and customers — on any device.

![EasyBook manager tablet view](https://staging.media.easybook.io/landing/admin_tablet_view.png)![EasyBook manager mobile view](https://staging.media.easybook.io/landing/admin_mobile_view.png)

### Calendar Views

Switch between daily, weekly, and monthly views to see your full schedule at a glance.

### Push Notifications

Get instant alerts for new bookings, cancellations, and upcoming appointments.

### Real-Time Sync

Changes sync instantly across all devices. Your team always sees the latest schedule.

[![Download on the App Store](https://staging.media.easybook.io/landing/download_apple.png)](https://easybook.io/en/#)[![Get it on Google Play](https://staging.media.easybook.io/landing/download_google.png)](https://easybook.io/en/#)

## Up and Running in Minutes

Three simple steps to start accepting bookings online.

1

### Create Your Business

Sign up for free and set up your business profile with your services, staff, and working hours.

2

### Share Your Booking Page

Share your unique booking link with customers via your website, social media, or messaging apps.

3

### Manage & Grow

Accept bookings, manage your calendar, and grow your business with powerful analytics and tools.

## Simple, transparent pricing

Pay only for what you use — one price per bookable resource, no hidden fees

### Independent

7 day trial

€9.95

per month, billed annually

Includes

-   1 bookable resource
-   Unlimited bookings
-   Online booking page
-   Email support

[Start free trial](https://app.easybook.io/register)

### Standard

7 day trial

€4.95

per resource / month, billed annually

Includes

-   Unlimited bookable resources
-   Unlimited bookings
-   Online booking page
-   Staff & resource management
-   Dashboard & analytics
-   Priority support

[Start free trial](https://app.easybook.io/register)

### Enterprise

Custom

For high-volume businesses with 20+ bookable resources. Dedicated support and custom integrations.

[Contact sales](https://easybook.io/cdn-cgi/l/email-protection#a9dac8c5ccdae9ccc8dad0cbc6c6c287c0c696dadccbc3cccadd94fac8c5ccda8c9b99e0c7d8dcc0dbd08c9b998cec9b8c91998c909d8c9b99ecc8dad0ebc6c6c2)

A bookable resource is any staff member or resource (room, court, equipment) on your calendar. Admins and booking managers are free.

## Ready to Simplify Your Scheduling?

Join thousands of businesses that trust EasyBook to manage their appointments. Start free today.

[Get Started for Free](https://app.easybook.io/register)
EasyBook — Online Booking & Appointment Scheduling for Businesses

 [![EasyBook](https://easybook.io/logo.png) EasyBook](https://easybook.io/en)

[Get Started](https://app.easybook.io/register) [Sign In →](https://app.easybook.io/login)

[Use Cases](https://easybook.io/en#use-cases)[Features](https://easybook.io/en#features)[Payments](https://easybook.io/en#payments)[The App](https://easybook.io/en#mobile-app)[How It Works](https://easybook.io/en#how-it-works)[Pricing](https://easybook.io/en#pricing)[Blog](https://easybook.io/blog)

[Get Started](https://app.easybook.io/register)[Sign In →](https://app.easybook.io/login)

[What's new See all features](https://easybook.io/en#features)

# Effortless Booking for Your Business

Give your customers a beautiful online booking experience. Manage appointments, staff schedules, and services — all in one place.

[Start Free](https://app.easybook.io/register) [See How It Works →](https://easybook.io/en#how-it-works)

![EasyBook dashboard — bookings calendar with appointments, staff, and resources](https://easybook.io/images/hero.png)

## Our track record

Trusted by businesses worldwide

Join thousands of businesses already using EasyBook to manage their appointments and grow their customer base.

Businesses on the platform

2,000+

Bookings completed

500,000+

Happy customers

150,000+

Revenue generated

€12M+

## One platform, infinite possibilities

From hair salons to padel courts, from yoga studios to consulting firms — EasyBook adapts to any business that runs on appointments.

[Get started now](https://app.easybook.io/register)

![Hair salon](https://images.unsplash.com/photo-1560066984-138dadb4c035?w=600&h=500&fit=crop)

Hair salon

![Barbershop](https://images.unsplash.com/photo-1503951914875-452162b0f3f1?w=600&h=500&fit=crop)

Barbershop

![Spa & wellness](https://images.unsplash.com/photo-1544161515-4ab6ce6db874?w=600&h=500&fit=crop)

Spa & wellness

![Sports & padel](https://images.unsplash.com/photo-1554068865-24cecd4e34b8?w=600&h=500&fit=crop)

Sports & padel

![Gym & yoga](https://images.unsplash.com/photo-1534438327276-14e5300c3a48?w=600&h=500&fit=crop)

Gym & yoga

![Massage therapy](https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?w=600&h=500&fit=crop)

Massage therapy

![Health & medical](https://images.unsplash.com/photo-1631217868264-e5b90bb7e133?w=600&h=500&fit=crop)

Health & medical

![Tutoring & lessons](https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=600&h=500&fit=crop)

Tutoring & lessons

![Beauty studio](https://images.unsplash.com/photo-1487412947147-5cebf100ffc2?w=600&h=500&fit=crop)

Beauty studio

![Consulting](https://images.unsplash.com/photo-1553877522-43269d4ea984?w=600&h=500&fit=crop)

Consulting

![Pet grooming](https://images.unsplash.com/photo-1516734212186-a967f81ad0d7?w=600&h=500&fit=crop)

Pet grooming

![Coworking spaces](https://images.unsplash.com/photo-1497366216548-37526070297c?w=600&h=500&fit=crop)

Coworking spaces

## Everything You Need to Grow

Powerful tools designed for service businesses of every size.

### Online Booking

Customers book 24/7 through your personalized booking page. Book multiple appointments at once with group bookings, and offer service variants with different durations and prices.

### Online Payments

Collect payments at booking time via Stripe. Accept deposits or full payments online, and use tap-to-pay for in-person collection.

### Staff Management

Manage your team's schedules, assign services, set individual availability rules, and handle multi-staff appointments.

### Resource Booking

Manage bookable resources like rooms, courts, or equipment. Define types, set availability, and let the system auto-assign.

### Smart Scheduling

Automatic conflict detection, buffer times, multi-staff coordination, and intelligent slot calculation keep your calendar optimized.

### Booking Rules

Set minimum notice hours, maximum advance booking days, and cancellation deadlines. Protect your schedule while giving customers flexibility.

### Notifications

Automated email confirmations and reminders for every booking. Set reminder timing before appointments. In-app notifications keep your team in the loop.

### Customer Portal

Customers can log in to view, cancel, or reschedule their bookings. A manage link in every confirmation email gives quick access.

### Dashboard & Analytics

Track daily and weekly bookings, revenue, and customer stats. Real-time dashboard with upcoming appointments at a glance.

### Mobile App

Manage your bookings on the go. Full calendar views, booking management, tap-to-pay payment collection, and push notifications — right from your phone.

### Multi-Language

Your booking page adapts to your customer's language. Supports English, Turkish, German, French, and Spanish out of the box.

### Custom Booking Page

Use your own domain for a branded booking experience. Share a professional link that matches your business identity.

## Get Paid, Your Way

Accept payments online and in person. Powered by Stripe with direct payouts to your bank account.

### Online Payments

Customers pay securely during booking with cards, Apple Pay, or Google Pay. Collect the full amount or a deposit — you choose.

### Tap-to-Pay & POS

Collect payments face-to-face with tap-to-pay on your phone or a connected card reader. Perfect for collecting remaining balances and tips.

### Fast Payouts

Get paid directly to your bank account via Stripe. No waiting, no hassle — your earnings are transferred automatically.

Zero commission from EasyBook

We never take a cut from your payments. Connect your own Stripe account — or create one in minutes — and every cent goes directly to you.

![Stripe](https://easybook.io/stripe.svg)

ManagerStaff

## Your Business, Anywhere

Stay on top of your schedule wherever you are. The EasyBook app gives you full control over your bookings, staff, and customers — on any device.

![EasyBook manager tablet view](https://staging.media.easybook.io/landing/admin_tablet_view.png)![EasyBook manager mobile view](https://staging.media.easybook.io/landing/admin_mobile_view.png)

### Calendar Views

Switch between daily, weekly, and monthly views to see your full schedule at a glance.

### Push Notifications

Get instant alerts for new bookings, cancellations, and upcoming appointments.

### Real-Time Sync

Changes sync instantly across all devices. Your team always sees the latest schedule.

[![Download on the App Store](https://staging.media.easybook.io/landing/download_apple.png)](https://easybook.io/en/#)[![Get it on Google Play](https://staging.media.easybook.io/landing/download_google.png)](https://easybook.io/en/#)

## Up and Running in Minutes

Three simple steps to start accepting bookings online.

1

### Create Your Business

Sign up for free and set up your business profile with your services, staff, and working hours.

2

### Share Your Booking Page

Share your unique booking link with customers via your website, social media, or messaging apps.

3

### Manage & Grow

Accept bookings, manage your calendar, and grow your business with powerful analytics and tools.

## Simple, transparent pricing

Pay only for what you use — one price per bookable resource, no hidden fees

MonthlyYearly2 months free

### Independent7 day trial

€9.95

per month, billed annually

Includes

-   1 bookable resource
-   Unlimited bookings
-   Online booking page
-   Email support

[Start free trial](https://app.easybook.io/register)

### Standard7 day trial

€4.95

per resource / month, billed annually

Includes

-   Unlimited bookable resources
-   Unlimited bookings
-   Online booking page
-   Staff & resource management
-   Dashboard & analytics
-   Priority support

[Start free trial](https://app.easybook.io/register)

### Enterprise

Custom

For high-volume businesses with 20+ bookable resources. Dedicated support and custom integrations.

[Contact sales](https://easybook.io/cdn-cgi/l/email-protection#a9dac8c5ccdae9ccc8dad0cbc6c6c287c0c696dadccbc3cccadd94fac8c5ccda8c9b99e0c7d8dcc0dbd08c9b998cec9b8c91998c909d8c9b99ecc8dad0ebc6c6c2)

A bookable resource is any staff member or resource (room, court, equipment) on your calendar. Admins and booking managers are free.

## Ready to Simplify Your Scheduling?

Join thousands of businesses that trust EasyBook to manage their appointments. Start free today.

[Get Started for Free](https://app.easybook.io/register)

Upload this file as /en.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.

Our recommendation

Download llms.txt
# EasyBook

> EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.

## Main
- [EasyBook — Online Booking & Appointment Scheduling for Businesses](https://easybook.io/en/): EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautif…
- [EasyBook](https://easybook.io/en)
- [Türkçe 🇹🇷](https://easybook.io/tr)
- [Deutsch 🇩🇪](https://easybook.io/de)
- [Français 🇫🇷](https://easybook.io/fr)
- [Español 🇪🇸](https://easybook.io/es)

## Blog
- [Blog](https://easybook.io/blog)

## Legal
- [Legal](https://easybook.io/legal)
- [Privacy Policy](https://easybook.io/privacy-policy)
- [Terms of Use](https://easybook.io/terms-of-use)
- [Cookie Policy](https://easybook.io/cookie-policy)

Full llms.txt requires domain-wide analysis (coming soon)

Upload this file to https://easybook.io/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.

This site already has a llms.txt file.

Valid format
# EasyBook

> Online booking and appointment scheduling platform for service businesses. Operated by Loyaltify OÜ (Estonia, EU).

EasyBook helps service businesses manage bookings, staff, schedules, and customers. It provides an embeddable booking page that lets end-customers book appointments online in real time, plus a dashboard for business owners and a mobile app for managers and staff.

## Who it's for

- Salons (hair, beauty, nails)
- Barbers
- Spas and wellness centers
- Sports facilities (padel courts, tennis courts, fitness studios)
- Massage and bodywork therapists
- Personal trainers and fitness coaches
- Healthcare and clinics
- Tutoring and education
- Consulting and professional services
- Pet grooming and veterinary services
- Coworking spaces

## Core features

- Real-time online appointment booking
- Group bookings (one customer reserving for multiple guests at once)
- Resource booking (rooms, courts, equipment)
- Staff management with availability rules
- Service variants (different durations or prices for the same base service)
- Booking rules (lead time, cancellation, deposits)
- Customer notifications (email and SMS)
- Customer portal (self-service "My Bookings" page)
- Online payments via Stripe (full or deposit)
- In-person payments via Stripe Tap-to-Pay (iPhone) and Stripe Terminal readers
- Zero booking commission — businesses keep all of the booking revenue
- Multi-language support (English, Turkish, German, French, Spanish)
- Mobile apps for iOS and Android (manager and staff modes)
- Dashboard with analytics

## Pricing

- **Independent** — €9.95/month per bookable resource (billed annually). 7-day trial.
- **Standard** — €4.95/month per bookable resource (billed annually). 7-day trial. Most popular.
- **Enterprise** — Custom pricing for high-volume businesses with 20+ bookable resources.
- Yearly billing includes 2 months free.
- "Bookable resource" = any staff member or physical resource (room, court, equipment) that can be reserved.
- Admins and booking managers are free.

## Operating company

EasyBook is operated by **Loyaltify OÜ**, an Estonian private limited company.
- Registry code: 17223129
- Registered address: Harju maakond, Tallinn, Kesklinna linnaosa, Järvevana tee 9, 11314, Estonia
- Data is hosted in the EU (AWS Frankfurt, eu-central-1). GDPR-compliant.

## Key links

- Website: https://easybook.io
- Blog: https://easybook.io/blog
- RSS: https://easybook.io/blog/rss.xml
- Sign up: https://app.easybook.io/register
- Sign in: https://app.easybook.io/login
- Privacy Policy: https://easybook.io/privacy-policy
- Terms of Use: https://easybook.io/terms-of-use
- Cookie Policy: https://easybook.io/cookie-policy
- Legal hub: https://easybook.io/legal
- Sitemap: https://easybook.io/sitemap-index.xml

## Contact

- Sales: [email protected]
- Support: [email protected]
- Data protection: [email protected]

## Blog posts

- [Best Booking System for Consulting](https://easybook.io/blog/best-booking-system-for-consulting)  (2026-05-08 · by Cemre) — Appointment management in consulting businesses is becoming more important. EasyBook helps consultants manage meetings faster, easier, and more efficiently.
- [Best Booking System for Education & Lessons](https://easybook.io/blog/best-booking-system-for-education--lessons)  (2026-05-04 · by Cemre) — Appointment management in education & lessons businesses is becoming more important. EasyBook helps tutors and schools manage lessons faster, easier, and more efficiently.
- [Best Booking System for Sports & Courts](https://easybook.io/blog/best-booking-system-for-sports--courts)  (2026-05-02 · by Cemre) — Appointment management in sports & courts businesses is becoming more important as schedules get busier. EasyBook helps manage court reservations faster, easier, and with fewer booking conflicts.
- [Best Booking System for Medical & Health](https://easybook.io/blog/best-booking-system-for-medical--health)  (2026-04-30 · by Cemre) — Appointment management in medical & health businesses is becoming more important. EasyBook helps clinics manage bookings faster, easier, and with fewer scheduling conflicts.
- [Best Booking System for Fitness & Training](https://easybook.io/blog/best-booking-system-for-fitness--training)  (2026-04-28 · by Cemre) — Appointment management in fitness & training businesses is becoming more important as schedules get busier. EasyBook helps gyms and trainers manage bookings faster, easier, and more efficiently.
- [Best Booking System for Beauty & Nails](https://easybook.io/blog/best-booking-system-for-beauty--nails)  (2026-04-26 · by Cemre) — Appointment management in beauty & nails businesses is becoming more important every day. EasyBook helps make bookings faster, smoother, and more organized for both salons and customers.
- [Best Booking System for Spa & Wellness](https://easybook.io/blog/best-booking-system-for-spa--wellness)  (2026-04-19 · by Cemre) — Appointment management in spa & wellness businesses is becoming more important. EasyBook makes bookings faster, simpler, and more organized for both businesses and customers.
- [Best Booking System for Barber & Hair Salon](https://easybook.io/blog/best-booking-system-for-barber--hair-salon)  (2026-04-12 · by Cemre) — Appointment management in barber & hair
salons is becoming more important due to busy schedules and overlapping bookings. EasyBook makes reservations faster, simpler, and more organized.
- [The Future of Booking: Simple, Fast, Frictionless](https://easybook.io/blog/the-future-of-booking-simple-fast-frictionless)  (2026-04-05 · by Cemre) — With digitalization, customers now expect to complete reservation processes within seconds. Simple interfaces and fast confirmation flows directly impact user satisfaction.

Semantic HTML

Uses article or main element (100/100)

Has <main>

Proper heading hierarchy (100/100)

Clean heading hierarchy

Uses semantic HTML elements (29/100)

13 semantic elements, 138 divs (ratio: 9%)

Meaningful image alt texts (100/100)

20/20 images with meaningful alt text

Low div nesting depth (100/100)

Avg div depth: 1.9, max: 3

Content Efficiency

Good token reduction ratio (100/100)

93% token reduction (HTML→Markdown)

Good content-to-noise ratio (25/100)

Content ratio: 8.5% (5150 content chars / 60623 HTML bytes)

Minimal inline styles (100/100)

1/523 elements with inline styles (0.2%)

Reasonable page weight (100/100)

HTML size: 59KB

AI Discoverability

Has llms.txt file (100/100)

llms.txt exists and is valid

Has robots.txt file (100/100)

robots.txt exists

Robots.txt allows AI bots (100/100)

All major AI bots allowed

Has sitemap.xml (100/100)

Sitemap found

Markdown for Agents support (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Has Content-Signal (robots.txt or HTTP headers) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Structured Data

Has Schema.org / JSON-LD (100/100)

JSON-LD found: Organization, WebSite, SoftwareApplication

Has Open Graph tags (100/100)

All OG tags present

Has meta description (100/100)

Meta description: 135 chars

Has canonical URL (100/100)

Canonical URL present

Has lang attribute (100/100)

lang="en"

Accessibility

Content available without JavaScript (100/100)

Content available without JavaScript

Reasonable page size (100/100)

Page size: 59KB

Content appears early in HTML (75/100)

Main content starts at 21% of HTML

{
  "url": "https://easybook.io/en/",
  "timestamp": 1778701185173,
  "fetch": {
    "mode": "simple",
    "timeMs": 208,
    "htmlSizeBytes": 60623,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "EasyBook — Online Booking & Appointment Scheduling for Businesses",
    "excerpt": "EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.",
    "byline": null,
    "siteName": "EasyBook",
    "lang": "en",
    "contentLength": 5150,
    "metadata": {
      "description": "EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.",
      "ogTitle": "EasyBook — Online Booking & Appointment Scheduling for Businesses",
      "ogDescription": "EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.",
      "ogImage": "https://easybook.io/og.png",
      "ogType": "website",
      "canonical": "https://easybook.io/en/",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "Organization",
          "name": "EasyBook",
          "legalName": "Loyaltify OÜ",
          "url": "https://easybook.io",
          "logo": "https://easybook.io/logo.png",
          "foundingDate": "2024",
          "address": {
            "@type": "PostalAddress",
            "streetAddress": "Järvevana tee 9",
            "addressLocality": "Tallinn",
            "postalCode": "11314",
            "addressCountry": "EE"
          },
          "sameAs": []
        },
        {
          "@context": "https://schema.org",
          "@type": "WebSite",
          "name": "EasyBook",
          "url": "https://easybook.io",
          "inLanguage": "en",
          "publisher": {
            "@type": "Organization",
            "name": "Loyaltify OÜ"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "SoftwareApplication",
          "name": "EasyBook",
          "applicationCategory": "BusinessApplication",
          "operatingSystem": "Web, iOS, Android",
          "description": "EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.",
          "url": "https://easybook.io/en",
          "offers": {
            "@type": "Offer",
            "price": "9.95",
            "priceCurrency": "EUR",
            "availability": "https://schema.org/InStock"
          }
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": "Astro v5.18.1",
      "markdownAlternateHref": null
    }
  },
  "markdown": "## Effortless Booking for Your Business\n\nGive your customers a beautiful online booking experience. Manage appointments, staff schedules, and services — all in one place.\n\n![EasyBook dashboard — bookings calendar with appointments, staff, and resources](https://easybook.io/images/hero.png)\n\n## Our track record\n\nTrusted by businesses worldwide\n\nJoin thousands of businesses already using EasyBook to manage their appointments and grow their customer base.\n\nBusinesses on the platform\n\n2,000+\n\nBookings completed\n\n500,000+\n\nHappy customers\n\n150,000+\n\nRevenue generated\n\n€12M+\n\n## One platform, infinite possibilities\n\nFrom hair salons to padel courts, from yoga studios to consulting firms — EasyBook adapts to any business that runs on appointments.\n\n[Get started now](https://app.easybook.io/register)\n\n## Everything You Need to Grow\n\nPowerful tools designed for service businesses of every size.\n\n### Online Booking\n\nCustomers book 24/7 through your personalized booking page. Book multiple appointments at once with group bookings, and offer service variants with different durations and prices.\n\n### Online Payments\n\nCollect payments at booking time via Stripe. Accept deposits or full payments online, and use tap-to-pay for in-person collection.\n\n### Staff Management\n\nManage your team's schedules, assign services, set individual availability rules, and handle multi-staff appointments.\n\n### Resource Booking\n\nManage bookable resources like rooms, courts, or equipment. Define types, set availability, and let the system auto-assign.\n\n### Smart Scheduling\n\nAutomatic conflict detection, buffer times, multi-staff coordination, and intelligent slot calculation keep your calendar optimized.\n\n### Booking Rules\n\nSet minimum notice hours, maximum advance booking days, and cancellation deadlines. Protect your schedule while giving customers flexibility.\n\n### Notifications\n\nAutomated email confirmations and reminders for every booking. Set reminder timing before appointments. In-app notifications keep your team in the loop.\n\n### Customer Portal\n\nCustomers can log in to view, cancel, or reschedule their bookings. A manage link in every confirmation email gives quick access.\n\n### Dashboard & Analytics\n\nTrack daily and weekly bookings, revenue, and customer stats. Real-time dashboard with upcoming appointments at a glance.\n\n### Mobile App\n\nManage your bookings on the go. Full calendar views, booking management, tap-to-pay payment collection, and push notifications — right from your phone.\n\n### Multi-Language\n\nYour booking page adapts to your customer's language. Supports English, Turkish, German, French, and Spanish out of the box.\n\n### Custom Booking Page\n\nUse your own domain for a branded booking experience. Share a professional link that matches your business identity.\n\n## Get Paid, Your Way\n\nAccept payments online and in person. Powered by Stripe with direct payouts to your bank account.\n\n### Online Payments\n\nCustomers pay securely during booking with cards, Apple Pay, or Google Pay. Collect the full amount or a deposit — you choose.\n\n### Tap-to-Pay & POS\n\nCollect payments face-to-face with tap-to-pay on your phone or a connected card reader. Perfect for collecting remaining balances and tips.\n\n### Fast Payouts\n\nGet paid directly to your bank account via Stripe. No waiting, no hassle — your earnings are transferred automatically.\n\nZero commission from EasyBook\n\nWe never take a cut from your payments. Connect your own Stripe account — or create one in minutes — and every cent goes directly to you.\n\n![Stripe](https://easybook.io/stripe.svg)\n\n## Your Business, Anywhere\n\nStay on top of your schedule wherever you are. The EasyBook app gives you full control over your bookings, staff, and customers — on any device.\n\n![EasyBook manager tablet view](https://staging.media.easybook.io/landing/admin_tablet_view.png)![EasyBook manager mobile view](https://staging.media.easybook.io/landing/admin_mobile_view.png)\n\n### Calendar Views\n\nSwitch between daily, weekly, and monthly views to see your full schedule at a glance.\n\n### Push Notifications\n\nGet instant alerts for new bookings, cancellations, and upcoming appointments.\n\n### Real-Time Sync\n\nChanges sync instantly across all devices. Your team always sees the latest schedule.\n\n[![Download on the App Store](https://staging.media.easybook.io/landing/download_apple.png)](https://easybook.io/en/#)[![Get it on Google Play](https://staging.media.easybook.io/landing/download_google.png)](https://easybook.io/en/#)\n\n## Up and Running in Minutes\n\nThree simple steps to start accepting bookings online.\n\n1\n\n### Create Your Business\n\nSign up for free and set up your business profile with your services, staff, and working hours.\n\n2\n\n### Share Your Booking Page\n\nShare your unique booking link with customers via your website, social media, or messaging apps.\n\n3\n\n### Manage & Grow\n\nAccept bookings, manage your calendar, and grow your business with powerful analytics and tools.\n\n## Simple, transparent pricing\n\nPay only for what you use — one price per bookable resource, no hidden fees\n\n### Independent\n\n7 day trial\n\n€9.95\n\nper month, billed annually\n\nIncludes\n\n-   1 bookable resource\n-   Unlimited bookings\n-   Online booking page\n-   Email support\n\n[Start free trial](https://app.easybook.io/register)\n\n### Standard\n\n7 day trial\n\n€4.95\n\nper resource / month, billed annually\n\nIncludes\n\n-   Unlimited bookable resources\n-   Unlimited bookings\n-   Online booking page\n-   Staff & resource management\n-   Dashboard & analytics\n-   Priority support\n\n[Start free trial](https://app.easybook.io/register)\n\n### Enterprise\n\nCustom\n\nFor high-volume businesses with 20+ bookable resources. Dedicated support and custom integrations.\n\n[Contact sales](https://easybook.io/cdn-cgi/l/email-protection#a9dac8c5ccdae9ccc8dad0cbc6c6c287c0c696dadccbc3cccadd94fac8c5ccda8c9b99e0c7d8dcc0dbd08c9b998cec9b8c91998c909d8c9b99ecc8dad0ebc6c6c2)\n\nA bookable resource is any staff member or resource (room, court, equipment) on your calendar. Admins and booking managers are free.\n\n## Ready to Simplify Your Scheduling?\n\nJoin thousands of businesses that trust EasyBook to manage their appointments. Start free today.\n\n[Get Started for Free](https://app.easybook.io/register)\n",
  "fullPageMarkdown": "EasyBook — Online Booking & Appointment Scheduling for Businesses\n\n [![EasyBook](https://easybook.io/logo.png) EasyBook](https://easybook.io/en)\n\n[Get Started](https://app.easybook.io/register) [Sign In →](https://app.easybook.io/login)\n\n[Use Cases](https://easybook.io/en#use-cases)[Features](https://easybook.io/en#features)[Payments](https://easybook.io/en#payments)[The App](https://easybook.io/en#mobile-app)[How It Works](https://easybook.io/en#how-it-works)[Pricing](https://easybook.io/en#pricing)[Blog](https://easybook.io/blog)\n\n[Get Started](https://app.easybook.io/register)[Sign In →](https://app.easybook.io/login)\n\n[What's new See all features](https://easybook.io/en#features)\n\n# Effortless Booking for Your Business\n\nGive your customers a beautiful online booking experience. Manage appointments, staff schedules, and services — all in one place.\n\n[Start Free](https://app.easybook.io/register) [See How It Works →](https://easybook.io/en#how-it-works)\n\n![EasyBook dashboard — bookings calendar with appointments, staff, and resources](https://easybook.io/images/hero.png)\n\n## Our track record\n\nTrusted by businesses worldwide\n\nJoin thousands of businesses already using EasyBook to manage their appointments and grow their customer base.\n\nBusinesses on the platform\n\n2,000+\n\nBookings completed\n\n500,000+\n\nHappy customers\n\n150,000+\n\nRevenue generated\n\n€12M+\n\n## One platform, infinite possibilities\n\nFrom hair salons to padel courts, from yoga studios to consulting firms — EasyBook adapts to any business that runs on appointments.\n\n[Get started now](https://app.easybook.io/register)\n\n![Hair salon](https://images.unsplash.com/photo-1560066984-138dadb4c035?w=600&h=500&fit=crop)\n\nHair salon\n\n![Barbershop](https://images.unsplash.com/photo-1503951914875-452162b0f3f1?w=600&h=500&fit=crop)\n\nBarbershop\n\n![Spa & wellness](https://images.unsplash.com/photo-1544161515-4ab6ce6db874?w=600&h=500&fit=crop)\n\nSpa & wellness\n\n![Sports & padel](https://images.unsplash.com/photo-1554068865-24cecd4e34b8?w=600&h=500&fit=crop)\n\nSports & padel\n\n![Gym & yoga](https://images.unsplash.com/photo-1534438327276-14e5300c3a48?w=600&h=500&fit=crop)\n\nGym & yoga\n\n![Massage therapy](https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?w=600&h=500&fit=crop)\n\nMassage therapy\n\n![Health & medical](https://images.unsplash.com/photo-1631217868264-e5b90bb7e133?w=600&h=500&fit=crop)\n\nHealth & medical\n\n![Tutoring & lessons](https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=600&h=500&fit=crop)\n\nTutoring & lessons\n\n![Beauty studio](https://images.unsplash.com/photo-1487412947147-5cebf100ffc2?w=600&h=500&fit=crop)\n\nBeauty studio\n\n![Consulting](https://images.unsplash.com/photo-1553877522-43269d4ea984?w=600&h=500&fit=crop)\n\nConsulting\n\n![Pet grooming](https://images.unsplash.com/photo-1516734212186-a967f81ad0d7?w=600&h=500&fit=crop)\n\nPet grooming\n\n![Coworking spaces](https://images.unsplash.com/photo-1497366216548-37526070297c?w=600&h=500&fit=crop)\n\nCoworking spaces\n\n## Everything You Need to Grow\n\nPowerful tools designed for service businesses of every size.\n\n### Online Booking\n\nCustomers book 24/7 through your personalized booking page. Book multiple appointments at once with group bookings, and offer service variants with different durations and prices.\n\n### Online Payments\n\nCollect payments at booking time via Stripe. Accept deposits or full payments online, and use tap-to-pay for in-person collection.\n\n### Staff Management\n\nManage your team's schedules, assign services, set individual availability rules, and handle multi-staff appointments.\n\n### Resource Booking\n\nManage bookable resources like rooms, courts, or equipment. Define types, set availability, and let the system auto-assign.\n\n### Smart Scheduling\n\nAutomatic conflict detection, buffer times, multi-staff coordination, and intelligent slot calculation keep your calendar optimized.\n\n### Booking Rules\n\nSet minimum notice hours, maximum advance booking days, and cancellation deadlines. Protect your schedule while giving customers flexibility.\n\n### Notifications\n\nAutomated email confirmations and reminders for every booking. Set reminder timing before appointments. In-app notifications keep your team in the loop.\n\n### Customer Portal\n\nCustomers can log in to view, cancel, or reschedule their bookings. A manage link in every confirmation email gives quick access.\n\n### Dashboard & Analytics\n\nTrack daily and weekly bookings, revenue, and customer stats. Real-time dashboard with upcoming appointments at a glance.\n\n### Mobile App\n\nManage your bookings on the go. Full calendar views, booking management, tap-to-pay payment collection, and push notifications — right from your phone.\n\n### Multi-Language\n\nYour booking page adapts to your customer's language. Supports English, Turkish, German, French, and Spanish out of the box.\n\n### Custom Booking Page\n\nUse your own domain for a branded booking experience. Share a professional link that matches your business identity.\n\n## Get Paid, Your Way\n\nAccept payments online and in person. Powered by Stripe with direct payouts to your bank account.\n\n### Online Payments\n\nCustomers pay securely during booking with cards, Apple Pay, or Google Pay. Collect the full amount or a deposit — you choose.\n\n### Tap-to-Pay & POS\n\nCollect payments face-to-face with tap-to-pay on your phone or a connected card reader. Perfect for collecting remaining balances and tips.\n\n### Fast Payouts\n\nGet paid directly to your bank account via Stripe. No waiting, no hassle — your earnings are transferred automatically.\n\nZero commission from EasyBook\n\nWe never take a cut from your payments. Connect your own Stripe account — or create one in minutes — and every cent goes directly to you.\n\n![Stripe](https://easybook.io/stripe.svg)\n\nManagerStaff\n\n## Your Business, Anywhere\n\nStay on top of your schedule wherever you are. The EasyBook app gives you full control over your bookings, staff, and customers — on any device.\n\n![EasyBook manager tablet view](https://staging.media.easybook.io/landing/admin_tablet_view.png)![EasyBook manager mobile view](https://staging.media.easybook.io/landing/admin_mobile_view.png)\n\n### Calendar Views\n\nSwitch between daily, weekly, and monthly views to see your full schedule at a glance.\n\n### Push Notifications\n\nGet instant alerts for new bookings, cancellations, and upcoming appointments.\n\n### Real-Time Sync\n\nChanges sync instantly across all devices. Your team always sees the latest schedule.\n\n[![Download on the App Store](https://staging.media.easybook.io/landing/download_apple.png)](https://easybook.io/en/#)[![Get it on Google Play](https://staging.media.easybook.io/landing/download_google.png)](https://easybook.io/en/#)\n\n## Up and Running in Minutes\n\nThree simple steps to start accepting bookings online.\n\n1\n\n### Create Your Business\n\nSign up for free and set up your business profile with your services, staff, and working hours.\n\n2\n\n### Share Your Booking Page\n\nShare your unique booking link with customers via your website, social media, or messaging apps.\n\n3\n\n### Manage & Grow\n\nAccept bookings, manage your calendar, and grow your business with powerful analytics and tools.\n\n## Simple, transparent pricing\n\nPay only for what you use — one price per bookable resource, no hidden fees\n\nMonthlyYearly2 months free\n\n### Independent7 day trial\n\n€9.95\n\nper month, billed annually\n\nIncludes\n\n-   1 bookable resource\n-   Unlimited bookings\n-   Online booking page\n-   Email support\n\n[Start free trial](https://app.easybook.io/register)\n\n### Standard7 day trial\n\n€4.95\n\nper resource / month, billed annually\n\nIncludes\n\n-   Unlimited bookable resources\n-   Unlimited bookings\n-   Online booking page\n-   Staff & resource management\n-   Dashboard & analytics\n-   Priority support\n\n[Start free trial](https://app.easybook.io/register)\n\n### Enterprise\n\nCustom\n\nFor high-volume businesses with 20+ bookable resources. Dedicated support and custom integrations.\n\n[Contact sales](https://easybook.io/cdn-cgi/l/email-protection#a9dac8c5ccdae9ccc8dad0cbc6c6c287c0c696dadccbc3cccadd94fac8c5ccda8c9b99e0c7d8dcc0dbd08c9b998cec9b8c91998c909d8c9b99ecc8dad0ebc6c6c2)\n\nA bookable resource is any staff member or resource (room, court, equipment) on your calendar. Admins and booking managers are free.\n\n## Ready to Simplify Your Scheduling?\n\nJoin thousands of businesses that trust EasyBook to manage their appointments. Start free today.\n\n[Get Started for Free](https://app.easybook.io/register)\n",
  "markdownStats": {
    "images": 6,
    "links": 7,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 33
  },
  "tokens": {
    "htmlTokens": 18806,
    "markdownTokens": 1338,
    "reduction": 17468,
    "reductionPercent": 93
  },
  "score": {
    "score": 79,
    "grade": "B",
    "dimensions": {
      "semanticHtml": {
        "score": 86,
        "weight": 20,
        "grade": "B",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 25,
            "details": "Clean heading hierarchy"
          },
          "semantic_elements": {
            "score": 29,
            "weight": 20,
            "details": "13 semantic elements, 138 divs (ratio: 9%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "20/20 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 1.9, max: 3"
          }
        }
      },
      "contentEfficiency": {
        "score": 78,
        "weight": 25,
        "grade": "B",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "93% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 25,
            "weight": 30,
            "details": "Content ratio: 8.5% (5150 content chars / 60623 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "1/523 elements with inline styles (0.2%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 59KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 55,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 100,
            "weight": 20,
            "details": "llms.txt exists and is valid"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 15,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 30,
            "details": "JSON-LD found: Organization, WebSite, SoftwareApplication"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 25,
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 135 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"en\""
          }
        }
      },
      "accessibility": {
        "score": 93,
        "weight": 15,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 59KB"
          },
          "fast_content_position": {
            "score": 75,
            "weight": 30,
            "details": "Main content starts at 21% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "improve_content_ratio",
      "priority": "high",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 25,
      "checkDetails": "Content ratio: 8.5% (5150 content chars / 60623 HTML bytes)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 29,
      "checkDetails": "13 semantic elements, 138 divs (ratio: 9%)"
    }
  ],
  "llmsTxtPreview": "# EasyBook\n\n> EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautiful booking page.\n\n## Main\n- [EasyBook — Online Booking & Appointment Scheduling for Businesses](https://easybook.io/en/): EasyBook helps service businesses manage bookings, staff, and customers. Free online scheduling software with a beautif…\n- [EasyBook](https://easybook.io/en)\n- [Türkçe 🇹🇷](https://easybook.io/tr)\n- [Deutsch 🇩🇪](https://easybook.io/de)\n- [Français 🇫🇷](https://easybook.io/fr)\n- [Español 🇪🇸](https://easybook.io/es)\n\n## Blog\n- [Blog](https://easybook.io/blog)\n\n## Legal\n- [Legal](https://easybook.io/legal)\n- [Privacy Policy](https://easybook.io/privacy-policy)\n- [Terms of Use](https://easybook.io/terms-of-use)\n- [Cookie Policy](https://easybook.io/cookie-policy)\n\n",
  "llmsTxtExisting": "# EasyBook\n\n> Online booking and appointment scheduling platform for service businesses. Operated by Loyaltify OÜ (Estonia, EU).\n\nEasyBook helps service businesses manage bookings, staff, schedules, and customers. It provides an embeddable booking page that lets end-customers book appointments online in real time, plus a dashboard for business owners and a mobile app for managers and staff.\n\n## Who it's for\n\n- Salons (hair, beauty, nails)\n- Barbers\n- Spas and wellness centers\n- Sports facilities (padel courts, tennis courts, fitness studios)\n- Massage and bodywork therapists\n- Personal trainers and fitness coaches\n- Healthcare and clinics\n- Tutoring and education\n- Consulting and professional services\n- Pet grooming and veterinary services\n- Coworking spaces\n\n## Core features\n\n- Real-time online appointment booking\n- Group bookings (one customer reserving for multiple guests at once)\n- Resource booking (rooms, courts, equipment)\n- Staff management with availability rules\n- Service variants (different durations or prices for the same base service)\n- Booking rules (lead time, cancellation, deposits)\n- Customer notifications (email and SMS)\n- Customer portal (self-service \"My Bookings\" page)\n- Online payments via Stripe (full or deposit)\n- In-person payments via Stripe Tap-to-Pay (iPhone) and Stripe Terminal readers\n- Zero booking commission — businesses keep all of the booking revenue\n- Multi-language support (English, Turkish, German, French, Spanish)\n- Mobile apps for iOS and Android (manager and staff modes)\n- Dashboard with analytics\n\n## Pricing\n\n- **Independent** — €9.95/month per bookable resource (billed annually). 7-day trial.\n- **Standard** — €4.95/month per bookable resource (billed annually). 7-day trial. Most popular.\n- **Enterprise** — Custom pricing for high-volume businesses with 20+ bookable resources.\n- Yearly billing includes 2 months free.\n- \"Bookable resource\" = any staff member or physical resource (room, court, equipment) that can be reserved.\n- Admins and booking managers are free.\n\n## Operating company\n\nEasyBook is operated by **Loyaltify OÜ**, an Estonian private limited company.\n- Registry code: 17223129\n- Registered address: Harju maakond, Tallinn, Kesklinna linnaosa, Järvevana tee 9, 11314, Estonia\n- Data is hosted in the EU (AWS Frankfurt, eu-central-1). GDPR-compliant.\n\n## Key links\n\n- Website: https://easybook.io\n- Blog: https://easybook.io/blog\n- RSS: https://easybook.io/blog/rss.xml\n- Sign up: https://app.easybook.io/register\n- Sign in: https://app.easybook.io/login\n- Privacy Policy: https://easybook.io/privacy-policy\n- Terms of Use: https://easybook.io/terms-of-use\n- Cookie Policy: https://easybook.io/cookie-policy\n- Legal hub: https://easybook.io/legal\n- Sitemap: https://easybook.io/sitemap-index.xml\n\n## Contact\n\n- Sales: [email protected]\n- Support: [email protected]\n- Data protection: [email protected]\n\n## Blog posts\n\n- [Best Booking System for Consulting](https://easybook.io/blog/best-booking-system-for-consulting)  (2026-05-08 · by Cemre) — Appointment management in consulting businesses is becoming more important. EasyBook helps consultants manage meetings faster, easier, and more efficiently.\n- [Best Booking System for Education & Lessons](https://easybook.io/blog/best-booking-system-for-education--lessons)  (2026-05-04 · by Cemre) — Appointment management in education & lessons businesses is becoming more important. EasyBook helps tutors and schools manage lessons faster, easier, and more efficiently.\n- [Best Booking System for Sports & Courts](https://easybook.io/blog/best-booking-system-for-sports--courts)  (2026-05-02 · by Cemre) — Appointment management in sports & courts businesses is becoming more important as schedules get busier. EasyBook helps manage court reservations faster, easier, and with fewer booking conflicts.\n- [Best Booking System for Medical & Health](https://easybook.io/blog/best-booking-system-for-medical--health)  (2026-04-30 · by Cemre) — Appointment management in medical & health businesses is becoming more important. EasyBook helps clinics manage bookings faster, easier, and with fewer scheduling conflicts.\n- [Best Booking System for Fitness & Training](https://easybook.io/blog/best-booking-system-for-fitness--training)  (2026-04-28 · by Cemre) — Appointment management in fitness & training businesses is becoming more important as schedules get busier. EasyBook helps gyms and trainers manage bookings faster, easier, and more efficiently.\n- [Best Booking System for Beauty & Nails](https://easybook.io/blog/best-booking-system-for-beauty--nails)  (2026-04-26 · by Cemre) — Appointment management in beauty & nails businesses is becoming more important every day. EasyBook helps make bookings faster, smoother, and more organized for both salons and customers.\n- [Best Booking System for Spa & Wellness](https://easybook.io/blog/best-booking-system-for-spa--wellness)  (2026-04-19 · by Cemre) — Appointment management in spa & wellness businesses is becoming more important. EasyBook makes bookings faster, simpler, and more organized for both businesses and customers.\n- [Best Booking System for Barber & Hair Salon](https://easybook.io/blog/best-booking-system-for-barber--hair-salon)  (2026-04-12 · by Cemre) — Appointment management in barber & hair\nsalons is becoming more important due to busy schedules and overlapping bookings. EasyBook makes reservations faster, simpler, and more organized.\n- [The Future of Booking: Simple, Fast, Frictionless](https://easybook.io/blog/the-future-of-booking-simple-fast-frictionless)  (2026-04-05 · by Cemre) — With digitalization, customers now expect to complete reservation processes within seconds. Simple interfaces and fast confirmation flows directly impact user satisfaction.",
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://easybook.io/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://easybook.io/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://easybook.io/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Use our API to get this programmatically (coming soon)

This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.

Share your results

Twitter LinkedIn

Embed your badge

Add this badge to your site. It updates automatically as your AI-readiness score changes.

AgentReady.md score for easybook.io
Script Recommended
<script src="https://agentready.md/badge.js" data-id="adb240fb-49fb-40b8-a317-90f935355735" data-domain="easybook.io"></script>
Markdown
[![AgentReady.md score for easybook.io](https://agentready.md/badge/easybook.io.svg)](https://agentready.md/r/adb240fb-49fb-40b8-a317-90f935355735)

Coming soon: Full Domain Analysis

Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.

You're on the list! We'll notify you when it launches.