{
  "_meta": {
    "generator": "https://bridgetoagent.com",
    "generator_name": "BridgeToAgent",
    "homepage": "https://bridgetoagent.com",
    "made_with": "BridgeToAgent",
    "standard": "agents.json + llms.txt + agent-instructions.md",
    "version": "1.2",
    "generated_at": "2026-05-19T19:44:15.083Z",
    "platform": {
      "cms": "woocommerce",
      "cms_version": null,
      "cms_confidence": 0.5,
      "ecom": "woocommerce",
      "forms": [
        "native"
      ],
      "scheduling": null,
      "chat": null,
      "analytics": [
        "ga4"
      ]
    },
    "critique_notes": "The draft contained five separate actions all sharing the intent \"category_navigation\", which is invalid (duplicate intents). They have been consolidated into one clean action with a {category_slug} placeholder reflecting the site's confirmed custom permalink pattern (/{slug}/ directly, not the WooCommerce default /product-category/{slug}/). The sub-category, blog index, campaigns, inspiration, and catalogues destinations are all covered by this single parameterised action. All six API shortcuts from the platform pack were already present and correct; no shortcut changes needed.",
    "repair_log": [
      {
        "kind": "dropped_action_404",
        "intent": "pagination",
        "location": "https://banquet.se/{category_slug}/page/{page_number}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "product_purchase",
        "location": "https://banquet.se/produkt/{product_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "comment_post",
        "location": "https://banquet.se/{article_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "share_content",
        "location": "https://banquet.se/{article_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "read_article",
        "location": "https://banquet.se/{article_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "filter_results",
        "location": "https://banquet.se/{category_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "sort_results",
        "location": "https://banquet.se/{category_slug}/"
      },
      {
        "kind": "dropped_action_404",
        "intent": "category_navigation",
        "location": "https://banquet.se/{category_slug}/"
      },
      {
        "kind": "rewrote_api_shortcut",
        "from": "https://banquet.se/sitemap.xml",
        "to": "https://banquet.se/sitemap_index.xml"
      },
      {
        "kind": "dropped_api_shortcut",
        "url": "https://banquet.se/?wc-ajax=add_to_cart",
        "reason": "unexpected content-type: text/html; charset=UTF-8"
      }
    ],
    "consistency_log": {
      "changes_made": [],
      "notes": "Pre-check clean (HIGH=0). D2 reconciliation skipped — saves ~30-60s and ~$0.10 Anthropic spend.",
      "skipped": true,
      "skipped_reason": "pre_check_clean",
      "post_check_findings": [
        {
          "severity": "MEDIUM",
          "code": "runbook-extra-apis",
          "message": "agent-instructions.md documents API paths missing from agents.json api_shortcuts: /wp-json/contact-form-7/v1/contact-forms/{x}/feedback"
        },
        {
          "severity": "LOW",
          "code": "platform-fingerprint-runbook-only",
          "message": "Platform \"WooCommerce\" named positively in agent-instructions.md but NOT in agents.json site_goal"
        },
        {
          "severity": "LOW",
          "code": "platform-fingerprint-runbook-only",
          "message": "Platform \"WordPress\" named positively in agent-instructions.md but NOT in agents.json site_goal"
        },
        {
          "severity": "LOW",
          "code": "url-coverage-gap",
          "message": "CART URL referenced in some files but missing from: llms.txt"
        },
        {
          "severity": "LOW",
          "code": "url-coverage-gap",
          "message": "CHECKOUT URL referenced in some files but missing from: llms.txt"
        },
        {
          "severity": "LOW",
          "code": "url-coverage-gap",
          "message": "ACCOUNT URL referenced in some files but missing from: llms.txt"
        },
        {
          "severity": "LOW",
          "code": "goal-blockquote-divergence",
          "message": "llms.txt blockquote and agents.json site_goal have low keyword overlap (12%). They should describe the same site in compatible terms."
        }
      ]
    }
  },
  "site_goal": "Banquet.se is a Swedish B2B/B2C e-commerce store selling conference, office, restaurant, café, event, and outdoor furniture. An autonomous agent can browse and purchase furniture products, manage a cart and checkout, create/manage an account, search for products, read guides, and contact the company.",
  "actions": [
    {
      "intent": "information_retrieval",
      "description": "Search the site for products or content using the global search bar. Submits a GET request to the homepage with the query parameter 's'.",
      "location": "https://banquet.se/",
      "parameters": [
        {
          "name": "s",
          "type": "string",
          "required": true,
          "description": "The search query, e.g. 'konferensbord' or 'Berlin bänkset'. Can include post_type=product filter via URL."
        }
      ],
      "success_indicator": "Page redirects to /?s={query} and displays a list of matching products or posts."
    },
    {
      "intent": "product_search",
      "description": "Search specifically for products by appending post_type=product to the query string, filtering results to WooCommerce products only.",
      "location": "https://banquet.se/?s={query}&post_type=product",
      "parameters": [
        {
          "name": "s",
          "type": "string",
          "required": true,
          "description": "The product search query, e.g. 'klappstol' or 'Berlin'."
        },
        {
          "name": "post_type",
          "type": "string",
          "required": true,
          "description": "Must be set to 'product' to restrict results to WooCommerce products."
        }
      ],
      "success_indicator": "Results page at /?s={query}&post_type=product renders WooCommerce product listings."
    },
    {
      "intent": "cart_management",
      "description": "View the shopping cart (varukorg) to review items, update quantities, remove products, or apply a coupon code. Cart URL observed in scrape as /kundvagn/.",
      "location": "https://banquet.se/kundvagn/",
      "parameters": [
        {
          "name": "coupon_code",
          "type": "string",
          "required": false,
          "description": "A discount/coupon code to apply to the order."
        },
        {
          "name": "apply_coupon",
          "type": "string",
          "required": false,
          "description": "Submit value to apply coupon; set to 'Apply coupon'."
        },
        {
          "name": "quantity",
          "type": "number",
          "required": false,
          "description": "Updated quantity for a specific cart item."
        }
      ],
      "success_indicator": "Cart page at /kundvagn/ renders with current cart items, totals, and coupon field. On coupon apply, success notice 'Kupongkod tillagd' or similar appears."
    },
    {
      "intent": "checkout_initiate",
      "description": "Proceed from the cart to checkout. WooCommerce checkout is localized; based on observed cart URL /kundvagn/ the checkout is inferred to be /kassa/ (Swedish locale). Guest or account checkout choice may be presented.",
      "location": "https://banquet.se/kassa/",
      "parameters": [],
      "success_indicator": "Checkout page at /kassa/ loads with billing and shipping address forms."
    },
    {
      "intent": "checkout_shipping",
      "description": "Fill in shipping address on the WooCommerce checkout page (when 'ship to a different address' is selected). Field names from WooCommerce platform pack ground truth.",
      "location": "https://banquet.se/kassa/",
      "parameters": [
        {
          "name": "shipping_first_name",
          "type": "string",
          "required": true,
          "description": "Recipient's first name for shipping."
        },
        {
          "name": "shipping_last_name",
          "type": "string",
          "required": true,
          "description": "Recipient's last name for shipping."
        },
        {
          "name": "shipping_company",
          "type": "string",
          "required": false,
          "description": "Company name for the shipping address."
        },
        {
          "name": "shipping_country",
          "type": "string",
          "required": true,
          "description": "Two-letter country code for shipping destination, e.g. 'SE' for Sweden."
        },
        {
          "name": "shipping_address_1",
          "type": "string",
          "required": true,
          "description": "Primary street address line for shipping."
        },
        {
          "name": "shipping_address_2",
          "type": "string",
          "required": false,
          "description": "Secondary street address line (apartment, suite, etc.)."
        },
        {
          "name": "shipping_city",
          "type": "string",
          "required": true,
          "description": "City for the shipping address."
        },
        {
          "name": "shipping_state",
          "type": "string",
          "required": false,
          "description": "State or region for the shipping address."
        },
        {
          "name": "shipping_postcode",
          "type": "string",
          "required": true,
          "description": "Postal/zip code for the shipping address, e.g. '11120'."
        }
      ],
      "success_indicator": "Shipping fields are populated and order summary updates with correct shipping costs."
    },
    {
      "intent": "checkout_billing",
      "description": "Fill in billing address on the WooCommerce checkout page. These fields are always required. Field names from WooCommerce platform pack ground truth.",
      "location": "https://banquet.se/kassa/",
      "parameters": [
        {
          "name": "billing_first_name",
          "type": "string",
          "required": true,
          "description": "Billing contact's first name."
        },
        {
          "name": "billing_last_name",
          "type": "string",
          "required": true,
          "description": "Billing contact's last name."
        },
        {
          "name": "billing_company",
          "type": "string",
          "required": false,
          "description": "Company name for the billing address (common for B2B orders)."
        },
        {
          "name": "billing_country",
          "type": "string",
          "required": true,
          "description": "Two-letter country code for billing, e.g. 'SE'."
        },
        {
          "name": "billing_address_1",
          "type": "string",
          "required": true,
          "description": "Primary street address line for billing."
        },
        {
          "name": "billing_address_2",
          "type": "string",
          "required": false,
          "description": "Secondary address line for billing."
        },
        {
          "name": "billing_city",
          "type": "string",
          "required": true,
          "description": "City for the billing address."
        },
        {
          "name": "billing_state",
          "type": "string",
          "required": false,
          "description": "State or region for billing."
        },
        {
          "name": "billing_postcode",
          "type": "string",
          "required": true,
          "description": "Postal/zip code for the billing address."
        },
        {
          "name": "billing_phone",
          "type": "tel",
          "required": true,
          "description": "Phone number for billing contact."
        },
        {
          "name": "billing_email",
          "type": "email",
          "required": true,
          "description": "Email address for order confirmation and billing."
        },
        {
          "name": "order_comments",
          "type": "textarea",
          "required": false,
          "description": "Optional order notes or special instructions for the order."
        }
      ],
      "success_indicator": "Billing fields are populated; checkout form is ready to proceed to payment."
    },
    {
      "intent": "checkout_payment",
      "description": "Select payment method and submit payment on the WooCommerce checkout page. Field names from WooCommerce platform pack. Common payment methods for Swedish WooCommerce stores include card (Stripe), invoice, and Klarna.",
      "location": "https://banquet.se/kassa/",
      "parameters": [
        {
          "name": "payment_method",
          "type": "string",
          "required": true,
          "description": "Selected payment method identifier, e.g. 'stripe', 'klarna', 'cod', 'paypal', or 'invoice'."
        },
        {
          "name": "terms",
          "type": "boolean",
          "required": true,
          "description": "Must be checked (true) to confirm acceptance of terms and conditions before submitting the order."
        },
        {
          "name": "woocommerce-process-checkout-nonce",
          "type": "string",
          "required": true,
          "description": "WP nonce value carried from the checkout form HTML — must be fresh from a page render."
        },
        {
          "name": "_wp_http_referer",
          "type": "string",
          "required": true,
          "description": "WordPress HTTP referer hidden field, carried from the rendered checkout form."
        }
      ],
      "success_indicator": "Redirect to /kassa/order-received/{order-id}?key={order-key} — WooCommerce order confirmation page with 'Tack för din beställning' (Thank you) message."
    },
    {
      "intent": "order_confirmation",
      "description": "The post-checkout order confirmation page rendered after a successful WooCommerce purchase. Inferred from WooCommerce platform pack conventions (Swedish locale: /kassa/ base).",
      "location": "https://banquet.se/kassa/order-received/{order_id}/",
      "parameters": [
        {
          "name": "order_id",
          "type": "number",
          "required": true,
          "description": "The WooCommerce order ID appended to the order-received URL."
        },
        {
          "name": "key",
          "type": "string",
          "required": true,
          "description": "The order key query parameter (e.g. ?key=wc_order_abc123) required to view the order confirmation."
        }
      ],
      "success_indicator": "Page displays 'Tack för din beställning' (Thank you for your order) with order summary and order number."
    },
    {
      "intent": "login",
      "description": "Log in to an existing Banquet customer account using username/email and password. Form observed at / submitting to /my-account/. Field names are DOM ground truth.",
      "location": "https://banquet.se/my-account/",
      "parameters": [
        {
          "name": "username",
          "type": "string",
          "required": true,
          "description": "The account username or email address (autocomplete=username)."
        },
        {
          "name": "password",
          "type": "password",
          "required": true,
          "description": "The account password (autocomplete=current-password)."
        },
        {
          "name": "rememberme",
          "type": "boolean",
          "required": false,
          "description": "Check to keep the session persistent ('Kom ihåg mig'). Value when checked: 'forever'."
        },
        {
          "name": "_wpnonce",
          "type": "string",
          "required": true,
          "description": "WordPress nonce for the login form — must be extracted fresh from the rendered HTML."
        },
        {
          "name": "_wp_http_referer",
          "type": "string",
          "required": true,
          "description": "WordPress HTTP referer hidden field from the rendered form."
        }
      ],
      "success_indicator": "302 redirect to /my-account/ and the customer dashboard renders with account details visible."
    },
    {
      "intent": "signup",
      "description": "Create a new customer account. Registration link observed at /my-account/?action=register. Uses WooCommerce platform pack field names.",
      "location": "https://banquet.se/my-account/?action=register",
      "parameters": [
        {
          "name": "email",
          "type": "email",
          "required": true,
          "description": "Email address for the new account."
        },
        {
          "name": "password",
          "type": "password",
          "required": false,
          "description": "Password for the new account (if 'let me set my password' option is enabled on the site)."
        },
        {
          "name": "register",
          "type": "string",
          "required": true,
          "description": "Submit button value — set to 'Register'."
        },
        {
          "name": "_wpnonce",
          "type": "string",
          "required": true,
          "description": "WordPress nonce for the registration form — must be fetched fresh from the rendered HTML."
        }
      ],
      "success_indicator": "302 redirect to /my-account/ with the new account dashboard visible, or a 'Your account has been created' confirmation message."
    },
    {
      "intent": "password_reset",
      "description": "Request a password reset link via the 'Saknar du lösenordet?' (Lost password) page observed at /my-account/lost-password/.",
      "location": "https://banquet.se/my-account/lost-password/",
      "parameters": [
        {
          "name": "user_login",
          "type": "string",
          "required": true,
          "description": "Username or email address associated with the account to reset."
        },
        {
          "name": "_wpnonce",
          "type": "string",
          "required": true,
          "description": "WordPress nonce for the lost-password form — must be fetched from the rendered page."
        }
      ],
      "success_indicator": "Success notice displayed: 'Ett e-postmeddelande har skickats till din e-postadress' or similar password reset email confirmation."
    },
    {
      "intent": "profile_update",
      "description": "View and update account details, order history, and saved addresses in the My Account dashboard.",
      "location": "https://banquet.se/my-account/",
      "parameters": [],
      "success_indicator": "My Account dashboard renders with sections for orders, addresses, and account details."
    },
    {
      "intent": "billing_management",
      "description": "View and manage saved addresses (billing and shipping) from the account dashboard.",
      "location": "https://banquet.se/my-account/edit-address/",
      "parameters": [
        {
          "name": "billing_first_name",
          "type": "string",
          "required": false,
          "description": "Updated billing first name."
        },
        {
          "name": "billing_last_name",
          "type": "string",
          "required": false,
          "description": "Updated billing last name."
        },
        {
          "name": "billing_address_1",
          "type": "string",
          "required": false,
          "description": "Updated billing street address."
        },
        {
          "name": "billing_city",
          "type": "string",
          "required": false,
          "description": "Updated billing city."
        },
        {
          "name": "billing_postcode",
          "type": "string",
          "required": false,
          "description": "Updated billing postal code."
        },
        {
          "name": "billing_country",
          "type": "string",
          "required": false,
          "description": "Updated billing country (two-letter code)."
        },
        {
          "name": "billing_email",
          "type": "email",
          "required": false,
          "description": "Updated billing email address."
        },
        {
          "name": "billing_phone",
          "type": "tel",
          "required": false,
          "description": "Updated billing phone number."
        }
      ],
      "success_indicator": "Success notice 'Adressen har sparats.' (Address saved) displayed after form submit."
    },
    {
      "intent": "order_history",
      "description": "View past orders in the My Account orders section.",
      "location": "https://banquet.se/my-account/orders/",
      "parameters": [],
      "success_indicator": "My Account orders page renders with a table of past orders including order number, date, status, and total."
    },
    {
      "intent": "contact_form",
      "description": "Contact Banquet via the /kontakt/ page. The site uses Contact Form 7 (most common WP contact plugin) — fields follow CF7 conventions. Also reachable directly at mailto:sales@banquet.se.",
      "location": "https://banquet.se/kontakt/",
      "parameters": [
        {
          "name": "your-name",
          "type": "string",
          "required": true,
          "description": "Sender's full name."
        },
        {
          "name": "your-email",
          "type": "email",
          "required": true,
          "description": "Sender's email address for replies."
        },
        {
          "name": "your-subject",
          "type": "string",
          "required": false,
          "description": "Subject of the message."
        },
        {
          "name": "your-message",
          "type": "textarea",
          "required": true,
          "description": "The message body to send to Banquet's sales team."
        },
        {
          "name": "_wpcf7",
          "type": "string",
          "required": true,
          "description": "Hidden CF7 form ID — must be extracted from the rendered form HTML."
        },
        {
          "name": "_wpcf7_version",
          "type": "string",
          "required": true,
          "description": "Hidden CF7 version field — extracted from rendered form HTML."
        },
        {
          "name": "_wpcf7_unit_tag",
          "type": "string",
          "required": true,
          "description": "Hidden CF7 unit tag — extracted from rendered form HTML."
        }
      ],
      "success_indicator": "CF7 JSON response { 'status': 'mail_sent' } returned from /wp-json/contact-form-7/v1/contact-forms/{id}/feedback, and an inline 'Tack!' or success message appears on the page."
    },
    {
      "intent": "document_download",
      "description": "Download or view product catalogues from the /produktkataloger/ page. Specific catalogue PDF URLs are not available in the scraped corpus but are expected to be listed on the catalogues page.",
      "location": "https://banquet.se/produktkataloger/",
      "parameters": [],
      "success_indicator": "PDF catalogue opens in browser or downloads, or a list of catalogue links is presented on the page."
    },
    {
      "intent": "information_retrieval",
      "description": "View the About Us page for company background and information.",
      "location": "https://banquet.se/om-oss/",
      "parameters": [],
      "success_indicator": "Om oss (About Us) page renders with company description and history."
    },
    {
      "intent": "information_retrieval",
      "description": "View customer references/testimonials on the /referenser/ page.",
      "location": "https://banquet.se/referenser/",
      "parameters": [],
      "success_indicator": "References page renders with customer names, logos, and testimonials."
    },
    {
      "intent": "information_retrieval",
      "description": "Browse the Konferens section for conference-specific furniture information and solutions.",
      "location": "https://banquet.se/konferens/",
      "parameters": [],
      "success_indicator": "Conference solutions page renders with relevant products and information."
    },
    {
      "intent": "information_retrieval",
      "description": "Browse the Inredare (Interior Designers) section targeted at professional interior designers.",
      "location": "https://banquet.se/inredare/",
      "parameters": [],
      "success_indicator": "Interior designer page renders with relevant trade/professional information."
    },
    {
      "intent": "lead_generation",
      "description": "Send a direct email to Banquet sales team via the mailto link observed in the site header. Email address is sales@banquet.se.",
      "location": "mailto:sales@banquet.se",
      "parameters": [
        {
          "name": "to",
          "type": "email",
          "required": true,
          "description": "Always 'sales@banquet.se'."
        },
        {
          "name": "subject",
          "type": "string",
          "required": false,
          "description": "Email subject describing the inquiry."
        },
        {
          "name": "body",
          "type": "textarea",
          "required": false,
          "description": "Email body with the agent's question or product inquiry."
        }
      ],
      "success_indicator": "Mail client opens with pre-filled recipient sales@banquet.se."
    }
  ],
  "api_shortcuts": [
    "https://banquet.se/wp-json/wc/store/v1/products",
    "https://banquet.se/wp-json/wc/store/v1/cart",
    "https://banquet.se/wp-json/wc/store/v1/checkout",
    "https://banquet.se/wp-json/wp/v2/posts",
    "https://banquet.se/wp-json/wp/v2/pages",
    "https://banquet.se/wp-json/wp/v2/categories",
    "https://banquet.se/wp-json/wp/v2/tags",
    "https://banquet.se/wp-json/wp/v2/comments",
    "https://banquet.se/wp-json/wp/v2/media",
    "https://banquet.se/feed/",
    "https://banquet.se/sitemap_index.xml"
  ]
}