# Local Business Blocks

> NAP, opening hours, service areas, services with schema markup, click-to-call, breadcrumbs, maps with location pins, and embed blocks.

Seedly Sites ships a pack of blocks purpose-built for local business sites - the plumbers, landscapers, and clinics most agencies serve. Several of them emit structured data automatically, and several read their defaults from the business details you set once in [Site Settings](/docs/help/site-settings), so the same blocks stay accurate across every page.

---

## NAP (Name, Address, Phone)

The NAP block renders the business name, address, phone, and email as a card with schema.org PostalAddress markup, which is exactly what local search wants to see rendered consistently.

Fields: **Business Name**, **Street**, **City**, **Region / State**, **Postal Code**, **Country**, **Phone**, **Email**. Any field you leave empty falls back to the site's business details at render time - so the usual move is to leave them all empty and let Site Settings drive it. Consistent NAP across your site (and the web) is a local SEO fundamental.

---

## Hours

An opening-hours table. It reads from the site's business hours by default, or accepts an inline weekly schedule on the block. Options include a **Heading**, a heading level, and a **Show Open / Closed badge** toggle that displays live open-now status.

---

## Service Area

For service-area businesses that travel to customers: a heading, description, and region list, with an optional map (**Show map** + **Map Zoom**). Regions come from the site's service-area settings or an inline list on the block.

---

## Service

One named service the business offers: **Service Name**, **Description**, **Area Served**, and an optional **Link** CTA. The block emits schema.org Service structured data linked to the site's LocalBusiness as the provider - so a services page built from Service blocks describes itself to search engines properly. Use one Service block per service, not one block listing everything.

---

## Click to Call

A phone call-to-action: a **Label**, the **Phone** number, an optional **Icon**, and a button **Style** (Default, Primary, Secondary, Danger, Text). It renders as a real tel: link, so tapping it on a phone starts the call. Put one in a Mobile-only Section for a sticky mobile call bar.

---

## Breadcrumb

A visible breadcrumb trail (Home / section / page) for content pages. It renders the same trail as the page's BreadcrumbList structured data, which the page already emits - the block adds the visible navigation without duplicating markup.

---

## Feature Item

An icon + title + body cell. Drop several into a [Grid](/docs/help/grids) to build a feature list; it is a leaf block that does not host children. Grid Items cover most of the same ground, so use whichever reads better in your layout.

---

## Quotation

A pull quote: **Content**, optional **Attribution**, an optional **Cite URL**, and a style select. For customer reviews with ratings, prefer the [Reviews element](/docs/help/interactive-elements#reviews), which carries review markup.

---

## Map

An interactive map with brand-colored location pins and get-directions popups. No API key is required.

1. Add a **Map** block
2. Add **Location** pins - each pin references a location from the tenant's Locations collection, or holds an inline address and coordinates
3. If you select no pins, the map shows all of the tenant's locations
4. Set **Zoom** and **Height (px)**

Manage the underlying locations in the portal's Locations area; pins that reference them update when the location record changes.

The map loads lazily (it only initializes when scrolled into view), so it does not slow down page load.

---

## HTML / Embed Code

The escape hatch for third-party embeds: review widgets, booking widgets, iframes, and custom snippets. Paste markup into **HTML / Embed Code** and it renders verbatim on the published site - iframes load and embed scripts execute. A **Max Width** select constrains the embed's width.

This block is also how you embed an external form from your CRM - see [Forms](/docs/help/forms) for the full pattern, including UTM tracking into the embed.

Treat embed code with care: only paste snippets from providers you trust, since the block renders exactly what you give it.

---

## Summary

| Block | Structured data | Reads Site Settings defaults |
|-------|-----------------|------------------------------|
| NAP | PostalAddress | Yes |
| Hours | - | Yes |
| Service Area | - | Yes |
| Service | Service | - |
| Click to Call | - | - |
| Breadcrumb | (page already emits BreadcrumbList) | - |
| Feature Item | - | - |
| Quotation | - | - |
| Map | - | Uses tenant Locations |
| HTML / Embed Code | - | - |

All of these go live on the next manual **Deploy**.

---
Source: https://seedlysites.com/docs/help/local-business-blocks
