Nuxt
Schema

Food Establishment Schema

Schema.org FoodEstablishment

Type: defineFoodEstablishment<T extends Record<string, any>>(input?: FoodEstablishment & T)

Describes a food-related business.

Google requirements

For Google's LocalBusiness feature, a FoodEstablishment needs both name and a physical address. Unhead resolves the address but does not require or validate it.

  • name string
    The name of the business.
  • address NodeRelations<PostalAddress>: PostalAddress
    The physical address of the business.
  • acceptsReservations string | boolean
    Indicates whether a FoodEstablishment accepts reservations.
  • hasMenu string
    URL of the menu.
  • openingHoursSpecification NodeRelations<OpeningHoursSpecification>: OpeningHoursSpecification
    The specification for when the business is open.
  • servesCuisine string
    The type of cuisine the restaurant serves.

Minimal Example

defineFoodEstablishment({
  name: 'Harbor Cafe',
  logo: '/logo.png',
  address: {
    addressCountry: 'Australia',
    postalCode: '2000',
    streetAddress: '123 st',
  },
  openingHoursSpecification: [
    {
      dayOfWeek: 'Saturday',
      opens: '09:30',
      closes: '13:30',
    },
    {
      dayOfWeek: ['Monday', 'Tuesday'],
      opens: '10:30',
      closes: '15:30',
    },
  ]
})

Defaults

  • @type: FoodEstablishment
  • @id: ${canonicalHost}#identity
  • url: ${canonicalHost}
  • currenciesAccepted: currency from resolved page metadata. See global options

Sub-Types

  • Bakery
  • BarOrPub
  • Brewery
  • Dentist
  • CafeOrCoffeeShop
  • Distillery
  • FastFoodRestaurant
  • IceCreamShop
  • Restaurant
  • Winery

Resolves

See Global Resolves for full context.

  • for the primary identity, a string logo creates a root ImageObject with the #logo ID and a compact Organization node with the absolute logo URL
  • @type resolve: Restaurant -> ['Organization', 'LocalBusiness', 'FoodEstablishment', 'Restaurant']
  • starRating will be resolved as a Rating

Types

type ValidFoodEstablishmentSubTypes = 'Bakery'
  | 'BarOrPub'
  | 'Brewery'
  | 'Dentist'
  | 'CafeOrCoffeeShop'
  | 'Distillery'
  | 'FastFoodRestaurant'
  | 'IceCreamShop'
  | 'Restaurant'
  | 'Winery'

export interface FoodEstablishmentSimple extends Omit<LocalBusiness, '@type'> {
  '@type'?: ['Organization', 'LocalBusiness', 'FoodEstablishment'] | ['Organization', 'LocalBusiness', 'FoodEstablishment', ValidFoodEstablishmentSubTypes] | ValidFoodEstablishmentSubTypes
  /**
   * Indicates whether a FoodEstablishment accepts reservations.
   */
  'acceptsReservations'?: string | boolean
  /**
   * URL of the menu.
   */
  'hasMenu'?: string
  /**
   * Methods of payment accepted.
   */
  'paymentAccepted'?: string
  /**
   * The cuisine of the restaurant.
   */
  'servesCuisine'?: string
  /**
   * An official rating for a lodging business or food establishment
   */
  'starRating'?: NodeRelations<Rating>
}
Did this page help you?