{
  "query": {
    "service_intent": "mens haircut",
    "geography": "strict",
    "selected_addons": [],
    "require_availability": false,
    "limit": 20,
    "offset": 0,
    "neighborhood": null,
    "normalized_service": "mens_haircut"
  },
  "dataset_revision": "b-merchants@2026-10-23T11:05:07Z#4f15ef234749;price-kinds@2026-10-24T09:56:47Z+public-research@e360e97d86a8+handoffs@eeeb1675e507",
  "decision_facts_revision": "decision-facts@2026-10-23T15:34:38Z",
  "ranking": "Geographic match, then salon and service names alphabetically. Information completeness does not imply service quality.",
  "availability_note": "No provider-confirmed availability is available. Date-specific options remain conditional; no slot is held or booked.",
  "options": [],
  "uncertain": [
    {
      "salon": {
        "slug": "alexander-g-elite-studio-financial-district-south-beach",
        "name": "Alexander G. Elite Studio",
        "neighborhood": "financial-district-south-beach",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-alexander-g-elite-studio-financial-district-south-beach:svc:13",
        "name": "Men’s Haircut",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; mandatory extras and final total not established by this page.",
          "Starting price only; the final service charge is not bounded."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://alexanderg.com/services",
              "checked_at": "2026-10-22T19:01:55Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://alexanderg.com/services",
          "checked_at": "2026-10-22T19:01:55Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://alexanderg.com/services",
          "checked_at": "2026-10-22T19:01:55Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://alexanderg.com/services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Only Tue-Sat published; absent days remain unknown."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 95,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://alexanderg.com/services",
            "checked_at": "2026-10-22T19:01:55Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 95,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; mandatory extras and final total not established by this page.",
          "Starting price only; the final service charge is not bounded."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Duration not published."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "tuesday",
            "closed": false,
            "open": "10:00",
            "close": "17:00"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "10:00",
            "close": "18:00"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "10:00",
            "close": "18:00"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "10:00",
            "close": "16:00"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "10:00",
            "close": "16:00"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://alexanderg.com/services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Only Tue-Sat published; absent days remain unknown."
        },
        "conflict": true,
        "conflicts": [
          {
            "value": [
              {
                "day": "monday",
                "closed": false,
                "open": "10:00",
                "close": "19:00"
              },
              {
                "day": "tuesday",
                "closed": false,
                "open": "10:00",
                "close": "19:00"
              },
              {
                "day": "wednesday",
                "closed": false,
                "open": "10:00",
                "close": "19:00"
              },
              {
                "day": "thursday",
                "closed": false,
                "open": "10:00",
                "close": "19:00"
              },
              {
                "day": "friday",
                "closed": false,
                "open": "10:00",
                "close": "19:00"
              },
              {
                "day": "saturday",
                "closed": false,
                "open": "09:00",
                "close": "17:00"
              },
              {
                "day": "sunday",
                "closed": true
              }
            ],
            "provenance": {
              "status": "verified",
              "source": {
                "type": "salon_website",
                "url": "https://alexanderg.com/"
              },
              "observedAt": "2026-10-22T19:01:53Z"
            }
          }
        ]
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/alexander-g-elite-studio-financial-district-south-beach&to=https%3A%2F%2Fbooking.mangomint.com%2Falexanderg",
        "booking_url": "https://booking.mangomint.com/alexanderg",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men’s Haircut.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "art-of-hair-bernal-heights",
        "name": "Art of Hair",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-art-of-hair-bernal-heights:svc:2",
        "name": "BALD FADE",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 45,
          "max": 45,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 45,
        "known_subtotal_max": 45,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 40,
        "max_minutes": 40,
        "base_service_minutes": 40,
        "base_service_max_minutes": 40,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "09:30",
            "close": "20:30"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "10:00",
            "close": "18:30"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/art-of-hair-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: BALD FADE.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "art-of-hair-bernal-heights",
        "name": "Art of Hair",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-art-of-hair-bernal-heights:svc:7",
        "name": "MEN'S LONG LAYERS HAIRCUT",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 75,
          "max": 75,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 75,
        "known_subtotal_max": 75,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 40,
        "max_minutes": 40,
        "base_service_minutes": 40,
        "base_service_max_minutes": 40,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "09:30",
            "close": "20:30"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "10:00",
            "close": "18:30"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/art-of-hair-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: MEN'S LONG LAYERS HAIRCUT.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "art-of-hair-bernal-heights",
        "name": "Art of Hair",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-art-of-hair-bernal-heights:svc:9",
        "name": "MEN'S PERMANENT CURL & HAIRCUT COMBO",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 160,
          "max": 160,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 160,
        "known_subtotal_max": 160,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 70,
        "max_minutes": 70,
        "base_service_minutes": 70,
        "base_service_max_minutes": 70,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "09:30",
            "close": "20:30"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "10:00",
            "close": "18:30"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/art-of-hair-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: MEN'S PERMANENT CURL & HAIRCUT COMBO.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "art-of-hair-bernal-heights",
        "name": "Art of Hair",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-art-of-hair-bernal-heights:svc:3",
        "name": "STRAIGHT RAZOR FADE",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blancasartofhair.com/services",
              "checked_at": "2026-10-22T14:54:20Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 55,
          "max": 55,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blancasartofhair.com/services",
            "checked_at": "2026-10-22T14:54:20Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 55,
        "known_subtotal_max": 55,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 45,
        "max_minutes": 45,
        "base_service_minutes": 45,
        "base_service_max_minutes": 45,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blancasartofhair.com/services",
          "checked_at": "2026-10-22T14:54:20Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "07:30",
            "close": "20:30"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "09:30",
            "close": "20:30"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "10:00",
            "close": "18:30"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.blancasartofhair.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer, with split HTML digits reconstructed; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/art-of-hair-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: STRAIGHT RAZOR FADE.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "backstage-salon-russian-hill",
        "name": "Backstage Salon",
        "neighborhood": "russian-hill",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-backstage-salon-russian-hill:svc:1",
        "name": "MEN'S CUT",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.backstagesf.com/services",
              "checked_at": "2026-10-22T13:40:02Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.backstagesf.com/services",
          "checked_at": "2026-10-22T13:40:02Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.backstagesf.com/services",
          "checked_at": "2026-10-22T13:40:02Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 75,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.backstagesf.com/services",
            "checked_at": "2026-10-22T13:40:02Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 75,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Duration not published."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "tel:+14157751440",
        "booking_url": "tel:+14157751440",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "contact_or_research",
        "remaining_steps": [
          "No online booking published. Call +14157751440.",
          "Select the published service: MEN'S CUT.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Contact the salon through its published contact method; no online booking route is verified."
        ]
      }
    },
    {
      "salon": {
        "slug": "barber-and-gent-bernal-heights",
        "name": "Barber & Gent",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-barber-and-gent-bernal-heights:svc:2",
        "name": "BALD FADE",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 50,
          "max": 50,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 50,
        "known_subtotal_max": 50,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 45,
        "max_minutes": 45,
        "base_service_minutes": 45,
        "base_service_max_minutes": 45,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "09:00",
            "close": "18:00"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/barber-and-gent-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: BALD FADE.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "barber-and-gent-bernal-heights",
        "name": "Barber & Gent",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-barber-and-gent-bernal-heights:svc:7",
        "name": "MEN'S LONG LAYERS HAIRCUT",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 75,
          "max": 75,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 75,
        "known_subtotal_max": 75,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 40,
        "max_minutes": 40,
        "base_service_minutes": 40,
        "base_service_max_minutes": 40,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "09:00",
            "close": "18:00"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/barber-and-gent-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: MEN'S LONG LAYERS HAIRCUT.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "barber-and-gent-bernal-heights",
        "name": "Barber & Gent",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-barber-and-gent-bernal-heights:svc:9",
        "name": "MEN'S PERMANENT CURL & HAIRCUT COMBO",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 160,
          "max": 160,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 160,
        "known_subtotal_max": 160,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 70,
        "max_minutes": 70,
        "base_service_minutes": 70,
        "base_service_max_minutes": 70,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "09:00",
            "close": "18:00"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/barber-and-gent-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: MEN'S PERMANENT CURL & HAIRCUT COMBO.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "barber-and-gent-bernal-heights",
        "name": "Barber & Gent",
        "neighborhood": "bernal-heights",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-barber-and-gent-bernal-heights:svc:3",
        "name": "STRAIGHT RAZOR FADE",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.barberandgent.com/services",
              "checked_at": "2026-10-22T17:54:04Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "status": "verified",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 55,
          "max": 55,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.barberandgent.com/services",
            "checked_at": "2026-10-22T17:54:04Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 55,
        "known_subtotal_max": 55,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 45,
        "max_minutes": 45,
        "base_service_minutes": 45,
        "base_service_max_minutes": 45,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.barberandgent.com/services",
          "checked_at": "2026-10-22T17:54:04Z",
          "status": "verified",
          "note": "Duration as published by the business."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": [
          {
            "day": "monday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "tuesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "wednesday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "thursday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "friday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "saturday",
            "closed": false,
            "open": "08:00",
            "close": "21:00"
          },
          {
            "day": "sunday",
            "closed": false,
            "open": "09:00",
            "close": "18:00"
          }
        ],
        "for_date": null,
        "source": "salon_website",
        "checked_at": "2026-10-23T14:56:25Z",
        "unconfirmed": false,
        "label": "Salon-published opening hours; not appointment availability.",
        "recheck": {
          "url": "https://www.barberandgent.com/salon-services",
          "checked_at": "2026-10-23T14:56:25Z",
          "note": "Business shop-hours footer; not appointment inventory."
        },
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "published_hours",
        "checked_at": "2026-10-23T14:56:25Z",
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/barber-and-gent-bernal-heights&to=https%3A%2F%2Fgo.booker.com%2F%23%2Flocation%2Fbarberandgent",
        "booking_url": "https://go.booker.com/#/location/barberandgent",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: STRAIGHT RAZOR FADE.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "be-bright-nob-hill",
        "name": "Be Bright",
        "neighborhood": "nob-hill",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-be-bright-nob-hill:svc:1",
        "name": "Men’s Barber Haircut",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://bebrightcollective.com/services-pricelist/",
              "checked_at": "2026-10-22T14:56:17Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://bebrightcollective.com/services-pricelist/",
          "checked_at": "2026-10-22T14:56:17Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://bebrightcollective.com/services-pricelist/",
          "checked_at": "2026-10-22T14:56:17Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "fixed",
        "base": {
          "min": 100,
          "max": 100,
          "evidence": {
            "source": "salon_website",
            "url": "https://bebrightcollective.com/services-pricelist/",
            "checked_at": "2026-10-22T14:56:17Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": 100,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Duration not published."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/be-bright-nob-hill&to=https%3A%2F%2Fbebrightcollective.com%2F",
        "booking_url": "https://bebrightcollective.com/",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "contact_or_research",
        "remaining_steps": [
          "No booking method is published. Check the business’s website or visit in person.",
          "Select the published service: Men’s Barber Haircut.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Contact the salon through its published contact method; no online booking route is verified."
        ]
      }
    },
    {
      "salon": {
        "slug": "bijoux-salon-financial-district-south-beach",
        "name": "Bijoux Salon",
        "neighborhood": "financial-district-south-beach",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-bijoux-salon-financial-district-south-beach:svc:2",
        "name": "Barber Cuts",
        "description": "As published on the business’s own price list.",
        "price_note": "As published on the business’s own price list."
      },
      "merchant_context": null,
      "public_context": null,
      "fit": {
        "status": "conditional",
        "reasons": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.bijouxsalonsf.com/services",
              "checked_at": "2026-10-22T17:32:07Z",
              "status": "verified",
              "note": "As published on the business’s own price list."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.bijouxsalonsf.com/services",
          "checked_at": "2026-10-22T17:32:07Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.bijouxsalonsf.com/services",
          "checked_at": "2026-10-22T17:32:07Z",
          "status": "verified",
          "note": "As published on the business’s own price list."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "range",
        "base": {
          "min": 60,
          "max": 90,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.bijouxsalonsf.com/services",
            "checked_at": "2026-10-22T17:32:07Z",
            "status": "verified",
            "note": "As published on the business’s own price list."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 60,
        "known_subtotal_max": 90,
        "unresolved_charges": [
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Duration not published."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "tel:+14155002433",
        "booking_url": "tel:+14155002433",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "contact_or_research",
        "remaining_steps": [
          "No online booking published. Call +14155002433.",
          "Select the published service: Barber Cuts.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Contact the salon through its published contact method; no online booking route is verified."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-barber-cut-20",
        "name": "Barber Cut",
        "description": "Published by the business; independently unconfirmed.",
        "price_note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Base price is not published.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": "2026-10-24T09:28:54.325065+00:00",
          "status": "reported",
          "note": "Published by the business; independently unconfirmed."
        },
        "price": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": null,
          "status": "unknown",
          "note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "blow_dry": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "style": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "consultation": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "haircut": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "iron_finish": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": null,
        "base": {
          "min": null,
          "max": null,
          "evidence": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": null,
            "status": "unknown",
            "note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": null,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Base price is not published.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 30,
        "max_minutes": 30,
        "base_service_minutes": 30,
        "base_service_max_minutes": 30,
        "evidence": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": "2026-10-24T09:28:54.325065+00:00",
          "status": "reported",
          "note": "Published by the business; independently unconfirmed."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the public booking menu that published this service option. Select the matching service and stylist option, confirm current price and applicable policies, and check availability there. No service, staff or slot is preselected; nothing has been reserved.",
          "Select the published service: Barber Cut.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-barber-cut-adrielle-41",
        "name": "Barber cut - Adrielle",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 90,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 90,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Barber cut - Adrielle.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-haircut-mens-23",
        "name": "Haircut-mens",
        "description": "Published by the business; independently unconfirmed.",
        "price_note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Base price is not published.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "booking_provider",
              "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
              "checked_at": "2026-10-24T09:28:54.325065+00:00",
              "status": "reported",
              "note": "Published by the business; independently unconfirmed."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": "2026-10-24T09:28:54.325065+00:00",
          "status": "reported",
          "note": "Published by the business; independently unconfirmed."
        },
        "price": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": null,
          "status": "unknown",
          "note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "blow_dry": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "style": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "consultation": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "haircut": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "iron_finish": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": "2026-10-24T09:28:54.325065+00:00",
            "status": "reported",
            "note": "Published by the business; independently unconfirmed."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": null,
        "base": {
          "min": null,
          "max": null,
          "evidence": {
            "source": "booking_provider",
            "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
            "checked_at": null,
            "status": "unknown",
            "note": "No numeric price was published for this option. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": null,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Base price is not published.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": 60,
        "max_minutes": 60,
        "base_service_minutes": 60,
        "base_service_max_minutes": 60,
        "evidence": {
          "source": "booking_provider",
          "url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
          "checked_at": "2026-10-24T09:28:54.325065+00:00",
          "status": "reported",
          "note": "Published by the business; independently unconfirmed."
        },
        "status": "published",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the public booking menu that published this service option. Select the matching service and stylist option, confirm current price and applicable policies, and check availability there. No service, staff or slot is preselected; nothing has been reserved.",
          "Select the published service: Haircut-mens.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-men-s-cut-andreyna-51",
        "name": "Men's cut - Andreyna",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 100,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men's cut - Andreyna.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-men-s-cut-camille-79",
        "name": "Men's cut - Camille",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 100,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men's cut - Camille.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-men-s-cut-lee-108",
        "name": "Men's cut - Lee",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 100,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men's cut - Lee.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-men-s-cut-sylvie-144",
        "name": "Men's cut - Sylvie",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 100,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men's cut - Sylvie.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    },
    {
      "salon": {
        "slug": "oro-castro-upper-market",
        "name": "Blond.ish",
        "neighborhood": "castro-upper-market",
        "geographic_match": "in"
      },
      "offering": {
        "id": "sf-oro-castro-upper-market:public-men-s-cuts-naomi-125",
        "name": "Men’s cuts - Naomi",
        "description": "Published stylist price-list entry; no duration stated.",
        "price_note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
      },
      "merchant_context": null,
      "public_context": {
        "conflicts": [
          "The website general menu lists All Over Color from $220, Mini Foil from $250 and Full Highlight/Balayage from $350; the booking menu lists $175+, $180+ and $355+ respectively. Stylist-specific website prices vary further. These are unresolved source differences, not verified offers.",
          "The booking menu includes an extended partial-highlight option with a zero price and no explicit complimentary-service claim. It is retained with unknown price.",
          "The public website says the salon was previously ORO; the existing slug retains that old name."
        ],
        "unknowns": [
          "No live appointment availability or booking confirmation was checked.",
          "Published prices are not a final total; applicable extra product, time, tax and gratuity must be confirmed.",
          "K18 is listed on individual stylist price lists but is not explicitly identified as an add-on there; it remains a treatment menu item.",
          "No deposit, no-show-specific or walk-in terms were found on reviewed pages."
        ],
        "profile_url": "https://agentsalonsf.com/salons/oro-castro-upper-market",
        "detail_api": "https://agentsalonsf.com/api/v1/salons/oro-castro-upper-market"
      },
      "fit": {
        "status": "conditional",
        "reasons": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "inclusions": {
          "shampoo": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "blow_dry": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "style": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "consultation": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "haircut": {
            "included": true,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "iron_finish": {
            "included": null,
            "evidence": {
              "source": "salon_website",
              "url": "https://www.blondishhair.com/team",
              "checked_at": "2026-10-24T09:28:25.191205+00:00",
              "status": "reported",
              "note": "Published stylist price-list entry; no duration stated."
            }
          },
          "toner": {
            "included": null,
            "evidence": {
              "source": null,
              "url": null,
              "checked_at": null,
              "status": "unknown",
              "note": null
            }
          }
        },
        "service_match": "published_service",
        "availability_confirmed": false
      },
      "evidence": {
        "service": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Published stylist price-list entry; no duration stated."
        },
        "price": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": "2026-10-24T09:28:25.191205+00:00",
          "status": "reported",
          "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
        },
        "hours": {
          "source": "derived",
          "url": null,
          "checked_at": null,
          "status": "unknown",
          "note": "Opening hours not published by the business."
        },
        "inclusions": {
          "shampoo": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "blow_dry": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "style": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "consultation": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "haircut": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "iron_finish": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Published stylist price-list entry; no duration stated."
          },
          "toner": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          }
        }
      },
      "price": {
        "currency": "USD",
        "kind": "from",
        "base": {
          "min": 100,
          "max": null,
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/team",
            "checked_at": "2026-10-24T09:28:25.191205+00:00",
            "status": "reported",
            "note": "Stylist price list; salon says all prices may change with hair condition, density and length. Published amount is a starting price. Published base price; final total, mandatory extras, tax and tip are not guaranteed."
          }
        },
        "mandatory_extras": [],
        "selected_addons": [],
        "known_subtotal_min": 100,
        "known_subtotal_max": null,
        "unresolved_charges": [
          "Starting price only; the final service charge is not bounded.",
          "Mandatory extras have not been verified for this service from the salon menu."
        ],
        "budget_status": "not_requested",
        "subtotal_note": "Published known subtotal, not a provider-confirmed final quote. Deposit is not added again; optional gratuity is excluded. Charges appearing in both lists are counted once by id."
      },
      "duration": {
        "min_minutes": null,
        "max_minutes": null,
        "base_service_minutes": null,
        "base_service_max_minutes": null,
        "evidence": {
          "source": "salon_website",
          "url": "https://www.blondishhair.com/team",
          "checked_at": null,
          "status": "unknown",
          "note": "Not established on the public pages checked."
        },
        "status": "unknown",
        "note": "Published service duration, when known; confirm when booking."
      },
      "hours": {
        "value": null,
        "for_date": null,
        "source": "derived",
        "checked_at": null,
        "unconfirmed": true,
        "label": "Opening hours unconfirmed; see source and recheck evidence.",
        "recheck": null,
        "conflict": false,
        "conflicts": []
      },
      "availability": {
        "basis": "none",
        "checked_at": null,
        "confirmed": false,
        "note": "Opening hours do not establish appointment availability. Confirm on the booking provider."
      },
      "conditions": {
        "consultation": {
          "value": "Consultation requested for becoming a bleach-and-tone client; transformational color requires current and desired-hair photos. Consultation-dependent services should be discussed before booking.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published",
          "required": null
        },
        "deposit": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown",
          "treatment": "advance_not_added_to_total",
          "added_to_subtotal": false
        },
        "cancellation": {
          "value": "At least 48 hours notice requested. Changes or cancellations within 48 hours incur 50%; within 24 hours incur 100%.",
          "evidence": {
            "source": "salon_website",
            "url": "https://www.blondishhair.com/services",
            "checked_at": "2026-10-24T09:28:25.190923+00:00",
            "status": "verified",
            "note": "Published policy; applicability to the chosen stylist/service must be confirmed."
          },
          "status": "published"
        },
        "patch_test": {
          "value": null,
          "evidence": {
            "source": null,
            "url": null,
            "checked_at": null,
            "status": "unknown",
            "note": null
          },
          "status": "unknown"
        }
      },
      "next_action": {
        "url": "https://agentsalonsf.com/out?m=san-francisco/hair-salon/oro-castro-upper-market&to=https%3A%2F%2Fbook.squareup.com%2Fappointments%2F568a4964-f17d-4920-bf8e-cc94cbcb4a15%2Flocation%2FM6Y3RXVY1WMR1%2Fservices",
        "booking_url": "https://book.squareup.com/appointments/568a4964-f17d-4920-bf8e-cc94cbcb4a15/location/M6Y3RXVY1WMR1/services",
        "link_scope": "salon",
        "checked_at": null,
        "link_check": null,
        "precision": "salon",
        "kind": "provider_handoff",
        "remaining_steps": [
          "Opens the business’s own booking page. Choose the service (and staff, if offered), pick an open time — live slots are shown only on the booking page — and confirm with your details.",
          "Select the published service: Men’s cuts - Naomi.",
          "Check an actual appointment including the full service duration.",
          "Confirm the final payable amount, deposit and cancellation terms before submitting a booking.",
          "Complete booking on the salon’s provider and obtain its confirmation; this site has not reserved a slot."
        ]
      }
    }
  ],
  "excluded": [],
  "unresolved_salons": [],
  "unresolved_salons_total": 0,
  "unresolved_salons_next_offset": null,
  "total": 70,
  "count": 20,
  "offset": 0,
  "next_offset": 20,
  "no_match_reason": null,
  "documentation": "https://agentsalonsf.com/agents"
}