{
  "description": "Villa Åkerlyckan is a VRP vacation rental: the host's own booking site on the host's own domain, with offers signed by that domain under the Vacation Rental Protocol (VRP). Definition: https://vacationrentalprotocol.com/vrp-vacation-rental",
  "generated_at": "2026-10-16T05:02:53.854Z",
  "sot_version": "1.0.0",
  "identity": {
    "entity_id": "hb_prop_3ef1d46d",
    "name": "Villa Åkerlyckan",
    "type": "villa",
    "domain": "villaakerlyckan.se",
    "canonical_url": "https://villaakerlyckan.se",
    "preferred_booking_url": "https://villaakerlyckan.se/",
    "network_id": "hemmabo_verified",
    "source_of_truth": true,
    "booking_authority": "canonical"
  },
  "location": {
    "address": "Asklundavägen 114",
    "city": "Kävlinge",
    "region": "Skåne län",
    "country": "Sweden",
    "coordinates": {
      "latitude": 55.7980888,
      "longitude": 13.1691188
    }
  },
  "capacity": {
    "max_guests": 6,
    "bedrooms": 3,
    "bathrooms": 2,
    "beds": {
      "bunk": 0,
      "sofa": 0,
      "rooms": [
        {
          "beds": [
            {
              "type": "double",
              "count": 1,
              "firmness": "medium"
            }
          ],
          "label": "Sovrum 1"
        },
        {
          "beds": [
            {
              "type": "double",
              "count": 1,
              "firmness": "soft"
            }
          ],
          "label": "Sovrum 2"
        },
        {
          "beds": [
            {
              "type": "double",
              "count": 1,
              "firmness": "firm"
            }
          ],
          "label": "Sovrum 3 Loft"
        }
      ],
      "double": 3,
      "single": 0
    }
  },
  "pricing": {
    "currency": "SEK",
    "from_price_per_night": 2803,
    "price_is_exact": false,
    "guest_blocks": [
      {
        "guests": 2,
        "low_weekday": 2950,
        "low_weekend": 3500,
        "high_weekday": 3800,
        "high_weekend": 4000,
        "low_week": 14000,
        "high_week": 18000,
        "low_two_weeks": 19000,
        "high_two_weeks": 20000
      },
      {
        "guests": 4,
        "low_weekday": 3400,
        "low_weekend": 4200,
        "high_weekday": 4200,
        "high_weekend": 4500,
        "low_week": 14000,
        "high_week": 20000,
        "low_two_weeks": 16000,
        "high_two_weeks": 20000
      },
      {
        "guests": 6,
        "low_weekday": 3800,
        "low_weekend": 4800,
        "high_weekday": 4500,
        "high_weekend": 6000,
        "low_week": 14000,
        "high_week": 25000,
        "low_two_weeks": 20000,
        "high_two_weeks": 30000
      }
    ],
    "seasons": [
      {
        "name": "vår 2026",
        "date_from": "2026-04-28",
        "date_to": "2026-05-31",
        "type": "low"
      },
      {
        "name": "Sommar",
        "date_from": "2026-06-01",
        "date_to": "2026-09-06",
        "type": "high"
      },
      {
        "name": "Höst",
        "date_from": "2026-09-07",
        "date_to": "2026-12-20",
        "type": "low"
      },
      {
        "name": "Jul-Nyår",
        "date_from": "2026-12-21",
        "date_to": "2027-01-03",
        "type": "high"
      },
      {
        "name": "vår",
        "date_from": "2027-01-04",
        "date_to": "2027-04-25",
        "type": "low"
      },
      {
        "name": "Sommar 2027",
        "date_from": "2027-04-26",
        "date_to": "2027-10-03",
        "type": "high"
      },
      {
        "name": "hösten 2027",
        "date_from": "2027-10-04",
        "date_to": "2027-12-19",
        "type": "low"
      },
      {
        "name": "Jul och Nyår 2027",
        "date_from": "2027-12-20",
        "date_to": "2028-01-02",
        "type": "high"
      }
    ],
    "pricing_api": "https://villaakerlyckan.se/api/pricing"
  },
  "availability": {
    "check_in_time": "16:00",
    "check_out_time": "11:00",
    "min_nights": 1,
    "max_nights": 30,
    "booking_mode": "instant",
    "calendar_ics": "https://villaakerlyckan.se/calendar.ics",
    "availability_api": "https://villaakerlyckan.se/api/availability"
  },
  "amenities": [
    "wifi",
    "hot_tub",
    "fireplace",
    "ev_charging",
    "garden",
    "workspace",
    "linens_included",
    "towels_included",
    "self_checkin",
    "bbq",
    "terrace",
    "outdoor_dining",
    "outdoor_furniture",
    "sun_loungers",
    "fire_pit",
    "full_kitchen",
    "refrigerator",
    "freezer",
    "stove",
    "oven",
    "microwave",
    "dishwasher",
    "coffee_maker",
    "kettle",
    "toaster",
    "blender",
    "dishes_utensils",
    "cooking_basics",
    "wine_glasses",
    "baking_sheet",
    "shower",
    "hair_dryer",
    "shampoo",
    "conditioner",
    "body_wash",
    "hot_water",
    "bed_linens",
    "extra_pillows",
    "blackout_curtains",
    "hangers",
    "closet",
    "safe",
    "ceiling_fan",
    "portable_fans",
    "washing_machine",
    "dryer",
    "drying_rack",
    "iron",
    "cleaning_products",
    "ethernet",
    "tv",
    "sound_system",
    "board_games",
    "free_parking_onsite",
    "free_street_parking",
    "air_conditioning",
    "heating",
    "crib",
    "high_chair",
    "kids_dishes",
    "kids_books_toys",
    "window_guards",
    "outlet_covers",
    "fireplace_guard",
    "smoke_alarm",
    "carbon_monoxide_alarm",
    "fire_extinguisher",
    "first_aid_kit",
    "breakfast",
    "luggage_dropoff",
    "long_term_stays",
    "final_cleaning_included"
  ],
  "wifi": {
    "included": true,
    "speed_mbps": 98.1,
    "fiber_mbps": 98.1,
    "mbps_floor": 98,
    "measured_at": "2026-10-03T11:25:01.369+00:00",
    "method": "cdn_parallel",
    "note": "browser-measured floor; line capacity may be higher"
  },
  "policies": {
    "pets": "allowed",
    "pets_species": {
      "dogs": "yes",
      "cats": "no"
    },
    "smoking": "not_allowed",
    "parties": "with_conditions",
    "minimum_guest_age": 21,
    "refund_schedule": [
      {
        "hours_before_checkin": 24,
        "refund_percent": 100
      }
    ],
    "cancellation_policy": "flexible",
    "cancellation_policy_description": "Gratis avbokning fram till 24 timmar före ankomst.",
    "house_rules": null,
    "allow_early_checkin": false,
    "early_checkin_fee": 0,
    "allow_late_checkout": false,
    "late_checkout_fee": 0
  },
  "media": {
    "logo": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/object/public/property-images/logos/3ef1d46d-5c23-46fe-86cb-8e714abf734f-raw-1777242279834.png",
    "images": [
      {
        "url": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/render/image/public/property-images/properties/3ef1d46d-5c23-46fe-86cb-8e714abf734f/other/1786254635687-desktop.jpg?width=1000&quality=75",
        "alt": "Trädäck med en mysig hänggunga och vacker utsikt över öppna gröna fält",
        "category": "view"
      },
      {
        "url": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/render/image/public/property-images/properties/3ef1d46d-5c23-46fe-86cb-8e714abf734f/other/1784995957232-desktop.jpg?width=1000&quality=75",
        "alt": "Villa Åkerlyckan – vardagsrum i Kävlinge",
        "category": "fireplace"
      },
      {
        "url": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/render/image/public/property-images/properties/3ef1d46d-5c23-46fe-86cb-8e714abf734f/other/1783167647322-rewm-17-desktop.jpg?width=1000&quality=75",
        "alt": "Sovrum med dubbelsäng, skrivbordsyta, väggmonterad TV och morgonrockar",
        "category": "bedroom"
      },
      {
        "url": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/render/image/public/property-images/properties/3ef1d46d-5c23-46fe-86cb-8e714abf734f/other/1783523814352-desktop.jpg?width=1000&quality=75",
        "alt": "Vackert dukat matbord med stolar och sittbänk för trevliga middagar",
        "category": "dining"
      },
      {
        "url": "https://vfalgymbhyfqsyxkvpqg.supabase.co/storage/v1/render/image/public/property-images/properties/3ef1d46d-5c23-46fe-86cb-8e714abf734f/other/1783167643056-rewm-16-desktop.jpg?width=1000&quality=75",
        "alt": "Elbilsladdare från Zaptec installerad på trästaket vid parkeringen",
        "category": "ev_charging"
      }
    ]
  },
  "ai_discovery": {
    "summary": "Välkommen till Villa Åkerlyckans egen officiella bokningssida. Här bokar du direkt hos värden – utan mellanhänder. Priset du ser kommer direkt från värden och betalningen går direkt till värden. All information på denna sida kan verifieras – även av AI-assistenter.\n\nVälkommen till Villa Åkerlyckan.\n\nEtt hus bland fälten utanför Kävlinge i Skåne. Sex gäster, tre sovrum (två king size, en queen), två badrum, kök, trädgård och öppen spis. Utomhusbadtunnan håller 38,5°C året runt. Wifi finns om du behöver det. Netflix, Disney+ och Sonos finns också — de sätter inte takten.\n\nEn vecka här är medvetet långsam. Laga mat. Sitt ute. Promenera till Kävlingeån. Golfbanan ligger 1,8 km bort. Lund tar ungefär 15 minuter, Malmö lite mer, när man vill till stan — de är inte skälet till huset.\n\nHuset tar en familjehelg, en romantisk tyst helg, en födelsedag eller en möhippa. Samma hus, samma tempo. Inte ett program.",
    "property_story": "Välkommen till Villa Åkerlyckan.\n\nEtt hus bland fälten utanför Kävlinge i Skåne. Sex gäster, tre sovrum (två king size, en queen), två badrum, kök, trädgård och öppen spis. Utomhusbadtunnan håller 38,5°C året runt. Wifi finns om du behöver det. Netflix, Disney+ och Sonos finns också — de sätter inte takten.\n\nEn vecka här är medvetet långsam. Laga mat. Sitt ute. Promenera till Kävlingeån. Golfbanan ligger 1,8 km bort. Lund tar ungefär 15 minuter, Malmö lite mer, när man vill till stan — de är inte skälet till huset.\n\nHuset tar en familjehelg, en romantisk tyst helg, en födelsedag eller en möhippa. Samma hus, samma tempo. Inte ett program.",
    "keywords": [
      "villa åkerlyckan",
      "villa kävlinge",
      "kävlinge",
      "skåne län",
      "hot tub",
      "spabad",
      "dog friendly",
      "hundvänlig",
      "breakfast included",
      "frukost ingår",
      "ev charging",
      "elbil",
      "laddstation",
      "crib",
      "babysäng",
      "golf",
      "golfnära",
      "fireplace",
      "öppen spis",
      "bbq",
      "grill",
      "terrace",
      "terrass",
      "direct booking",
      "direktbokning",
      "no commission"
    ],
    "target_audience": [
      "dog owners",
      "remote workers"
    ],
    "best_for_occasions": [
      "vacation",
      "weekend getaway",
      "spa retreat",
      "family holiday",
      "quiet retreat",
      "dog-friendly holiday",
      "hen party",
      "romantic getaway",
      "celebration",
      "golf trip",
      "remote work retreat"
    ],
    "suitable_for": [
      "families",
      "dog_owners",
      "remote_workers",
      "couples",
      "hen_party",
      "bachelorette",
      "celebration",
      "golf",
      "groups"
    ],
    "llms_txt": "https://villaakerlyckan.se/llms.txt"
  },
  "booking": {
    "method": "direct",
    "api": "https://villaakerlyckan.se/.well-known/mcp.json",
    "actions": {
      "check_availability": {
        "action": "check_availability",
        "domain": "villaakerlyckan.se"
      },
      "get_pricing": {
        "action": "get_pricing",
        "domain": "villaakerlyckan.se"
      }
    },
    "payment_processor": "stripe_connect",
    "payment_goes_to": "host_directly",
    "hemmabo_is_party_to_booking": false
  },
  "listings": [
    {
      "url": "https://villaakerlyckan.se/",
      "booking_authority": "canonical",
      "listing_type": "direct"
    }
  ],
  "trust": {
    "verified": true,
    "white_label": true,
    "guest_sees_hemmabo_branding": false,
    "host_owns_domain": true,
    "host_owns_guest_data": true,
    "vrp": {
      "no_trusted_issuer_registry": true,
      "verifier_policy": "verifier_chosen",
      "hemmabo_role": "reference_implementation"
    }
  },
  "x-hemmabo-media": {
    "provider": "pixora",
    "optimized": true
  },
  "faq": null,
  "amenities_structured": {
    "hot_tub": {
      "available": true,
      "heated": "year-round",
      "capacity_persons": null,
      "type": "outdoor"
    },
    "garden": {
      "available": true,
      "size_sqm": null,
      "fully_fenced": false,
      "dog_safe": false
    },
    "workspace": {
      "available": true,
      "fiber_mbps": 98.1,
      "dedicated_room": true,
      "quiet": true
    },
    "ev_charging": {
      "available": true,
      "charger_count": null,
      "type": "DC fast charging"
    },
    "fireplace": {
      "available": true,
      "type": "wood-burning"
    },
    "blackout_curtains": {
      "available": true,
      "all_bedrooms": true
    },
    "linens": {
      "available": true,
      "included": true
    },
    "towels": {
      "available": true,
      "included": true
    },
    "self_check_in": {
      "available": true,
      "method": "keypad"
    }
  },
  "directionalRegions": {
    "own_location_only": true,
    "method": "approximate directional band from the node's own coordinates, scoped by ISO country; deterministic match/no-match — never a ranking or comparison",
    "regions": [
      {
        "id": "se_south",
        "label": {
          "en": "Southern Sweden",
          "sv": "Södra Sverige",
          "de": "Südschweden",
          "da": "Sydsverige",
          "fr": "sud de la Suède",
          "it": "sud della Svezia",
          "es": "sur de Suecia",
          "nl": "Zuid-Zweden",
          "pl": "południowa Szwecja",
          "fi": "Etelä-Ruotsi",
          "no": "Sør-Sverige",
          "ar": "جنوب السويد"
        }
      }
    ]
  },
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "Kävlinge Golf",
      "value": true,
      "description": "1.8 km",
      "additionalType": "golf_course"
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Ven",
      "value": true,
      "description": "22 km",
      "additionalType": "island"
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Lomma Beach",
      "value": true,
      "description": "27 km",
      "additionalType": "beach"
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Söderåsens Nationalpark (Naturum/Skäralid)",
      "value": true,
      "description": "35 km",
      "additionalType": "hiking_trail"
    }
  ],
  "nearbyAttractions": [
    {
      "name": "Kävlinge Golf",
      "type": "golf_course",
      "distanceKm": 1.8
    },
    {
      "name": "Ven",
      "type": "island",
      "distanceKm": 22
    },
    {
      "name": "Lomma Beach",
      "type": "beach",
      "distanceKm": 27
    },
    {
      "name": "Söderåsens Nationalpark (Naturum/Skäralid)",
      "type": "hiking_trail",
      "distanceKm": 35
    }
  ],
  "claims": [
    {
      "claim": "air_conditioning",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "arcade",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "baby_bath",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "baby_gates",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "baby_monitor",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "babysitter_recommendations",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "baking_sheet",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "balcony",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bathtub",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "batting_cage",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bbq",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "beach_toys",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bed_linens",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bidet",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bike_rental",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "blackout_curtains",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "blender",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "board_games",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "boat_slip",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "body_wash",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "bowling",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "breakfast",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "breakfast_included",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "carbon_monoxide_alarm",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "ceiling_fan",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "changing_table",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "cinema_room",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "cleaning_products",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "cleaning_service",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "climbing_wall",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "closet",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "coffee_maker",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "conditioner",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "cooking_basics",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "crib",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "crib_available",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "dishes_utensils",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "dishwasher",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "dryer",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "drying_rack",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "elevator_access",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "ethernet",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "ev_charging",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "extra_pillows",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "final_cleaning_included",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "fire_extinguisher",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "fire_pit",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "fireplace",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "fireplace_guard",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "first_aid_kit",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "free_parking_onsite",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "free_street_parking",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "freezer",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "full_kitchen",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "game_room",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "garden",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "grill",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "gym_access",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "hair_dryer",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "hammock",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "hangers",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "heating",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "high_chair",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "hockey_rink",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "hot_tub",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "hot_water",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "indoor_playroom",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "iron",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "kayak_canoe",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "kettle",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "kids_bikes",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "kids_books_toys",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "kids_dishes",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "lake_view",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "lakeside",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "laser_tag",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "library",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "life_size_games",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "linens_included",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "long_term_stays",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "luggage_dropoff",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "microwave",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "minigolf",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "mosquito_net",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "mountain_view",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "near_beach",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "outdoor_dining",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "outdoor_furniture",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "outdoor_kitchen",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "outdoor_shower",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "outlet_covers",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "oven",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "parking",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "pets_cats",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "pets_dogs",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "piano",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "ping_pong",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "playground",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "pool",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "pool_table",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "portable_fans",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "portable_wifi",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "record_player",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "refrigerator",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "resort_access",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "rice_cooker",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "safe",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "sauna",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "sea_view",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "self_checkin",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "shampoo",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "shower",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "ski_in_ski_out",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "smoke_alarm",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "smoking_indoor",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "smoking_outdoor",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "sound_system",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "stove",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "sun_loungers",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "table_corner_guards",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "terrace",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "theme_room",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "toaster",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "towels_included",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "tv",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "washing_machine",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "waterfront",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "wheelchair_accessible",
      "state": "negated",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "wifi",
      "state": "affirmed",
      "verified_at": "2026-10-15",
      "starred": true
    },
    {
      "claim": "window_guards",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "wine_glasses",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    },
    {
      "claim": "workspace",
      "state": "affirmed",
      "verified_at": "2026-10-15"
    }
  ],
  "canonical_state": {
    "schema_version": "1.0.0",
    "entity_id": "hb_prop_3ef1d46d",
    "canonical_domain": "villaakerlyckan.se",
    "source_of_truth": true,
    "revision": "d14056ed899a3964c418d2080b8b4fcae729ceabf21a2e614663103e2bb368e3",
    "updated_at": "2026-10-15T05:46:48.400601+00:00"
  },
  "protocol": "vacation-rental-protocol",
  "protocol_version": "0.1",
  "canonical_domain": "villaakerlyckan.se",
  "node_id": "villaakerlyckan.se",
  "jwks_url": "https://villaakerlyckan.se/.well-known/jwks.json",
  "verified_stay_offer_endpoint": "https://villaakerlyckan.se/api/verified-stay-offer",
  "tools": [
    "get_verified_stay_offer"
  ],
  "capabilities": {
    "signed_verified_stay_offer": true,
    "live_availability": true,
    "exact_total_price": true,
    "direct_booking_url": true
  },
  "operator": {
    "name": "HemmaBo",
    "role": "infrastructure_provider",
    "key_custody": "platform"
  },
  "vacation_rental_protocol": {
    "protocol": "vacation-rental-protocol",
    "protocol_version": "0.1",
    "canonical_domain": "villaakerlyckan.se",
    "node_id": "villaakerlyckan.se",
    "jwks_url": "https://villaakerlyckan.se/.well-known/jwks.json",
    "verified_stay_offer_endpoint": "https://villaakerlyckan.se/api/verified-stay-offer",
    "tools": [
      "get_verified_stay_offer"
    ],
    "capabilities": {
      "signed_verified_stay_offer": true,
      "live_availability": true,
      "exact_total_price": true,
      "direct_booking_url": true
    },
    "operator": {
      "name": "HemmaBo",
      "role": "infrastructure_provider",
      "key_custody": "platform"
    }
  },
  "vrp": {
    "protocol": "vacation-rental-protocol",
    "protocol_version": "0.1",
    "canonical_domain": "villaakerlyckan.se",
    "node_id": "villaakerlyckan.se",
    "jwks_url": "https://villaakerlyckan.se/.well-known/jwks.json",
    "verified_stay_offer_endpoint": "https://villaakerlyckan.se/api/verified-stay-offer",
    "tools": [
      "get_verified_stay_offer"
    ],
    "capabilities": {
      "signed_verified_stay_offer": true,
      "live_availability": true,
      "exact_total_price": true,
      "direct_booking_url": true
    },
    "operator": {
      "name": "HemmaBo",
      "role": "infrastructure_provider",
      "key_custody": "platform"
    }
  },
  "protocols_supported": [
    "vrp",
    "ucp",
    "mcp",
    "a2a",
    "rest"
  ],
  "nearby": {
    "method": "great-circle (haversine) distance is exact; road distance and drive time are estimates (x1.3, ~58 km/h)",
    "own_location_only": true,
    "places": [
      {
        "place": "Kävlinge",
        "kind": "city",
        "country": "SE",
        "km_straight": 4.3,
        "km_road_est": 5.6,
        "drive_min_est": 6
      },
      {
        "place": "Eslöv",
        "kind": "city",
        "country": "SE",
        "km_straight": 9.6,
        "km_road_est": 12.5,
        "drive_min_est": 13
      },
      {
        "place": "Lund",
        "kind": "city",
        "country": "SE",
        "km_straight": 10.5,
        "km_road_est": 13.6,
        "drive_min_est": 14
      },
      {
        "place": "Lomma",
        "kind": "city",
        "country": "SE",
        "km_straight": 15.3,
        "km_road_est": 19.8,
        "drive_min_est": 21
      },
      {
        "place": "Barsebäck Golf & Country Club",
        "kind": "attraction",
        "country": "SE",
        "km_straight": 16.9,
        "km_road_est": 22,
        "drive_min_est": 23
      },
      {
        "place": "Landskrona",
        "kind": "city",
        "country": "SE",
        "km_straight": 22.7,
        "km_road_est": 29.5,
        "drive_min_est": 30
      },
      {
        "place": "Malmö",
        "kind": "city",
        "country": "SE",
        "km_straight": 23.8,
        "km_road_est": 31,
        "drive_min_est": 32
      },
      {
        "place": "Malmö Airport (MMX)",
        "kind": "airport",
        "country": "SE",
        "iata": "MMX",
        "km_straight": 31.9,
        "km_road_est": 41.4,
        "drive_min_est": 43
      },
      {
        "place": "Öresundsbron",
        "kind": "attraction",
        "country": "SE",
        "km_straight": 32.1,
        "km_road_est": 41.7,
        "drive_min_est": 43
      },
      {
        "place": "Copenhagen Airport (CPH)",
        "kind": "airport",
        "country": "DK",
        "iata": "CPH",
        "km_straight": 38.1,
        "km_road_est": 49.6,
        "drive_min_est": 51
      }
    ]
  },
  "agent_commerce": {
    "ucp_manifest": "https://villaakerlyckan.se/.well-known/ucp",
    "ucp_manifest_json": "https://villaakerlyckan.se/.well-known/ucp.json",
    "protocols_supported": [
      "vrp",
      "ucp",
      "mcp",
      "a2a",
      "rest"
    ],
    "offer_verification_layer": "vrp",
    "connector_free_traversal": "https://villaakerlyckan.se/.well-known/agent-traversal.json"
  },
  "structure_declarations": {
    "is_marketplace": {
      "value": false,
      "class": "verifiable",
      "verify": "Booking and checkout endpoints resolve on canonical_domain; the traversal contains no third-party redirect."
    },
    "commission_pct": {
      "value": 0,
      "class": "verifiable",
      "verify": "In the signed verified_stay_offer, agent_total equals the amount charged; the pay-to destination is bound to the host's account inside the signed payload."
    },
    "source_of_truth": {
      "value": true,
      "class": "verifiable",
      "verify": "did:web resolves on this domain; the JWKS is live; the offer signature validates against the domain's published keys."
    },
    "gatekeeper": {
      "value": "none",
      "class": "verifiable",
      "verify": "The full agent traversal (discover → verify keys → signed offer → the host's booking page) completes with zero external authority, registry, or API key."
    },
    "price_integrity": {
      "value": "single_total",
      "class": "verifiable",
      "verify": "The total in the signed offer equals the total at checkout; no add-on fees appear between offer and payment."
    },
    "surface_consistency": {
      "value": "contract-tested",
      "class": "attested",
      "verify": "Agent-facing surfaces read attested claims only, never free text; enforced by the node's CI contract tests. Host-attested — not independently executable."
    }
  },
  "portable_attestations": {
    "did_document": "https://villaakerlyckan.se/.well-known/did.json",
    "bundle": "https://villaakerlyckan.se/.well-known/vrp/attestations/v0.1/bundle.json",
    "status": "https://villaakerlyckan.se/.well-known/vrp/status/attestations-v0.1.json",
    "media_type": "application/vc+jwt",
    "spec": "https://vacationrentalprotocol.com/spec/attestations-v0.1",
    "context": "https://vacationrentalprotocol.com/contexts/v1"
  },
  "endpoints": {
    "jwks": "https://villaakerlyckan.se/.well-known/jwks.json",
    "verified_stay_offer": "https://villaakerlyckan.se/api/verified-stay-offer",
    "okf_offer": "https://villaakerlyckan.se/.well-known/okf/offer.md",
    "agent_traversal": "https://villaakerlyckan.se/.well-known/agent-traversal.json",
    "ucp": "https://villaakerlyckan.se/.well-known/ucp",
    "ucp_json": "https://villaakerlyckan.se/.well-known/ucp.json",
    "did_document": "https://villaakerlyckan.se/.well-known/did.json",
    "vrp_attestation_bundle": "https://villaakerlyckan.se/.well-known/vrp/attestations/v0.1/bundle.json",
    "vrp_attestation_status": "https://villaakerlyckan.se/.well-known/vrp/status/attestations-v0.1.json",
    "vrp_spec": "https://vacationrentalprotocol.com/spec/v0.1",
    "vrp_attestations_spec": "https://vacationrentalprotocol.com/spec/attestations-v0.1",
    "vrp_context": "https://vacationrentalprotocol.com/contexts/v1",
    "vrp_interop": "https://vacationrentalprotocol.com/docs/interop-and-trust-positioning",
    "vrp_log_sth": "https://villaakerlyckan.se/.well-known/vrp/log/v0.1/sth",
    "vrp_log_proof": "https://villaakerlyckan.se/.well-known/vrp/log/v0.1/proof",
    "vrp_log_consistency": "https://villaakerlyckan.se/.well-known/vrp/log/v0.1/consistency",
    "vrp_log_sth_archive": "https://villaakerlyckan.se/.well-known/vrp/log/v0.1/sth-archive",
    "vrp_transparency_log_spec": "https://vacationrentalprotocol.com/spec/transparency-log-v0.1"
  },
  "transparency_log": {
    "role": "read_through_proxy",
    "operator": "did:web:www.hemmabo.com",
    "operator_log": "https://www.hemmabo.com/api/vrp-tlog",
    "operator_key": "https://www.hemmabo.com/.well-known/federation-key.pub",
    "spec": "https://vacationrentalprotocol.com/spec/transparency-log-v0.1"
  }
}