{"version":2,"name":"Agentic score","status":"in_force","published_at":"2026-10-07T00:00:00Z","effective_at":"2026-10-07T00:00:00Z","summary":"The agentic score says how far an AI agent can go with a business through doors the business published: message, book, order, sign up, cancel and negotiate, and the journey around them. It counts what applies to that kind of business and nothing else, by the weights below, from what we read on the business's own site and doors, each with its source and date. It is not a certification, it never changes the directory's search order, and nobody can pay for it.","vocabulary":"https://surfingdog.ai/v1/score-rules#capabilities","capabilities":[{"id":"find","journey":"before","label":"Find","question":"Can an agent read who the business is, its opening hours and where it is?","group":"find"},{"id":"catalogue","journey":"before","label":"Catalogue","question":"Can an agent read its services, products or menu, with prices?","group":"readable"},{"id":"availability","journey":"before","label":"Availability","question":"Can an agent check free slots or stock?","group":"state"},{"id":"message","journey":"before","label":"Message","question":"Can an agent send the business a message and get an answer?","group":"core"},{"id":"negotiate","journey":"before","label":"Negotiate","question":"Can an agent ask for a quote, make an offer or get a counter-offer?","group":"negotiate"},{"id":"book","journey":"doing","label":"Book","question":"Can an agent make a booking, with its details?","group":"core"},{"id":"order","journey":"doing","label":"Order","question":"Can an agent place an order, with its options?","group":"core"},{"id":"signup","journey":"doing","label":"Sign up","question":"Can an agent sign the person up: an account, a membership, a class, a course or a newsletter list for the business's own service?","group":"core"},{"id":"pay","journey":"doing","label":"Pay","question":"Can an agent pay, and is it clear how payment happens?","group":"core"},{"id":"change","journey":"after","label":"Change","question":"Can an agent change a booking or an order?","group":"after"},{"id":"cancel","journey":"after","label":"Cancel","question":"Can an agent cancel a booking or an order?","group":"after"},{"id":"track","journey":"after","label":"Track","question":"Can an agent see the status of a booking, an order or a delivery?","group":"state"},{"id":"return","journey":"after","label":"Return or refund","question":"Can an agent start a return, a refund or an exchange?","group":"after"},{"id":"receipt","journey":"after","label":"Receipt","question":"Can an agent get a receipt or an invoice?","group":"after"},{"id":"feedback","journey":"after","label":"Feedback","question":"Can an agent leave feedback or a review?","group":"unscored"},{"id":"subscription","journey":"ongoing","label":"Membership","question":"Can an agent pause, resume or end a membership or subscription?","group":"after"},{"id":"vouchers","journey":"ongoing","label":"Vouchers","question":"Can an agent use a gift card, a voucher or loyalty points?","group":"unscored"},{"id":"waitlist","journey":"ongoing","label":"Waitlist","question":"Can an agent join a waitlist?","group":"unscored"},{"id":"support","journey":"ongoing","label":"Support","question":"Can an agent raise a complaint or a problem with an order?","group":"unscored"},{"id":"policies","journey":"policies","label":"Policies","question":"Can an agent read the cancellation, return, deposit or no-show policy?","group":"readable"}],"groups":[{"id":"core","weight":40,"members":["message","book","order","signup","pay"]},{"id":"after","weight":30,"members":["change","cancel","return","subscription","receipt"]},{"id":"state","weight":10,"members":["availability","track"]},{"id":"negotiate","weight":5,"members":["negotiate"]},{"id":"readable","weight":10,"members":["catalogue","policies"]},{"id":"find","weight":5,"members":["find"]},{"id":"unscored","weight":0,"members":["feedback","vouchers","waitlist","support"]}],"profiles":[{"id":"appointments","label":"Appointments (salons, clinics, lawyers, advisers, tours)","noun":"a business taking appointments (a salon, a clinic, a dentist, a lawyer, an adviser or a tour)","applicable":["find","catalogue","availability","message","book","pay","change","cancel","feedback","policies"],"groups":["hair-beauty","wellness","photography","tours","auto","health","dental","therapy","legal","accounting","finance","property","recruitment"]},{"id":"classes","label":"Classes, lessons, tutoring and childcare","noun":"a school, a class, a tutor or childcare (lessons, courses, tutoring and day care)","applicable":["find","catalogue","availability","message","book","signup","pay","change","cancel","feedback","policies"],"either":[["book","signup"]],"groups":["education","childcare"]},{"id":"food","label":"Restaurants, bars and food","noun":"a restaurant, a bar or a food business","applicable":["find","catalogue","availability","message","book","order","pay","change","cancel"],"groups":["restaurant","cafe","bakery","bar"]},{"id":"trades","label":"Trades and quote-led services","noun":"a trade or quote-led service","applicable":["message","negotiate","book","pay","change","cancel","receipt"],"groups":["trades","cleaning","repair","consulting","it-services","events"]},{"id":"shop","label":"Shops","noun":"a shop","applicable":["find","catalogue","availability","order","pay","change","cancel","track","return","receipt"],"groups":["grocery","shop","florist","pets","crafts"]},{"id":"stay","label":"Places to stay and transport","noun":"a place to stay, or transport (an airline, a ferry, a coach or a taxi)","applicable":["availability","message","book","pay","change","cancel","policies"],"groups":["stay","transport"]},{"id":"memberships","label":"Gyms and memberships","noun":"a gym or membership business","applicable":["find","catalogue","book","order","signup","pay","cancel","subscription"],"either":[["order","signup"]],"groups":["fitness"]},{"id":"venues","label":"Venues and events (live music, clubs, theatre, cinema, museums)","noun":"a venue (live music, a club, a theatre, a cinema, a museum or an event space)","applicable":["find","catalogue","availability","message","book","order","signup","pay","change","cancel","policies"],"either":[["book","order","signup"]],"groups":["venues"]},{"id":"general","label":"Business (type unknown)","noun":"a business of a kind not known","applicable":["find","catalogue","message","book","order","signup","pay","policies"],"either":[["book","order","signup"]],"groups":["software-ai"]}],"credit":{"yes":1,"partial":0.5,"no":0},"evidence":{"declared":1,"tested":1,"proven":1,"produced":["declared"]},"formula":"For profile P: A_g = members(g) ∩ applicable(P), for each group g with weight \u003e 0, where the capabilities of one of P's either sets count as one member of A_g, whose halves are the most any of them has. A group with A_g = ∅ is dropped.\npossible = Σ_{g: A_g≠∅} W_g\nN        = Σ_{g: A_g≠∅} W_g × s_g × (60 / |A_g|)      where s_g = Σ_{c∈A_g} halves(c)   (|A_g| ≤ 5; 60 = lcm(1..5))\nD        = 120 × possible\nscore    = (100 × N + D/2) div D                       (round half up; 0..100)\ngrade    = A ≥ 80, B ≥ 60, C ≥ 40, D ≥ 20, E \u003c 20","grades":[{"grade":"A","min":80},{"grade":"B","min":60},{"grade":"C","min":40},{"grade":"D","min":20},{"grade":"E","min":0}],"rank":"whether an agent can book, order or sign up there (yes, then partly, then no or not applicable), then score, then the most recent check, then domain; over businesses not hidden by their owner and of kinds the directory lists, software, API and AI companies among themselves. A leaderboard numbers the businesses it names 1, 2, 3 and so on; a result page's rank counts every business checked, named or not, in the same order.","named":"A business is named on leaderboards, and its result page may be indexed, when it is agent-ready (askable or above); others are counted, not named. If your site tells AI systems not to use or train on its content, we don't name you or list you publicly.","directory":"The agentic score never changes a business's place in the directory's search order (https://surfingdog.ai/v1/ranking).","not_certification":"This is not a certification: it is what was read on the business's own site and doors on the date shown.","fixes":{"find":{"title":"Publish who you are, when you are open and where","how":"Add schema.org LocalBusiness markup (its most specific type) with name, address, geo and openingHoursSpecification."},"catalogue":{"title":"Publish your services and prices for machines","how":"Add schema.org Service, Product or Menu items with Offer prices to your pages, publish a UCP catalog, or add a tool such as list_services\u003cdoor\u003e.","protocol":"Publish your catalogue with its prices\u003cdoor\u003e."},"availability":{"title":"Let agents check availability","how":"Add a tool or operation such as check_availability\u003cdoor\u003e, or publish stock with your catalogue.","protocol":"Publish stock with your catalogue\u003cdoor\u003e.","by_profile":{"venues":{"how":"Add a tool or operation such as check_availability\u003cdoor\u003e that says which dates, seats or tables are free."}}},"message":{"title":"Let agents send you a message","how":"Publish a door that takes messages: an agent inbox, an A2A skill, or a tool such as send_message\u003cdoor\u003e."},"negotiate":{"title":"Let agents ask for a quote","how":"Add a tool such as request_quote or make_offer\u003cdoor\u003e, or take quote requests in an agent inbox."},"book":{"title":"Let agents book","how":"Add a tool or operation that creates a booking, such as create_booking or POST /bookings\u003cdoor\u003e; if you use a booking platform, ask it whether it offers an agent door and declare it.","by_profile":{"venues":{"title":"Let agents book or buy tickets","how":"Add a tool or operation that books tickets, a table or an entry, such as create_booking or POST /bookings\u003cdoor\u003e, or sell tickets through UCP or ACP checkout; signing a person up as a member counts too. If you sell through a ticketing or booking platform, ask it whether it offers an agent door and declare it."},"general":{"title":"Let agents book, order or sign up","how":"Add a tool or operation that creates a booking, an order or a sign-up, such as create_booking, create_order or sign_up\u003cdoor\u003e, or publish UCP or ACP checkout; any one of them counts. If you use a booking platform, ask it whether it offers an agent door and declare it."},"classes":{"title":"Let agents book or enrol","how":"Add a tool or operation that books a lesson or enrols a person in a class or a course, such as create_booking, enrol or POST /enrolments\u003cdoor\u003e; either one counts. If you use a booking platform, ask it whether it offers an agent door and declare it."}}},"order":{"title":"Let agents order","how":"Publish UCP or ACP checkout, or add a tool or operation that creates an order, such as create_order\u003cdoor\u003e.","by_profile":{"memberships":{"title":"Let agents sign people up","how":"Add a tool or operation that signs a person up or sells a membership, such as sign_up, create_membership or POST /members\u003cdoor\u003e, or publish UCP or ACP checkout for memberships; either one counts."}},"protocol":"Publish checkout\u003cdoor\u003e."},"signup":{"title":"Let agents sign people up","how":"Add a tool or operation that signs a person up for an account, a membership, a class or a newsletter list, such as sign_up, create_account or POST /members\u003cdoor\u003e. Logging in is not signing up."},"pay":{"title":"Let agents pay","how":"Accept payment through the agent (UCP payment handlers, ACP delegated payment, AP2 or x402, or a pay tool\u003cdoor\u003e), and state in your structured data how payment happens.","protocol":"Publish payment handlers (UCP) or delegated payment (ACP)\u003cdoor\u003e."},"change":{"title":"Let agents change a booking or an order","how":"Add a tool or operation such as reschedule_booking or PATCH /orders/{id}\u003cdoor\u003e.","by_profile":{"shop":{"how":"Add a tool or operation such as update_order or PATCH /orders/{id}\u003cdoor\u003e."},"appointments":{"how":"Add a tool or operation such as reschedule_booking or PATCH /bookings/{id}\u003cdoor\u003e."},"stay":{"how":"Add a tool or operation such as change_reservation or PATCH /reservations/{id}\u003cdoor\u003e."},"venues":{"how":"Add a tool or operation such as change_booking or PATCH /bookings/{id}\u003cdoor\u003e, for a date, a seat or the number of tickets."}},"protocol":"Publish order management with changes to an order\u003cdoor\u003e, or add a tool or operation such as update_order."},"cancel":{"title":"Let agents cancel","how":"Add a tool or operation such as cancel_booking or DELETE /bookings/{id}\u003cdoor\u003e, and publish your cancellation policy.","by_profile":{"shop":{"how":"Add a tool or operation such as cancel_order or DELETE /orders/{id}\u003cdoor\u003e, and publish your cancellation policy."},"venues":{"how":"Add a tool or operation such as cancel_booking or DELETE /bookings/{id}\u003cdoor\u003e, and publish your refund and exchange policy for tickets."}},"protocol":"Publish order management with cancelling an order\u003cdoor\u003e, and publish your cancellation policy."},"track":{"title":"Let agents see the status","how":"Add a tool or operation such as get_order_status or GET /orders/{id}\u003cdoor\u003e.","protocol":"Publish order management with an order's status\u003cdoor\u003e."},"return":{"title":"Let agents start a return or refund","how":"Add a tool such as request_return\u003cdoor\u003e, and mark up your returns policy (schema.org MerchantReturnPolicy).","protocol":"Publish returns\u003cdoor\u003e, and mark up your returns policy (schema.org MerchantReturnPolicy)."},"receipt":{"title":"Let agents get a receipt or invoice","how":"Add a tool or operation such as get_invoice\u003cdoor\u003e."},"subscription":{"title":"Let agents manage a membership","how":"Add tools to pause, resume or end a membership\u003cdoor\u003e."},"policies":{"title":"Publish your policies for machines","how":"Mark up your returns policy (schema.org MerchantReturnPolicy), link your cancellation, deposit and no-show policies from your pages, or add a tool that returns them\u003cdoor\u003e.","by_profile":{"appointments":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."},"food":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."},"stay":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."},"memberships":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."},"venues":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."},"general":{"how":"Link your cancellation, deposit and no-show policies from your pages and state their terms in words (such as \"free cancellation up to 24 hours before\"), or add a tool that returns them\u003cdoor\u003e."}}}},"changelog":[{"version":1,"summary":"The agentic score: capabilities by kind of business, published weights, declared evidence."},{"version":1,"amended":"2026-10-07","summary":"The category group software-ai (software, API and AI companies), new on this day, is scored under the general profile. Before it, such a business had no group and took its profile from its signals (a shop's door or catalogue, a door that books), else general. No other rule changed."},{"version":2,"published":"2026-10-07","summary":"Version 2. The general profile (a business whose kind is not known, and software, API and AI companies) is now scored on whether an agent can book, order or sign up there: book and order count together as one capability of the core group, and sign up with them (yes when any of them is yes, partly when any is partly), so its core group is message, book or order or sign up, and pay, still weighing 40. Under version 1 none applied to it, so a site where an agent could send a message and do nothing else scored as high as one where it could also book or buy; a clinic, a dentist, a therapist, a lawyer, a bar or a software company that takes no booking, order or sign-up through an agent now scores lower than before. Venues and events (live music, jazz clubs and nightclubs, theatres, cinemas, concert halls, comedy clubs, museums and galleries, event spaces) are now a kind of business of their own, the profile venues, where booking tickets, a table or an entry, ordering them, or signing up, counts the same way. Sign up is a capability of its own (can an agent sign the person up: an account, a membership, a class, a course or a newsletter list for the business's own service?), in the core group, met by a tool, skill or operation that signs a person up (sign_up, register, create_account, joining a club, a class or a membership, enrol, a schema.org RegisterAction or JoinAction), never by one that logs a person in and nothing more, nor by one that registers a tool, a model, a webhook or a passkey, joins tables, or adds staff or team members. It applies where it is natural: for a business of a kind not known and for venues it counts with book and order as one; for gyms and memberships it counts with order as one (joining is buying the membership); and classes, lessons and tutoring are now a kind of business of their own, the profile classes (before, scored as appointments, with the same weights), where booking a lesson or enrolling counts as one. No group's weight changed, and a business that signs nobody up scores as it did. A fix for book, order or sign up is one fix. Every stored score is worked out again under version 2; version 1 stays published at /v1/score-rules?version=1. With version 2 every leaderboard puts the businesses where an agent can book, order or sign up above the rest (yes, then partly, then no or not applicable), then orders them by score (rank); the score itself is not changed by that order. Clinics, dentists, therapists and lawyers are scored as appointment businesses (booking counts, ordering does not apply), and bars with food and drink (booking a table or ordering both count); under version 1 they fell under the general profile. The directory now lists every kind of business but adult services, gambling, weapons, tobacco, cannabis and vaping, payday loans and bail bonds, and each kind it now lists is scored where its own actions apply: banks, insurance, financial advice and loans (the group finance), estate agents (property) and recruitment agencies (recruitment) as appointment businesses, and accountants too (scored as trades under version 1); childcare as classes, where booking or enrolling counts as one; passenger transport (airlines, ferries, coaches, taxis and drivers, the group transport) with places to stay, where checking availability, booking, changing and cancelling apply; wineries and distilleries with bars; pharmacies, drugstores and hearing aids as shops; and licensed trades (electricians, plumbers, locksmiths and the like) as trades."}]}