Independent reference for structured UK business information

Schema.org.uk

Home Schemas Restaurant Schema

Category schema · Restaurants

Restaurant Schema

The Restaurant Schema organises restaurant identity, contact, location, opening hours, cuisine, menu, facilities and diner information into a consistent format, using Schema.org vocabulary where applicable.

Complete JSON definition

1 Scope

The Restaurant Schema describes a restaurant. It covers identity, incorporation details, contact, and location, including the address and coordinates. It also covers opening hours, images, reputation, a price indication, cuisine, menu items, amenities, and restaurant details. A menu item is included only when the restaurant states that it offers that item. Reputation figures come from one provider and are not combined into a single rating. A missing value stays unknown. The price indication is a level, not a dish price. A reservation is recorded only as whether the restaurant accepts reservations.

2 Attributes

Names outside this reference are unsupported or reserved.

2.1 Identity

NameTypeSchema.orgDescription
Identifier
restaurant.id
text@idThe permanent unique identifier already assigned to the restaurant. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.
Title
restaurant.title
textnameThe name of the restaurant.
Description
restaurant.description
textdescriptionA text description of the restaurant.

2.2 Incorporation details

NameTypeSchema.orgDescription
Company name
restaurant.company.name
textlegalNameThe registered company name, when the business is registered at Companies House and states that name. A missing value stays unknown. This is not the trading name. JSON-LD uses legalName.
Company number
restaurant.company.number
textadditionalPropertyThe company number, when the business is registered at Companies House and states that number. A missing value stays unknown. This is not a VAT number. When a number is stated, JSON-LD uses a PropertyValue named companyNumber.
Incorporation date
restaurant.company.incorporated_on
datefoundingDateThe incorporation date, when the business is registered at Companies House and states that date. A missing date stays unknown. JSON-LD uses foundingDate for that stated date.
VAT number
restaurant.company.vat
textvatIDThe VAT number, when the business is registered for VAT and states that number. A missing value stays unknown. This is not the company number. JSON-LD uses vatID.

2.3 Contact

NameTypeSchema.orgDescription
Phone
restaurant.contact.phone
texttelephoneThe telephone number of the restaurant.
Url
restaurant.contact.url
urlurlThe website address of the restaurant.
Email
restaurant.contact.email
emailemailAn email address for the restaurant, when one is stated. Leave it empty when none is known.

2.4 Location and coordinates

NameTypeSchema.orgDescription
Address
restaurant.location.address
textaddressThe postal address of the restaurant. The original address line stays intact.
Latitude
restaurant.location.latitude
numberlatitudeThe WGS84 latitude of the restaurant.
Longitude
restaurant.location.longitude
numberlongitudeThe WGS84 longitude of the restaurant. A coordinate pair is required before JSON-LD includes GeoCoordinates.
Postcode
restaurant.location.postcode
textpostalCodeThe UK postcode when one postcode is present in the postal address.
Street
restaurant.location.street
textstreetAddressThe street line when the postal address separates it from the town. A borough is not the street.
Locality
restaurant.location.locality
textaddressLocalityThe town or city when the postal address states it as its own part. A borough is not the locality.
Region
restaurant.location.region
textaddressRegionThe county or region when the postal address states it as its own part. A media-market code is not a region and is left empty.
Country
restaurant.location.country
textaddressCountryThe country when the address states it. A two-letter country code is recorded as the country name. Leave it empty when the country is not stated.

2.5 Opening hours

NameTypeSchema.orgDescription
Opening hours
restaurant.hours.opening
objectopeningHoursSpecificationThe regular opening hours when a weekly timetable states each open day and its opening and closing times. A current open or closed status is not opening hours. Busy periods are not opening hours. A day with no stated times is left empty.

2.6 Images

NameTypeSchema.orgDescription
Logo
restaurant.image.logo
urllogoThe address of the restaurant logo, when one is stated. A missing address is omitted.
Main image
restaurant.image.main
urlimageThe address of the main image of the restaurant, when one is stated. A count of photographs is not an image. A missing address is omitted.

2.7 Reputation

NameTypeSchema.orgDescription
Review rating
restaurant.review.rating
numberratingValueA review score from one provider. It is not a qualification or an award. A scale is recorded only when that provider states it. The score stays in the native record and is not copied into the core business JSON-LD.
Review count
restaurant.review.count
integerreviewCountThe number of reviews accompanying a review rating from the same provider. It is not calculated from another provider.
Rating count
restaurant.review.rating_count
integerratingCountThe number of ratings when the provider states it separately from the number of reviews. It is not calculated from the distribution.
Rating distribution
restaurant.review.distribution
object—Numbers recorded against scores 1 to 5. They are not the review count. Schema.org has no single property for the five counts, so this stays unmapped.
Rating scale
restaurant.review.scale
object—The lowest and highest points of a review scale, when the scale is stated. Schema.org records those points as separate properties, so this attribute is not given one of them.
Review provider
restaurant.review.provider
text—The organisation that published these figures. Figures from another provider are a separate observation and are not averaged together.
Observation date
restaurant.review.observed_on
date—The date on which these figures were observed, when that date is stated.

2.8 Price

NameTypeSchema.orgDescription
Price level
restaurant.price_range
textpriceRangeA price indication using £, ££, £££, or ££££. Leave it empty when none is stated. This is not a dish price.

2.9 Cuisine

NameTypeSchema.orgDescription
Cuisine served
restaurant.cuisine
listservesCuisineThe cuisines the restaurant serves. Use only these names: British, Italian, Greek, Spanish, Turkish, Indian, Thai, Mexican, Japanese, French, American, Mediterranean, Seafood, Steakhouse, European, Middle Eastern, Chinese, Vegetarian. Any other name is omitted. A named dish is not a cuisine. A missing value stays unknown. JSON-LD uses servesCuisine.

2.10 Menu

NameTypeSchema.orgDescription
Desserts
restaurant.service.desserts
booleanServiceWhether the restaurant offers desserts, including cakes and ice cream. Afternoon tea is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Private event hire
restaurant.service.private_hire
booleanServiceWhether the restaurant offers private hire, including a wedding, canapés, or a buffet. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Wine
restaurant.service.wine
booleanServiceWhether the restaurant offers wine, including prosecco, sangria, or a wine pairing. Cocktails are a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Coffee and tea
restaurant.service.coffee
booleanServiceWhether the restaurant offers coffee or tea, including smoothies and milkshakes. Afternoon tea is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Sunday roast
restaurant.service.roast
booleanServiceWhether the restaurant offers a Sunday roast, including Sunday lunch, a carvery, or Yorkshire pudding. Dinner is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Breakfast
restaurant.service.breakfast
booleanServiceWhether the restaurant offers breakfast, including brunch, pancakes, or French toast. A bottomless brunch is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Cocktails
restaurant.service.cocktails
booleanServiceWhether the restaurant offers cocktails. Wine and a bar on site are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Steak and grill
restaurant.service.steak
booleanServiceWhether the restaurant offers steak or grilled meat, including a mixed grill or ribs. Burgers and a Sunday roast are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Seafood
restaurant.service.seafood
booleanServiceWhether the restaurant offers seafood. Fish and chips are a separate service. Seafood as a cuisine name is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Lunch menu
restaurant.service.lunch
booleanServiceWhether the restaurant offers a lunch menu, including an early sitting or a reduced-price lunch. Breakfast and dinner are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Sandwiches and light lunches
restaurant.service.sandwiches
booleanServiceWhether the restaurant offers sandwiches or light lunches, including toasties, panini, wraps, jacket potatoes, soup, or salads. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Tapas and small plates
restaurant.service.tapas
booleanServiceWhether the restaurant offers tapas or small plates, including a platter or mezze. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Burgers
restaurant.service.burgers
booleanServiceWhether the restaurant serves burgers. Steak and a grill are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Fish and chips
restaurant.service.fish_and_chips
booleanServiceWhether the restaurant offers fish and chips. A wider seafood menu is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Pizza and pasta
restaurant.service.pizza_pasta
booleanServiceWhether the restaurant offers pizza or pasta, including lasagne, gnocchi, or risotto. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Real ale and local beer
restaurant.service.ale
booleanServiceWhether the restaurant offers real ale or local beer. Wine and cocktails are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Tasting or set menu
restaurant.service.tasting_menu
booleanServiceWhether the restaurant offers a tasting menu, a set menu, or a supper club. Dinner is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Dinner
restaurant.service.dinner
booleanServiceWhether the restaurant offers dinner, including an à la carte menu. Lunch is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Afternoon tea
restaurant.service.afternoon_tea
booleanServiceWhether the restaurant offers afternoon tea or cream tea. Coffee and tea as drinks are a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Bottomless brunch
restaurant.service.brunch
booleanServiceWhether the restaurant offers a bottomless brunch. Breakfast is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.
Christmas menu
restaurant.service.christmas
booleanServiceWhether the restaurant offers a Christmas menu. A Sunday roast is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.

2.11 Amenities

NameTypeSchema.orgDescription
Good for children
restaurant.amenity.children
booleanamenityFeatureWhether the restaurant suits children, including a children's menu. A play area is separate. A missing value is unknown, not absent.
Outdoor seating
restaurant.amenity.outdoor_seating
booleanamenityFeatureWhether the restaurant has outdoor seating, including covered seating or a garden. Indoor seating is not recorded separately. A missing value is unknown, not absent.
Table service
restaurant.amenity.table_service
booleanamenityFeatureWhether the restaurant serves guests at the table. A missing value is unknown, not absent.
Bar on site
restaurant.amenity.bar
booleanamenityFeatureWhether the restaurant has a bar. Cocktails are a separate service. A missing value is unknown, not absent.
Dog friendly
restaurant.amenity.dog_friendly
booleanamenityFeatureWhether the restaurant welcomes dogs. A missing value is unknown, not absent.
Free parking
restaurant.amenity.parking
booleanamenityFeatureWhether the restaurant has free parking. Limited parking stays with this amenity. A missing value is unknown, not absent.
Step-free / wheelchair access
restaurant.amenity.wheelchair_access
booleanamenityFeatureWhether the restaurant has step-free or wheelchair access. A missing value is unknown, not absent.
Live music
restaurant.amenity.live_music
booleanamenityFeatureWhether the restaurant has live music. A missing value is unknown, not absent.
Customer toilets
restaurant.amenity.toilets
booleanamenityFeatureWhether the restaurant has customer toilets. A missing value is unknown, not absent.
Wi-Fi
restaurant.amenity.wifi
booleanamenityFeatureWhether the restaurant offers Wi-Fi. A missing value is unknown, not absent.
Children's play area
restaurant.amenity.play_area
booleanamenityFeatureWhether the restaurant has a children's play area. A children's menu is separate. A missing value is unknown, not absent.
EV charging
restaurant.amenity.ev_charging
booleanamenityFeatureWhether the restaurant has EV charging. Parking is separate. A missing value is unknown, not absent.

2.12 Restaurant details

NameTypeSchema.orgDescription
Accepts reservations
restaurant.details.reservations
booleanacceptsReservationsWhether the restaurant accepts reservations. Walk-in visits stay with this field. This is not a reservation record and not a price. A missing value stays unknown. JSON-LD uses acceptsReservations only when the value is stated as yes or no.
Vegetarian options
restaurant.details.vegetarian
booleanadditionalPropertyWhether the restaurant offers vegetarian options. Vegan options and gluten-free options are separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named vegetarianOptions.
Takeaway available
restaurant.details.takeaway
booleanadditionalPropertyWhether the restaurant offers takeaway or delivery, including an order placed through a food app. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named takeaway.
Allergy-friendly
restaurant.details.allergy
booleanadditionalPropertyWhether the restaurant states that it can cater for allergies. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named allergyFriendly.
Vegan options
restaurant.details.vegan
booleanadditionalPropertyWhether the restaurant offers vegan options. Vegetarian options are separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named veganOptions.
Gluten-free options
restaurant.details.gluten_free
booleanadditionalPropertyWhether the restaurant offers gluten-free options. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named glutenFreeOptions.
Seasonal or regularly changing menu
restaurant.details.seasonal
booleanadditionalPropertyWhether the restaurant changes its menu with the season, including specials. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named seasonalMenu.
Locally sourced produce
restaurant.details.local
booleanadditionalPropertyWhether the restaurant states that it uses local or sustainably produced food. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named locallySourced.
Online booking
restaurant.details.online_booking
booleanadditionalPropertyWhether the restaurant offers online booking, including pre-ordering. Reservations are a separate field. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named onlineBooking.
Overnight accommodation on site
restaurant.details.rooms
booleanadditionalPropertyWhether the restaurant has overnight accommodation on site, including glamping. This is not a hotel listing. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named overnightStays.
Deposits taken
restaurant.details.deposit
booleanadditionalPropertyWhether the restaurant takes a deposit. This is not a price and not a reservation record. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named deposit.