# BackendFree > The backend behind a website: editable pages, appointments, payments into the business's own account and cookieless analytics, through a REST API and TypeScript packages. ## Getting started - [Build on BackendFree](https://backendfree.com/docs/introduction.md): One REST API and a set of TypeScript packages for the content, bookings, payments and analytics behind a website, and what to read first. - [Quickstart: free times and a booking](https://backendfree.com/docs/quickstart.md): From a key to a confirmed, paid booking in six steps with the TypeScript SDK. A publishable key does everything up to the last step. - [Keys and allowed websites](https://backendfree.com/docs/keys.md): Publishable and secret keys, what each one may do, live and test keys, and the websites a publishable key may be used from. - [Connect an AI assistant over MCP](https://backendfree.com/docs/assistants.md): Connect Claude, ChatGPT, Cursor, VS Code or any other MCP app to one website: the address, how each app adds it, what you grant, and what it can never do. - [Times, instants and the business's own clock](https://backendfree.com/docs/times.md): Why every time is an instant with an offset, how a slot carries the business's timezone, and what a clock change does to the free times. - [Web analytics: the snippet on your pages](https://backendfree.com/docs/snippet.md): One script on every page, the websites a key may report from, trying it on your own machine with a test key, named events, goals, and what it does not count. - [A booking page, with nothing to build](https://backendfree.com/docs/booking-page.md): A page hosted here where customers book: its address, its link, the tag that puts it inside your website, trying it in test mode, and what it keeps to itself. - [Section types: what a page's sections hold](https://backendfree.com/docs/sections.md): The standard section types every project starts with, each field's key, kind and whether it is required, and how an empty field arrives. ## Packages - [@backendfree/core](https://backendfree.com/docs/core.md): The client every other package is built on: keys, errors, caching, idempotent writes and verifying a webhook. - [@backendfree/cms](https://backendfree.com/docs/cms.md): Published pages as the typed sections the owner edits, and knowing when to rebuild. - [@backendfree/bookings](https://backendfree.com/docs/bookings.md): Services, staff, free times and taking a booking, with a token the customer manages it by. - [@backendfree/payments](https://backendfree.com/docs/payments.md): Taking a payment into the business's own account, from your own server with a secret key. - [@backendfree/webanalytics](https://backendfree.com/docs/webanalytics.md): Reporting page views from your own server, for the visitors and crawlers a script never sees. - [@backendfree/inbox](https://backendfree.com/docs/inbox.md): Sending a contact form's message to the website's inbox, past the spam checks, and reading them back. ## API reference - [API reference: Project](https://backendfree.com/docs/api-project.md): Every project endpoint: what it takes, what it answers with, and which key it needs. - [API reference: Content](https://backendfree.com/docs/api-content.md): Every content endpoint: what it takes, what it answers with, and which key it needs. - [API reference: Bookings](https://backendfree.com/docs/api-bookings.md): Every bookings endpoint: what it takes, what it answers with, and which key it needs. - [API reference: Payments](https://backendfree.com/docs/api-payments.md): Every payments endpoint: what it takes, what it answers with, and which key it needs. - [API reference: Inbox](https://backendfree.com/docs/api-inbox.md): Every inbox endpoint: what it takes, what it answers with, and which key it needs. ## Webhooks - [Events and what each one carries](https://backendfree.com/docs/events.md): Every event an endpoint can subscribe to, when each one is sent, and the payload a delivery of it carries. - [Webhooks: verify a delivery](https://backendfree.com/docs/webhooks.md): How a delivery is signed, how to check it before trusting it, and why a handler has to answer quickly and cope with the same delivery twice. ## Limits and errors - [Allowances and rate limits](https://backendfree.com/docs/limits.md): The monthly allowances an account has, the per-minute limits on each kind of key, and what a refusal looks like. - [Errors and error codes](https://backendfree.com/docs/errors.md): The one shape every failure arrives in, the type for each status, and the codes to branch on rather than the message. ## Optional - [Is ChatGPT sending you visitors?](https://backendfree.com/guides/is-chatgpt-sending-you-visitors.md): How a visit from an AI assistant is told apart from the rest, why the count always comes out low, and what being read by a crawler has to do with it. - [Do you need a cookie banner for analytics?](https://backendfree.com/guides/cookie-banner-for-analytics.md): What a consent banner is actually asking about, what measuring without one takes, and the part of the answer that is yours to decide. - [Which AI crawlers should you let in?](https://backendfree.com/guides/which-ai-crawlers-to-let-in.md): The three jobs AI crawlers do, what refusing each one costs you, and a robots.txt that keeps you in answers while saying no to training. - [How do you stop double bookings?](https://backendfree.com/guides/double-bookings.md): Why checking that a time is free is not enough, the rule that holds when two people book in the same second, and what the one who lost sees. - [What happens to bookings when clocks change?](https://backendfree.com/guides/clock-changes.md): The hour that does not exist, the hour that happens twice, and the one way of storing times that gets both of them right. - [How do you leave time between appointments?](https://backendfree.com/guides/time-between-appointments.md): Buffers before and after a service: what they are for, how they fit around the rest of the diary, and what the customer sees of them. - [How far ahead should people be able to book?](https://backendfree.com/guides/how-far-ahead-to-book.md): Notice and horizon, the two limits on when somebody may book, where a new project starts, and how to choose your own. - [How to take a deposit when someone books](https://backendfree.com/guides/taking-a-deposit.md): Why a deposit stops empty appointments, how to ask for one on the services that need it, and what happens when somebody does not pay or does not come. - [Is the thank-you page proof of payment?](https://backendfree.com/guides/thank-you-page.md): What the page after paying proves and what it does not, what confirms a booking instead, and what that page should say. - [Headless CMS or website builder?](https://backendfree.com/guides/headless-cms-or-website-builder.md): What each one is, when each is the right answer for a small business, and what going headless costs you. - [How to edit a site without breaking the design](https://backendfree.com/guides/editing-without-breaking-the-design.md): Why editing breaks a website, how fields instead of a page builder stop it, and the part the design still has to do itself. - [How to verify a webhook before you trust it](https://backendfree.com/guides/verifying-a-webhook.md): Why an endpoint must check every delivery, the four steps that do it, and the mistakes that make a valid delivery fail. - [Publishable or secret key: which goes where?](https://backendfree.com/guides/publishable-or-secret-key.md): What each key may do, why one is safe in a page and the other never is, and which to use where your code runs.