Schemat zasobów reklamowych w wersji 1

Pliki danych z katalogiem żywności są oparte na schema.org DataFeed podmiotów. Plik danych z katalogiem żywności zawiera informacje o lokalizacji restauracji, takie jak adres restauracji, jej menu i lokalizację, a także sposób obsługi restauracji. szczegóły, takie jak opłaty za dostawę, obszary dostawy i inne określone elementy; poniżej.

Element DataFeed zawiera zbiór elementów, z których każdy reprezentuje jeden element. wyrażonych w słowniku schema.org. Za pomocą usługi DataFeed aby opublikować wszystkie uporządkowane dane w formacie JSON-LD.

Informacje o korzystaniu z tej specyfikacji do tworzenia plików danych znajdziesz tutaj: Omówienie integracji zasobów reklamowych

Formaty daty i godziny

DateTime jest oparty na typie schema.org, oraz, o ile nie wskazano inaczej, muszą być zgodne z formatem ISO 8601 i zawierać datę, godzinę i strefę czasową. Użyj tej składni w polu DateTime:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

Na przykład:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time to czas lokalny danej restauracji lub strefa czasowa lokalizacji usługi, jest również oparta na typie schema.org i musi również muszą być zgodne z formatem ISO 8601. Czas ma taką składnię:

// Time format:
THH:MM:SS

Na przykład:

T08:08:00 // 8:08 AM

Gdy określasz DateTime lub Time, pamiętaj o tych uwagach:

  • Litera „T” prefiks przed godziną jest częścią formatu i jest wymagany.
  • Musisz podać strefę czasową w tym regionie: DATETIME. Nie jest wymagana w przypadku TIME.
  • Godzina musi być podana w czasie lokalnym w restauracji lub usłudze.
.

Koperta

Kod początkowy każdego pliku danych z katalogiem produktów spożywczych powinien zawierać „kopertę” .

„Koperta” to struktura najwyższego poziomu każdego pliku danych i musi być DataFeed z tymi właściwościami:

Właściwość Typ Konieczność Opis
@context URL Wymagane podany kontekst; zwykle „http://schema.googleapis.com”.
@type Tekst Wymagane To zawsze „DataFeed”.
dateModified DateTime Wymagane

Ostatnia modyfikacja pliku DateTime pliku danych w formacie ISO 8601 .

Data i godzina w formacie ISO_OFFSET_DATE_TIME, w którym elementy w tym pliku danych zostały zmodyfikowane. W przypadku braku tego pola przyjmuje się, że czas aktualizacji to godzina odebrania wiadomości push (albo pobierania danych) na serwerach Google.

Zdecydowanie zalecamy wdrożenie tego rozwiązania, jeśli używasz zarówno metody push, i czołgają się razem. Tę sygnaturę czasową należy podawać za pomocą strefy czasowej i stopień szczegółowości w milisekundach; na przykład "2016-12-28T06:30:00:123-07:00".

W plikach danych wsadowych para klucz-wartość jednostka obsługa wersji jest określana przez dateModified w kopercie pliku danych.

dataFeedElement Tablica Menu lub Restaurant lub Service Wymagane Co najmniej jeden element, który jest częścią tego pliku danych. Zobacz poniżej .

Kopertę znajdziesz w tym przykładzie:

Przykład

{
  "@context": "http://schema.googleapis.com",
  "dateModified": "2016-12-28T06:30:00:123-07:00",
  "@type": "DataFeed",
  "dataFeedElement": [
    /* All items that are part of this feed go here */
  ]
}

AdditiveDetails

Aby użyć tego typu, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Następnie dodaj FoodBeverageTobaccoProduct do typu odpowiedniej MenuItem lub MenuItemOption.

W tabeli poniżej opisujemy właściwości typu AdditiveDetails:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest wartość „AdditiveDetails”.
additiveName Tekst Opcjonalnie Nazwa dodatku.
additiveLevelOfContainment Tekst Opcjonalnie Kod opuszczenia na gs1:LevelOfContainmentCode. Na przykład http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM lub http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

Poniższy przykład pokazuje użycie typu AdditiveDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/8",
  "name": "Energy Drink",
  "description": "A 0.25l can of energy drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-energy-drink",
    "price": "3.49",
    "priceCurrency": "USD"
  },
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AdditiveDetails",
      "additiveName": "phosphate",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

AddOnMenuItem

Jedzenie lub napoje wymienione w menu dodatku do MenuItem

Poniższa tabela zawiera właściwości typu AddOnMenuItem:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „AddOnMenuItem”.
@id URL Wymagane Unikalny identyfikator pozycji menu dodatku.
name Tekst Wymagane Tekst określający element AddOnMenuItem, gdy użytkownik przegląda .
description Tekst Opcjonalnie Opis pozycji menu dodatku.
image URL Opcjonalnie

Obraz przedstawiający pozycję menu dodatku, która jest zgodna z tymi wytycznymi:

  • Format obrazu 3:2
  • >
  • Minimalna rozdzielczość: 600 x 400 pikseli, 72 dpi
  • >
  • Zalecana rozdzielczość: 1400 x 960 pikseli, 72 dpi
offers Tablica Offer Wymagana*

Co najmniej jedna oferta z tym dodatkiem AddOnMenuItem.

Określa, kiedy i za jaką cenę dostępny jest ten element AddOnMenuItem. Tylko jedna oferta powinna być ważna w danym momencie. Możesz mieć jest wiele ważnych ofert, jeśli cena lub dostępność mogą się zmienić porę dnia. Gdy dodatek lub produkt różni się atrybutem podstawowym lub jego wariant (np. mały, średni lub duży) frytki jako dodatek), użyj programu hasMenuItemOption usłudze.

Wartość domyślna (Offer.eligibleQuantity) to minimum 0, maksymalnie 1.

W obiekcie Offer używane są te właściwości: AddOnMenuItem:

  • Wymagane Offer.sku
  • Wymagane Offer.price
  • Wymagane Offer.priceCurrency
  • Opcjonalne: Offer.availabilityStarts
  • Opcjonalne: Offer.availabilityEnds
  • Opcjonalne: Offer.availableDay
  • Opcjonalne: Offer.validFrom
  • Opcjonalne: Offer.validThrough
  • Opcjonalne: Offer.eligibleQuantity
  • Opcjonalne: Offer.inventoryLevel
hasMenuItemOptions Tablica MenuItemOption Wymagana*

Tablica atrybutów podstawowych opisujących odmianę elementu dodatku (np. małe, średnie i duże frytki jako dodatek). dodatek do menu. Za pomocą opcji określ dostępne odmiany w przypadku tej pozycji menu dodatku. Istnieją 2 sytuacje, w których za:

  • Podstawowa odmiana dotyczy elementu dodatku (np. średnie i duże frytki jako dodatek)
  • Podstawowa odmiana pozycji menu, z którą powiązany jest ten dodatek z (np. dodatkowym serem jako dodatkiem do dużej pizzy)
suitableForDiet Tablica RestrictedDiet Opcjonalnie Danie jest zgodne z podanymi niżej ograniczeniami żywieniowymi (np. „Dieta bezglutenowa” lub „Dieta Wegańska”). To jest lista możliwych .
nutrition NutritionInformation Opcjonalnie Informacje o wartościach odżywczych potrawy, zwłaszcza kalorie.
menuAddOn Tablica AddOnMenuSection Opcjonalnie Sekcja menu AddOnMenuItem może zawierać tylko dozwolone elementy które można dodać jako dodatek.

Poniższy przykład pokazuje AddOnMenuItem:

Przykład 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Przykład 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small-pepperoni-pizza",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large-pepperoni-pizza",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ],
  "menuAddOn": [
    {
      "@type": "AddOnMenuSection",
      "name": "Choice of toppings",
      "@id": "https://www.example.com/1089/addon/1",
      "hasMenuItem": [
        {
          "@type": "AddOnMenuItem",
          "@id": "https://www.example.com/1089/addon/1/a",
          "name": "Shrimp",
          "hasMenuItemOptions": [
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],
              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-small",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-large",
                "price": "2.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-small",
                "price": "1.50",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-large",
                "price": "2.50",
                "priceCurrency": "USD"
              }
            }
          ]
        }
      ]
    }
  ]
}

AddOnMenuSection

Podgrupa produktów spożywczych lub napojów jako sekcja menu dodatkowego dla .

Poniższa tabela zawiera właściwości typu AddOnMenuSection:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „AddOnMenuSection”.
@id URL Wymagane Unikalny identyfikator sekcji menu.
name Tekst Wymagane Tekst, który może zidentyfikować dodatek AddOnMenuSection, gdy użytkownik przegląda .
description Tekst Opcjonalnie Opis sekcji menu.
eligibleQuantity QuantitativeValue Opcjonalnie Wskazuje liczbę elementów, które mogą być dodatkiem do tego menu . Możesz użyć tego pola, aby ograniczyć liczbę dodatków, takich jak minimalną i maksymalną liczbę dodatków do pizzy.
image URL Opcjonalnie Obraz sekcji menu.
hasMenuItem Tablica AddOnMenuItem Wymagana* Pozycje menu dodatków zawarte w sekcji AddOnMenuSection.
offers Tablica Offer Opcjonalnie

Używaj tych identyfikatorów: Offer.availabilityStarts i Offer.availabilityEnds wskazuje przedział czasu podczas których dostępna jest ta sekcja AddOnMenuSection.

Na liście poniżej widać, które usługi Offer są używane w metodzie AddOnMenuSection.

  • Opcjonalne: Offer.availabilityStarts
  • Opcjonalne: Offer.availabilityEnds
  • Opcjonalne: Offer.availableDay
  • Opcjonalne: Offer.validFrom
  • Opcjonalne: Offer.validThrough
hasMenuSection Tablica AddOnMenuSection Wymagana* logiczne podział menu dodatkowego (np. Kolacja, Przystawki lub Dania rybne).
defaultOption Tablica AddOnMenuItem Opcjonalnie

Pozycje menu dodatków, które będą domyślnie wstępnie wybrane dla użytkowników w AddOnMenuSection Użytkownicy mogą zmienić ostateczne wybory. Jeśli nie określono elementu defaultOption, nie Wstępnie wybrano AddOnMenuItem.

AddOnMenuItem obiektu musi znajdować się w hasMenuItem z AddOnMenuSection.

Liczba w polu defaultOption nie może przekraczać wartości maksymalnej eligibleQuantity z AddOnMenuSection.

numberOfFreeAddOns Liczba Opcjonalnie Określa liczbę dodatków, które użytkownik może wybrać bezpłatnie.

W tych przykładach są obiekty AddOnMenuSection:

Przykład 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

Przykład 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Przykład 3

„kanapka serowa” pozycja menu zawiera „Wybór sera” AddOnMenuSection z „Szwajcarią” i „Mozzarella” wstępnie wybrana domyślnie.

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "defaultOption": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a"
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b"
    }
  ],
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozzarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

AdvanceServiceDeliveryHoursSpecification

Reprezentuje godziny realizacji zamówień, w których użytkownicy mogą planować wcześniejsze zamówienia na wynos i z dostawą.

Wartość opens jest zwykle mniejsza od wartości closes. podczas korzystania z właściwości opens i closes obowiązują te wytyczne:

  • Właściwości opens i closes są opcjonalne w przypadku AdvanceServiceDeliveryHoursSpecification, ale zdecydowanie zalecamy ich uwzględnienie.
  • Godzina usługi musi być podana w czasie lokalnym. Nie dodawaj strefa czasowa w wartości opens lub closes. Określone strefy czasowe są ignorowane.
  • Jeśli wartości opens i closes nie są wyraźnie określone, zakładamy, że postęp możliwość składania zamówień jest dostępna przez cały dzień.
  • Jeśli wartości opens i closes są takie same, zakładamy, że zamawianie z wyprzedzeniem jest niedostępna.
  • Jeśli opens ma wartość większą niż closes, przyjmuje się, że godzina zamknięcia to włączona. następnego dnia. Jeśli na przykład godzina otwarcia to 1 stycznia w 17:00, a godzina zamknięcia to 2:00, to wtedy restauracja uznaje się za zamkniętą 2 stycznia o godz. 2:00.
  • opens i closes odnoszą się do przyszłego przedziału czasu. closes ma charakter wyłączny. Dla: przykład: jeśli opens to 10:00, a closes to 16:00 z serviceTimeInterval po 15 minutach, pierwszy przedział czasu zaczyna się o 10:00 i ostatnio zaczyna się o 15:45.

W poniższej tabeli opisano właściwości funkcji AdvanceServiceDeliveryHoursSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane Zawsze ma wartość „AdvanceServiceDeliveryHoursSpecification”.
validFrom DateTime Warunkowy

Data początkowa, od której użytkownicy zamówienia z wyprzedzeniem mogą być zrealizowano. Na przykład „2017-05-01T00:00:00-07:00”.

Jeśli ta właściwość nie jest skonfigurowana, przyjmuje się, że obowiązuje w odniesieniu do każdego dnia. Właściwości validFrom i validThrough muszą ani być obecne w innych miejscach.

Jeśli ten typ jest określony jako specialOpeningHoursSpecification w: Service ta usługa validFrom w Wymagany jest identyfikator AdvanceServiceDeliveryHoursSpecification.

Więcej informacji: Formaty daty i godziny.

validThrough DateTime Opcjonalnie

Data końcowa, po której użytkownicy zamówienia z wyprzedzeniem nie mogą być zrealizowano. Na przykład „2018-12-01T00:00:00-07:00”.

Jeśli ta właściwość nie jest skonfigurowana, przyjmuje się, że obowiązuje w odniesieniu do każdego dnia. Właściwości validFrom i validThrough muszą ani być obecne w innych miejscach.

Jeśli ten typ jest określony jako specialOpeningHoursSpecification w: Service właściwość validThrough w argumencie Wymagany jest identyfikator AdvanceServiceDeliveryHoursSpecification.

validThrough ma wyjątkowy czas. Na przykład, jeśli ustawiona jest godzina 18:00, co obowiązuje do 17:59:59.

Więcej informacji: Formaty daty i godziny.

opens Time Opcjonalnie

Dotyczy przedziałów z dostawą lub na wynos.

Konkretna pora dnia, od której użytkownicy zamówienia z wyprzedzeniem wypełnione. Na przykład godzina 6:30 jest podana jako „T06:30:00”.

Godzina usługi musi być podana w czasie lokalnym. Nie dodawaj strefa czasowa w wartości opens. Jeśli została określona strefa czasowa, Google ignoruje te informacje.

Więcej informacji: Formaty daty i godziny.

closes Time Opcjonalnie

Dotyczy przedziałów z dostawą lub na wynos.

Konkretna pora dnia, po której użytkownicy zamówienia z wyprzedzeniem nie mogą wypełnione. Na przykład godzina 21:00 jest podana jako „T21:00:00”. Usługa closes> jest dostępna tylko na wyłączność, więc ustaw ją na 21:00 dla serviceTimeInterval o wartości 15 minut oznacza, że ostatni dostępny przedział godzinowy rozpoczyna się o 20:45.

Godzina usługi musi być podana w czasie lokalnym. Nie wolno uwzględnić strefę czasową w wartości closes. Jeśli strefa czasowa to Google ignoruje tę informację.

Więcej informacji: Formaty daty i godziny.

dayOfWeek Tablica DayOfWeek Opcjonalnie

Dni tygodnia, w których dostępne są godziny dostawy z wyprzedzeniem. Prawidłowa wartości to:

  • „Monday”
  • "Wtorek"
  • „Środa”
  • „Czwartek”
  • „Piątek”
  • "Sobota"
  • "Niedziela"

Jeśli nie określisz dni tygodnia, AdvanceServiceDeliveryHoursSpecification dotyczy wszystkich dni.

serviceTimeInterval Duration Wymagane

Odstęp czasu między 2 kolejnymi operacjami obsługi.

Na przykład: jeśli opens i closes to 8:00, 20:00, serviceTimeInterval to 15 minut, użytkownik może wybrać czas realizacji zamówienia: 8:00, 8:15, 8:30, 8:45, i tak dalej do 20:00.

Duration musi być określony jako czas trwania w formacie ISO 8601. Dla: przykład: "P15M" oznacza 15-minutowe odstępy.

advanceBookingRequirement QuantitativeValue Wymagane

Liczba minut od momentu złożenia zamówienia, w którym można złożyć zamówienie z wyprzedzeniem zrealizowano.

QuantitativeValue: min i Wartości max muszą być ustawione na liczbę minut, a parametr unitCode na „MIN”.

Jeśli na przykład zamówienie z wyprzedzeniem musi trwać co najmniej 60 minut, aby został zrealizowany i nie może być zrealizowany dłużej niż 2 dni później wartość min wynosi 60, a wartość max ma wartość 2880.

Poniższy przykład pokazuje użycie funkcji AdvanceServiceDeliveryHoursSpecification – typ:

Przykład 1

{
  "@type": "AdvanceServiceDeliveryHoursSpecification",
  "opens": "T10:00:00",  // Delivery between 10AM and 7:59:59PM
  "closes": "T20:00:00",
  "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601)
  "advanceBookingRequirement": {
    "minValue": 60,   // The slot should be at least 60 mins away
    "maxValue": 8640, // but not more than 6 days away
    "unitCode": "MIN"
  }
}

AllergenDetails

Aby użyć tego typu, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Następnie dodaj FoodBeverageTobaccoProduct do typu odpowiedniej MenuItem lub MenuItemOption.

W tabeli poniżej opisujemy właściwości typu AllergenDetails:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „AllergenDetails”.
allergenType Tekst Opcjonalnie Rodzaj alergenu na gs1:Kod typu alergena . na przykład http://gs1.org/voc/AllergenTypeCode-PEANUTS.
allergenLevelOfContainmentCode Tekst Opcjonalnie Kod opuszczenia na gs1:LevelOfContainmentCode. Na przykład http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM lub http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN

Poniższy przykład pokazuje użycie typu AllergenDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/6",
  "name": "Strawberry joghurt drink",
  "description": "A 0.5l bottle of strawberry joghurt drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-joghurt-drink",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

DeliveryChargeSpecification

W poniższej tabeli opisano właściwości funkcji DeliveryChargeSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „DeliveryChargeSpecification”.
@id URL Opcjonalnie Identyfikator specyfikacji opłaty za dostawę.
price Liczba Wymagane Łączny koszt dostawy w formie wartości czysto numerycznej. Użyj właściwość priceCurrency, która wskazuje rodzaj waluty; zamiast symboli walut. Na przykład „6.00” bez waluty .
priceCurrency Tekst Wymagane Trzyliterowy kod waluty w formacie ISO 4217. Przykład: „PLN”.
eligibleTransactionVolume PriceSpecification Opcjonalnie Wielkość transakcji w jednostce pieniężnej, w przypadku której ta dostawa specyfikacja obciążenia jest prawidłowa. Na przykład, aby wskazać minimalny zakup woluminu lub aby poinformować, że dostawa jest dostępna bez dodatkowych opłat. ponad określoną liczbę zamówień.
eligibleQuantity QuantitativeValue Opcjonalnie Przedział czasu i jednostka miary wielkości zamówienia, dla których czy opłata za dostawę jest prawidłowa. Pozwala to na przykład określić, że określona opłata frachtowa dotyczy tylko określonej ilości,
eligibleRegion Tablica GeoShape lub Place lub GeoCircle Opcjonalnie Miejsce lub element Geo shape/GeoCircle dla regionów geopolitycznych. w przypadku których ważna jest oferta lub specyfikacja opłaty za dostawę. Użyj tej tylko wtedy, gdy opłaty za dostawę różnią się w zależności od regionu.
validFrom DateTime Opcjonalnie Data i godzina (oraz strefa czasowa) pobrania opłaty za dostawę. staje się prawidłowy. Przykład: „2017-05-01T06:30:00-07:00”. Dla: więcej informacji znajdziesz w Formaty daty i godziny.
validThrough DateTime Opcjonalnie Data i godzina (łącznie ze strefą czasową), po których upływie podana opłata jest nieprawidłowa. Przykład: „2017-05-01T06:30:00-07:00”. Czas dla validThrough jest nieograniczony, np. jeśli jest ustawiona na 18:00, a zostaje ustawiona do 17:59:59. Więcej informacji: Formaty daty i godziny.

W tych przykładach widać elementy DeliveryChargeSpecification:

Przykład 1

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}

Przykład 2

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Przykład 3

"priceSpecification": [{
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
    "price": "8.00", // Charges $8 for area5
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00",
      "priceCurrency": "USD"
    },
    "eligibleRegion": [ // area5
      {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "37.7392607",
          "longitude": "-122.3895522"
        },
        "geoRadius": "4505"
      }
    ]
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
    "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00", // Minimum order price for delivery is $20
      "priceCurrency": "USD"
    }
  }
]

Oprócz "@type": ["DeliveryChargeSpecification"] obiekt można rozszerzyć za pomocą funkcji UnitPriceSpecification:

"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]

Rozszerzenie ma 2 dodatkowe właściwości wymagane do opłat za dostawę. i wyrażone w procentach.

Właściwość Typ Konieczność Opis
referenceQuantity QuantitativeValue Wymagane Ilość referencyjna, do której ma zastosowanie określona cena. Przykład: referenceQuantity z wartości 10 z unitCode wynoszącą „P1” daje 10% wartości zamówienia. Tylko unitCode „P1” to jest obecnie obsługiwany.
basePrice Liczba Opcjonalnie Opłata podstawowa oprócz referenceQuantity. Dla: przykład: referenceQuantity z 10 z wartością unitCode z „P1” a basePrice z 5 w USD daje 5 USD + 10% wartość zamówienia. Wartością domyślną jest 0.

Przykłady opłat za dostawę

Google pozwala z wyprzedzeniem określić różne opłaty dla użytkowników za pomocą Offer.PriceSpecification podmiotu Usługi.

Pamiętaj, że w tej chwili dostępne jest tylko zamawianie typu end-to-end DeliveryChargeSpecification Połącz wszystkie rodzaje opłat w jednym DeliveryChargeSpecification

Aby dowiedzieć się, jak określić sposób przesyłania, zapoznaj się z przykładowymi plikami danych usług. i opłaty zależą od obszaru, odległości i wartości zamówienia.

Jeśli nie ma opłaty, kolumna Offer.PriceSpecification jest pomijana.

  • Przykład 1. Opłata za dostawę to 5% sumy częściowej koszyka
  • Przykład 2. Opłata za dostawę wynosi 5 USD
  • Przykład 3: opłata za dostawę wynosi 5 zł + 10% sumy częściowej koszyka
  • Przykład 4.Opłata za dostawę to 5 USD, a opłata za bagaż 0,1 USD
  • Przykład 5. Opłata za dostawę wynosi 5%, a opłata za obsługę w wysokości 2% sumy częściowej koszyka
  • Przykład 6: opłata za dostawę wynosi 5 USD i 1 USD za dodatkowy kilometr.

Przykład 1

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Przykład 2

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Przykład 3

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "10.00", // 10%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "5.00" // User always pays $5 in addition to 10%
  }
]

Przykład 4

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }

Przykład 5

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]

Przykład 6

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "basePrice": 5.00, // User always pays $5
    "price": 1.00, // An additional $1.00 is added per 1km
    "priceCurrency": "USD",
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "unitCode": "MTR", // MTR == meter
      "value": "1000.0" // 1km
    }
  }
]

GeoCircle

W tabeli poniżej opisujemy właściwości typu GeoCircle:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „GeoCircle”.
geoMidpoint GeoCoordinates Wymagane Wskazuje GeoCoordinates w środku GeoCircle
geoRadius Liczba Wymagane Wskazuje przybliżony promień (w metrach) obiektu GeoCircle

Ten przykład pokazuje element GeoCircle:

Przykład

{
  "@type": "GeoCircle",
  "geoMidpoint": {
    "@type": "GeoCoordinates",
    "latitude": "37.7392607",
    "longitude": "-122.3895522"
  },
  "geoRadius": "4505"
}

GeoCoordinates

W tabeli poniżej opisujemy właściwości typu GeoCoordinates:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „GeoCoordinates”.
latitude Liczba Wymagane

Szerokość geograficzna w stopniach. Wartości są ograniczone do zakresu od -90 do 90, włącznie. Jeśli podana wartość jest mniejsza niż -90, jest ustawiona na -90. jeśli wartość jest większa niż 90, zostaje ustawiona na 90.

Dokładność powinna wynosić co najmniej 5 miejsc po przecinku.

longitude Liczba Wymagane

Długość geograficzna w stopniach. Wartości spoza zakresu od -180 do 180 są w taki sposób, aby mieściły się w zakresie. Na przykład wartość -190 jest konwertowana na 170. Wartość 190 jest przeliczana na –170. Ten odzwierciedla fakt, że długość geograficzna rozciąga się wokół kuli ziemskiej.

Dokładność powinna wynosić co najmniej 5 miejsc po przecinku.

Ten przykład pokazuje element GeoCoordinates:

Przykład

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "35.7392607",
  "longitude": "-120.3895522"
}

GeoShape

W tabeli poniżej opisujemy właściwości typu GeoShape:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „GeoForm”.
polygon Tablica tekstu Wymagane

Wielokąt lub wielokąt wyrażony jako seria trzech lub więcej miejsc rozdzielanych punktów. Zalecamy, aby pierwszy i ostatni punkt to samo, ale nie jest to wymagane.

Każdy punkt w wielokątnej lub wielokątnej jest definiowany przez punkt szerokości geograficznej a po nim długość geograficzna. Musisz również określić punkty w w lewo.

W większości przypadków będzie to jeden wielokąt. Do bardziej złożonych zastosowań , zapoznaj się z dokumentacji obsługiwanego obszaru dostawy.

W tych przykładach widać elementy GeoShape:

Przykład 1

{
  "@type": "GeoShape", // area4
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
},

Przykład 2

{
  "@type": "GeoShape", // A service area with a hole.
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”,
               “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”]
},

Przykład 3

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "areaServed": [
    {
      "@type": "GeoShape",  // Richmond District delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"
    },
    {
      "@type": "GeoShape",  // Haight-Ashbury delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"
    }  ],
...
},

Poniższa tabela zawiera właściwości typu Menu:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „Menu”.
@id URL Wymagane Unikalny identyfikator menu.
name Tekst Opcjonalnie Tekst, który może zidentyfikować Menu, gdy użytkownik przegląda .
description Tekst Opcjonalnie Opis menu.
disclaimer MenuDisclaimer Opcjonalnie Wyłączenie odpowiedzialności dotyczące menu. Na przykład informacje o wartościach odżywczych i ujawnianie alergenów.
hasMenuSection Pojedynczy obiekt lub tablica MenuSection Opcjonalnie Logiczne podział menu (np. obiad, przystawki lub ryby) dania).
hasMenuItem Pojedynczy obiekt lub tablica MenuItem Opcjonalnie MenuItem obiektów zawartych w Menu, zwykle, gdy Menu nie jest dzielony przez MenuSections
inLanguage Tekst Opcjonalnie Język treści menu, taki jak kod języka standard IETF BCP 47. Przykład: „pl-PL”.

Poniższe przykłady pokazują użycie typu Menu:

Przykład 1

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "hasMenuSection": {
    "@type": "MenuSection",
    "@id": "http://www.provider.com/somerestaurant/menusection/1",
    "name": "Tacos",
    "description": "Tacos inspired by India cuisine.",
    "offers": {
      "@type": "Offer",
      "availabilityStarts": "T08:00:00", // Starts at 8:00AM
      "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM
    },
    "hasMenuItem": {
      "@type": "MenuItem",
      "@id": "http://www.provider.com/somerestaurant/menuitem/1",
      "name": "Aloo Gobi Taco",
      "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
      "offers": {
        "@type": "Offer",
        "sku": "offer-aloo-gobi-taco",
        "price": "3.50",
        "priceCurrency": "USD"
      },
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "170 Cal",
        "fatContent": "3 g",
        "fiberContent": "2 g",
        "proteinContent": "4 g"
      },
      "suitableForDiet": "http://schema.org/GlutenFreeDiet"
    }
  },
  "inLanguage": "English"
}

Przykład 2

W tym przykładzie hasMenuItem jest tablicą.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Main",
      "description": "Main course",
      "image": "http://www.provider.com/somerestaurant/main_dishes.jpg",
      "hasMenuItem": [
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/1",
          "name": "Pizza",
          "description": "Pizza",
          "offers": {
            "@type": "Offer",
            "sku": "offer-pizza",
            "price": "7.49",
            "priceCurrency": "USD",
            "availabilityStarts": "T08:00:00", // Starts at 8:00AM
            "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
          }
        },
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/2",
          "name": "Pasta",
          "description": "Pasta",
          "offers": [
            {
              "@type": "Offer",
              "sku": "offer-pasta-lunch",
              "price": "7.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T08:00:00", // Starts at 8:00AM
              "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
            },
            {
              "@type": "Offer",
              "sku": "offer-pasta-dinner",
              "price": "10.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T18:00:00", // Starts at 6:00PM
              "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM
            }
          ]
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/2",
      "name": "Soups & Salads",
      "description": "Salads and a few choices of soup",
      "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/3",
        "name": "Pea Soup",
        "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-pea-soup",
          "price": "3.49",
          "priceCurrency": "USD"
        },
        "suitableForDiet": "http://schema.org/GlutenFreeDiet"
      }
    }
  ]
}

Przykład 3

W tym przykładzie hasMenuSection jest tablicą.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Dinner",
      "description": "Dinner dishes",
      "hasMenuSection": [
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/2",
          "name": "Starters",
          "description": "Appetizers and such",
          "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/1",
            "name": "Potato Skins",
            "description": "Small serving of stuffed potato skins.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-potato-skins",
              "price": "7.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/3",
          "name": "Soups & Salads",
          "description": "Salads and a few choices of soup",
          "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/2",
            "name": "Pea Soup",
            "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-pea-soup",
              "price": "3.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/4",
          "name": "Steak",
          "description": "Steak Dishes",
          "image": "https://steak.com/steak_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/3",
            "name": "Sirloin",
            "description": "Sirloin steak dish.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-sirloin-steak",
              "price": "15.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/5",
      "name": "Desserts",
      "description": "Dessert dishes.",
      "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/4",
        "name": "Chocolate Pie",
        "description": "A slice of chocolate pie.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chocolate-pie",
          "price": "3.49",
          "priceCurrency": "USD"
        }
      }
    }
  ]
}

Więcej przykładów elementów Menu znajdziesz tutaj Przykłady kanałów restauracji i menu.

Poniższa tabela zawiera właściwości typu MenuDisclaimer:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „MenuDisclaimer”.
@id URL Wymagane Unikalny identyfikator wyłączenia odpowiedzialności w menu.
text Tekst Wymagane Tekst wyłączenia odpowiedzialności. Na przykład „Średnia dzienna energia dla dorosłych spożyte kalorie to 8700 kJ”.
url URL Opcjonalnie Adres URL strony, która zawiera więcej informacji na temat wyłączenia odpowiedzialności.

Poniższy przykład pokazuje użycie typu MenuDisclaimer:

Przykład

{
    "@type": "Menu",
    "@id": "menu_1",
    "disclaimer": {
        "@type": "MenuDisclaimer",
        "@id": "menu_1_disclaimer_1",
        "text": "The average adult daily energy intake is 8700 kJ",
        "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html"
    }
}

Pozycja menu reprezentująca pozycję w menu. W tabeli poniżej znajdziesz listę właściwości typu MenuItem:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „MenuItem”.
@id URL Wymagane Unikalny identyfikator pozycji menu.
name Tekst Wymagane Tekst, który może zidentyfikować MenuItem podczas przeglądania w menu.
description Tekst Opcjonalnie Opis pozycji menu.
image URL Opcjonalnie

Obraz pozycji menu. Przestrzegaj tych wytycznych dotyczących obrazów:

  • Format obrazu 3:2
  • Minimalna rozdzielczość: 600 x 400 pikseli, 72 dpi
  • Zalecana rozdzielczość: 1400 x 960 pikseli, 72 dpi
menuAddOn Tablica AddOnMenuSection Opcjonalnie Pozycje w sekcji menu, które można dodać jako dodatki do .
offers Tablica Offer Wymagana*

Co najmniej 1 oferta, która zawiera ten element: MenuItem. Wskazuje, kiedy i w jakiej cenie MenuItem jest dostępny. Tylko jedna oferta powinna w danym momencie. Jeśli chcesz, możesz podać wiele ofert, cena i dostępność są różne w zależności od pory dnia. Jeśli produkt spożywczy różni się atrybutem podstawowym (np. rozmiar pizza), użyj opcji menuItemOption. Domyślna wartość dla Offer.eligibleQuantity ma wartość minimalną 0 (bez górnej wartości) .

Na liście poniżej widać, które usługi Offer są używane w projekcie MenuItem.

  • Wymagane Offer.sku
  • Wymagane Offer.price
  • Wymagane Offer.priceCurrency
  • Opcjonalne: Offer.availabilityStarts
  • Opcjonalne: Offer.availabilityEnds
  • Opcjonalne: Offer.availableDay
  • Opcjonalne: Offer.validFrom
  • Opcjonalne: Offer.validThrough
  • Opcjonalne: Offer.eligibleQuantity
  • Opcjonalne: Offer.inventoryLevel
hasMenuItemOptions Tablica MenuItemOption Wymagane Lista podstawowych opcji lub wariantów tego elementu menu. Opcje powinny: służy do określania różnych wersji podstawowych dostępnych dla danego produktu, np. małych, średnich i dużych.
suitableForDiet Tablica RestrictedDiet Opcjonalnie Danie jest zgodne z podanymi niżej ograniczeniami żywieniowymi (np. "http://schema.org/GlutenFreeDiet" lub „http://schema.org/VeganDiet”. Ten to wyliczona lista możliwych wartości.
nutrition NutritionInformation Opcjonalnie Informacje o wartościach odżywczych potrawy, zwłaszcza kalorii.
hasAllergen AllergenDetails Opcjonalnie Alergie podane w potrawie według: gs1:AllergenDetails. Aby używać tej właściwości, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItem
additive Tablica AdditiveDetails Opcjonalnie Dodatki do potrawy na: gs1:AdditiveDetails. To jest wyliczana lista możliwych wartości. Dodaj kontekst gs1, którego chcesz użyć ta usługa: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItem
packaging PackagingDetails Opcjonalnie Informacje na temat opakowania i recyklingu produktu MenuItem według gs1:PackagingDetails Aby używać tej właściwości, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItem

W tych przykładach widać elementy MenuItem:

Przykład 1

"hasMenuItem": {
  "@type": "MenuItem",
  "@id": "http://www.provider.com/bar/menuitem/1",
  "name": "Potato Skins",
  "description": "Small serving of stuffed potato skins.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-potato-skins",
    "price": "7.49",
    "priceCurrency": "USD"
  },
  "suitableForDiet": "http://schema.org/GlutenFreeDiet"
}

Przykład 2

"hasMenuItem": [
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170067",
    "name": "Veg Grill Burrito",
    "offers": {
      "@type": "Offer",
      "sku": "offer-veg-grill-burrito",
      "price": "12.99",
      "priceCurrency": "USD"
    },
    "menuAddOn": {
      "@type": "AddOnMenuSection",
      "name": "Cheese",
      "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
      "eligibleQuantity":
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 2 // Maximum of 2 cheeses are allowed
      }
    }
  },
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170018",
    "name": "Chicken Taco",
    "offers": {
      "@type": "Offer",
      "sku": "offer-chicken-taco",
      "price": "6.99",
      "priceCurrency": "USD"
    }
  }
]

Przykład 3

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Przykład 4

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Przykład 5

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/9",
  "name": "Ice Coffee",
  "offers": {
    "@type": "Offer",
    "sku": "offer-ice-coffee",
    "price": "3.99",
    "priceCurrency": "USD"
  },
  "nutrition": {
    "@type": "NutritionInformation",
    "description": "Contains preservatives and artificial flavor"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN"
    }
  ],
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ],
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.10",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
}

Więcej przykładów elementów MenuItem znajdziesz w artykule Przykłady plików danych z restauracji i menu.

Opcja reprezentująca wybory, których użytkownik byłby zmuszony, wybierając potrawę lub kombinację. Użytkownik musi wybrać opcję. W przeciwnym razie kolejność jest uznawany za nieprawidłowy. np. wybór małego, średniego lub dużego w przypadku zgłoszenia. pizzy.

Przykładowe przypadki użycia atrybutu MenuItemOption znajdziesz w naszym przewodniku: dostosowanie za pomocą MenuItemOption.

Poniższa tabela zawiera właściwości typu MenuItemOption:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „MenuItemOption”.
value PropertyValue Wymagane PropertyValue zawierający parę nazwa/wartość reprezentujące .
offers Tablica Offer Wymagane

Co najmniej jedna oferta z tym elementem: MenuItemOption. Określa, kiedy i w jakiej cenie dostępna jest dana opcja menu. Tylko jedna oferta powinna być ważna w danym momencie. Możesz mieć ich wiele ważnych ofert, jeśli cena i dostępność mogą zmieniać się w zależności od pory dnia. Nie używaj właściwości Offer.eligibleQuantity. MenuItemOption wzajemnie się wyklucza, więc Wartość Offer.eligibleQuantity jest ignorowana, jeśli została podana.

Na liście poniżej widać, które usługi Offer są używane w projekcie MenuItemOption.

  • Wymagane Offer.sku
  • Wymagane Offer.price
  • Wymagane Offer.priceCurrency
  • Opcjonalne: Offer.availabilityStarts
  • Opcjonalne: Offer.availabilityEnds
  • Opcjonalne: Offer.availableDay
  • Opcjonalne: Offer.validFrom
  • Opcjonalne: Offer.validThrough
  • Opcjonalne: Offer.eligibleQuantity
  • Opcjonalne: Offer.inventoryLevel
menuAddOn Array of AddOnMenuSection Opcjonalnie Sekcja menu z dozwolonymi elementami, które można dodać jako dodatek. Używaj tylko Dzieje się tak, jeśli dodatki są przypisane do konkretnej opcji menu. W przeciwnym razie dostarczać dodatki za pomocą właściwości MenuItem.menuAddOn.
suitableForDiet Tablica RestrictedDiet Opcjonalnie Lista wyliczana wskazująca diety, do których stosuje się to danie podane ograniczenie żywieniowe (np. "http://schema.org/GlutenFreeDiet" lub „http://schema.org/VeganDiet”).
nutrition NutritionInformation Opcjonalnie Informacje o wartościach odżywczych potrawy, zwłaszcza kalorii.
hasAllergen AllergenDetails Opcjonalnie Alergie podane w potrawie według: gs1:AllergenDetails. Aby używać tej właściwości, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItemOption
additive Tablica AdditiveDetails Opcjonalnie Dodatki do potrawy na: gs1:AdditiveDetails. To jest wyliczana lista możliwych wartości. Dodaj kontekst gs1, którego chcesz użyć ta usługa: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItemOption
packaging PackagingDetails Opcjonalnie Informacje na temat opakowania i recyklingu tego elementu MenuItem według gs1:PackagingDetails Aby używać tej właściwości, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]. I dodaj FoodBeverageTobaccoProduct do typu MenuItemOption

Ten przykład pokazuje elementy MenuItemOption:

Przykład 1

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

Przykład 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

Sekcja menu reprezentująca konkretną sekcję w menu. Tabela poniżej zawiera listę właściwości typu MenuSection:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „MenuSection”.
@id URL Wymagane Unikalny identyfikator sekcji menu.
name Tekst Wymagane Tekst, który może zidentyfikować MenuSection podczas przeglądania w menu.
description Tekst Opcjonalnie Opis sekcji menu.
hasMenuSection Tablica MenuSection Opcjonalnie Podgrupa logiczna MenuSection. Na przykład parametr Sekcja menu obiadowego może zawierać wiele sekcji podrzędnych, takich jak „Drób Dania lub „wegetariańskie”.
hasMenuItem Tablica MenuItem Opcjonalnie Pozycje menu w menu MenuSection.
offers Tablica Offer Opcjonalnie

Używaj tych identyfikatorów: Offer.availabilityStarts i Offer.availabilityEnds, aby wskazać okres w które jest obsługiwane przez ten zasób typu MenuSection. Nie używać Offer.eligibleQuantity

Na poniższej liście możesz sprawdzić, które właściwości Offer są używane w MenuSection:

  • Opcjonalne: Offer.availabilityStarts
  • Opcjonalne: Offer.availabilityEnds
  • Opcjonalne: Offer.availableDay
  • Opcjonalne: Offer.validFrom
  • Opcjonalne: Offer.validThrough
image URL Opcjonalnie Obraz sekcji menu.

W tych przykładach można zobaczyć elementy typu MenuSection:

Przykład 1

{
  "@type": "MenuSection",
  "@id": "http://www.provider.com/bar/menusection/4",
  "name": "Steak",
  "description": "Steak Dishes",
  "image": "https://steak.com/steak_dishes.jpg",
  "hasMenuItem": {
    "@type": "MenuItem",
    "@id": "http://www.provider.com/bar/menuitem/3",
    "name": "Sirloin",
    "description": "Sirloin steak dish.",
    "offers": {
      "@type": "Offer",
      "sku": "offer-sirloin-steak",
      "price": "15.49",
      "priceCurrency": "USD"
    },
    "suitableForDiet": "http://schema.org/GlutenFreeDiet"
  }
}

Przykład 2

"hasMenuSection": [
  {
    "@type": "MenuSection",
    "@id": "https://www.example.com/1089/categorization/25114480",
    "name": "Main Items",
    "hasMenuItem": [
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170067",
        "name": "Veg Grill Burrito",
        "offers": {
          "@type": "Offer",
          "sku": "offer-veg-grill-burrito",
          "price": "12.99",
          "priceCurrency": "USD"
        },
        "menuAddOn": {
          "@type": "AddOnMenuSection",
          "name": "Cheese",
          "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
          "eligibleQuantity":
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2 // Maximum of 2 cheeses are allowed
          }
        }
      },
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170018",
        "name": "Chicken Taco",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chicken-taco",
          "price": "6.99",
          "priceCurrency": "USD"
        }
      }
    ]
  },
  {
    "@type": "AddOnMenuSection",
    "@id": "https://www.example.com/1089/addon/1",
    "name": "AddOnCheese",
    "hasMenuItem": [
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/a",
        "name": "Swiss",
        "offers": {
          "@type": "Offer",
          "sku": "offer-swiss",
          "price": "2.99",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/b",
        "name": "Mozarella",
        "offers": {
          "@type": "Offer",
          "sku": "offer-mozzarella",
          "price": "1.99",
          "priceCurrency": "USD"
        }
      }
    ]
  }
]

Więcej przykładów elementów MenuSection znajdziesz tutaj Przykłady kanałów restauracji i menu.

NutritionInformation

W tej tabeli opisano właściwości funkcji NutritionInformation typu. W jednostkach miary rozróżniana jest wielkość liter. Na przykład „Kcal”. jest akceptowany, ale „kcal” nie.

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „NutritionInformation”.
description Tekst Opcjonalnie Informacje żywieniowe w dowolnym tekście. Na przykład „Zawiera konserwantów”.
calories Tekst Opcjonalnie

Liczba kalorii w kcal, kcal lub kJ na podstawie tych kryteriów format:

number Cal_kcal_OR_kJ

Na przykład „240 kcal”.

carbohydrateContent Tekst Opcjonalnie

Ilość węglowodanów, zwykle w g, przy zastosowaniu: format:

number g_OR_mg

Przykład: „7 g”.

cholesterolContent Tekst Opcjonalnie

Ilość cholesterolu, zwykle w mg, przy użyciu w tym formacie:

number g_OR_mg

Na przykład „12 mg”.

fatContent Tekst Opcjonalnie

Zawartość tłuszczu, zwykle w g, podana w takim formacie:

number g_OR_mg

Przykład: „42 g”.

fiberContent Tekst Opcjonalnie

Liczba g lub mg błonnika podana w tym formacie:

number g_OR_mg
proteinContent Tekst Opcjonalnie

Liczba g lub mg białka podana w tym formacie:

number g_OR_mg
saturatedFatContent Tekst Opcjonalnie

Liczba g lub mg tłuszczów nasyconych podana w tym formacie:

number g_OR_mg
servingSize Tekst Opcjonalnie Wielkość porcji w ml, L, g lub kg masa.
sodiumContent Tekst Opcjonalnie

Liczba mg lub g sodu podana w tym formacie:

number g_OR_mg
sugarContent Tekst Opcjonalnie

Liczba g lub mg cukru podana w tym formacie:

number g_OR_mg
transFatContent Tekst Opcjonalnie

Liczba g lub mg tłuszczów trans podana w tym formacie:

number g_OR_mg
unsaturatedFatContent Tekst Opcjonalnie

Zawartość tłuszczy nienasyconych, zwykle w g, przy zastosowaniu następujących kryteriów format:

number g_OR_mg

W tych przykładach widać element NutritionInformation:

Przykład 1

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},

Przykład 2

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/7",
  "name": "Peach Ice Tea",
  "description": "A 0.5l bottle of peach ice tea.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-peach-ice-tea",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "nutrition": {
              "@type": "NutritionInformation",
              "description": "Contains preservatives and artificial flavor"
  }
},

Oferta

Oferta dotycząca pozycji menu. W poniższej tabeli opisano właściwości funkcji Offer typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „Oferta”.
sku Tekst Warunkowy

Unikalny identyfikator oferty. Może to być dowolna niepowtarzalna wartość tekstowa w: Offer. Wartości sku są odwołania do Zapłać i prześlij jako offerId w: lineitem.

Ta usługa jest używana tylko w tych typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price Tekst Warunkowy

Cena oferowanego produktu. Na przykład „6.00” bez waluty .

Ta właściwość jest wymagana tylko w przypadku tych typów ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Nie jest on używany w tych typach ofert:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency Tekst Warunkowy

Waluta (w 3-literowym formacie ISO 4217) ceny lub ceny. dołączony do atrybutu PriceSpecification i jego podtypy.

Ta właściwość jest wymagana tylko w przypadku tych typów ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Nie jest on używany w tych typach ofert:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime lub Time Opcjonalnie Data i godzina lub tylko godzina, dla której oferta jest dostępna. Jeśli np. naleśniki pojawiają się od 7:00, wtedy wartość może wyglądać tak: „2017-05-01T07:00:00-07:00”. Więcej informacji: Formaty daty i godziny.
availabilityEnds DateTime lub Time Opcjonalnie Data i godzina lub tylko godzina, kiedy oferta jest niedostępna. Ten czas jest wyjątkowy. Jeśli na przykład dostępność naleśników kończy się 10:00, a ostatni naleśnik możesz podać o 9:59:59. Wartość pole może wyglądać tak: „2017-05-01T10:00:00-07:00”. Więcej informacji: Formaty daty i godziny.
availableDay Tablica DayOfWeek Opcjonalnie

Dni tygodnia, w których ten produkt jest dostępny. Prawidłowe wartości to:

  • „Monday”
  • "Wtorek"
  • „Środa”
  • „Czwartek”
  • „Piątek”
  • "Sobota"
  • "Niedziela"

Jeśli masz różne dostępności w poszczególnych dniach tygodnia, użyj więcej niż jednego obiektu Offer, jak pokazano w przykładów poniżej.

validFrom DateTime Opcjonalnie

Data i godzina (łącznie ze strefą czasową), w której jest prawidłowa. Na przykład makaron kosztuje 8 zł w porze lunchu i 10 zł. przy kolacji. Więcej informacji: Formaty daty i godziny.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

Ta usługa nie jest używana w tych typach ofert:

  • Service.Offer
validThrough DateTime Opcjonalnie

Data i godzina (łącznie ze strefą czasową), po których określony cena jest już nieważna. Na przykład: makaron w porze lunchu kosztuje 8 zł. i 10 USD na kolację. validThrough: wyłączny czas: na przykład jeśli ta godzina jest ustawiona na 18:00, godzina jest ważna do 17:59:59. Więcej informacji: Formaty daty i godziny.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

Ta usługa nie jest używana w następujących typach ofert.

  • Service.Offer
eligibleQuantity QuantitativeValue Opcjonalnie

Liczba sztuk zamówienia, w przypadku których ten produkt jest dozwolona. Przykład: restauracja może wymagać zamówienia co najmniej 10 pizzy .

Ta wartość jest opcjonalna. Domyślnie nie ma maksymalnego limitu, ale może je określić restauracja. Limity minimalne obowiązują tylko wtedy, gdy użytkownik wybierze element.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

Ta usługa nie jest używana w następujących typach ofert.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating Opcjonalnie

ogólna ocena oparta na zbiorze opinii lub ocen programu elementu.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

Ta właściwość nie jest używana w podanych niżej typach.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue Opcjonalnie

Bieżący przybliżony poziom asortymentu produktów.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer

Ta usługa nie jest używana w tych typach ofert:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Tablica DeliveryChargeSpecification lub tablica PaymentChargeSpecification Opcjonalnie

Gdy jest używany w polu Service.Offer, wskazuje szczegóły na temat to koszt dostawy. Jeśli kilka: DeliveryChargeSpecification obiektów, zostaje zastosowany najbardziej szczegółowy z nich. Korzystaj z powrotów wyłączne obiekty DeliveryChargeSpecification, aby uniknąć niejednoznaczności.

Tej usługi można używać w następujących typach ofert:

  • Service.Offer

Ta usługa nie jest używana w tych typach ofert:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Tablica identyfikatorów Restaurant Opcjonalnie

Reprezentuje restauracje, do których należy Offer oferowane na

Jeśli nie określisz tego parametru, będzie to Offer. do wszystkich restauracji.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

Ta usługa nie jest używana w tych typach ofert:

  • Service.Offer
applicableFulfillmentMethod Tablica tekstu Opcjonalnie

Reprezentuje typ usługi Offer zrealizowana przez. Możliwe wartości to „DELIVERY” lub „Na wynos”.

Jeśli nie określono tej wartości, Offer zostanie zrealizowany z dostawą i na wynos.

Tej usługi można używać w następujących typach ofert:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

Ta usługa nie jest używana w tych typach ofert:

  • Service.Offer
@id URL Wycofano Unikalny identyfikator oferty. Wycofany 25.04.19. Zastąp sku, jak opisano powyżej.

W tych przykładach widać elementy Offer:

Przykład 1

Oto przykład prostej oferty:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD"
}

Przykład 2

Przykładowa oferta poniżej pokazuje dostępność w godzinach 8–10 weekendy:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",  // Only available from 8-9:59:59 AM
  "availabilityEnds": "T10:00:00-07:00",
  "availableDay": ["Saturday", "Sunday"]  // Only on weekends.
}

Przykład 3

Ten przykład pokazuje dostępność w poniedziałki w godzinach 9–10:59:59. Środy i piątki, ale od 8:00 do 11:59:59 we wtorki i czwartki:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T09:00:00-07:00",
  "availabilityEnds": "T11:00:00-07:00",
  "availableDay": ["Monday", "Wednesday", "Friday"]
}, {
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/141/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",
  "availabilityEnds": "T12:00:00-07:00",
  "availableDay": ["Tuesday", "Thursday"]
}

Przykład 4

Poniższy przykład pokazuje, że pozycja menu dodatku może tak, aby użytkownik mógł zamówić maksymalnie 2 porcje ten element.:

{
  "@type": "AddOnMenuItem",
  "@id": "https://www.example.com/1089/addon/a",
  "name": "Ranch",
  "offers": {
    "@type": "Offer",
    "@id": "https://www.example.com/1089/addon/a/offer",
    "price": "2.99",
    "priceCurrency": "USD"
    "eligibleQuantity": {
         "@type": "QuantitativeValue",
         "maxValue": 2
     }
  }
}

Przykład 5

Ten przykład przedstawia ofertę dostawy w określonej lokalizacji:

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD",
  "applicableFulfillmentMethods": ["DELIVERY"],
  "offeredBy": [
    {
      "@type": "Restaurant",
      "@id": "https://www.provider.com/location/1",
    }
  ]
}

OpeningHoursSpecification

Określa, kiedy dostępne są usługi zamawiania. Zwykle opens ma wartość jest mniejsza niż wartość closes. Poniższe wytyczne dotyczą korzystania z Usługi opens i closes:

  • Właściwości opens i closes są opcjonalne, ale zdecydowanie zalecane, wskazują, kiedy dostępna jest kolejność. Sprawdzona metoda definiowania dostępnych godziny należy uwzględnić tablicę deliveryHours, która zawiera ServiceDeliveryHoursSpecification z właściwościami opens i closes. Ty może następnie uwzględnić obiekt AdvanceServiceDeliveryHoursSpecification w deliveryHours z własnymi właściwościami opens i closes, jeśli chcesz z większym okresem składania zamówień z wyprzedzeniem.
  • Jeśli atrybuty opens i closes nie są wyraźnie określone, zakładamy, że kolejność jest dostępna codziennie o każdej porze dnia.
  • Godzina usługi musi być podana w czasie lokalnym. Nie dodawaj strefa czasowa w wartości opens lub closes. Jeśli podasz strefę czasową, Google ignoruje tę informację.
  • Jeśli wartości opens i closes są takie same, zakładamy, że restauracja jest otwarte na 0 minut.
  • Jeśli opens ma wartość większą niż closes, przyjmuje się, że godzina zamknięcia to włączona. następnego dnia. Jeśli na przykład godzina otwarcia to 1 stycznia w 17:00, a godziną zamknięcia to 2:00, wtedy restauracja jest interpretowana jako kończy się 2 stycznia o godzinie 2:00.
  • closes ma wyjątkowy czas. Dlatego, jeśli godziny otwarcia i zamknięcia ten okres składania zamówień jest ustawiony odpowiednio na 10:00 i 16:00, a następnie jest 15:59:59.

W tej tabeli opisano właściwości funkcji OpeningHoursSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „OpeningHoursSpecification”.
@id URL Opcjonalnie Identyfikator urządzenia OpeningHoursSpecification.
dayOfWeek Tablica DayOfWeek Opcjonalnie

Dzień tygodnia, w którym podane są te godziny otwarcia. Akceptowane wartości to „Monday”, „Tuesday”, „Wednesday”, „Czwartek”, „Piątek”, „Sobota” i „Niedziela”. Na przykład:

"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]

Jeśli nie określisz dni tygodnia, OpeningHoursSpecification dotyczy wszystkich dni.

opens Time Opcjonalnie

W przypadku użycia w specyfikacji Restaurant właściwość ta wskazuje godziny otwarcia restauracji w poszczególne dni tygodnia. Dla: np. godzina 6:30 jest podana jako „T06:30:00”.

Użyta w specyfikacji Service wskazuje konkretny pora dnia, od której użytkownicy można składać zamówienia. it określa godzinę otwarcia, kiedy system online jest włączony, i zezwala składanie zamówień. W tych godzinach pracy możesz w polu deliveryHours podać godziny otwarcia kiedy użytkownicy mogą zamawiać dostawy specjalne.

Godzina usługi musi być podana w czasie lokalnym. Nie wolno uwzględnić strefę czasową w wartości opens. Jeśli strefa czasowa to Google ignoruje tę informację.

Więcej informacji: Formaty daty i godziny.

closes Time Opcjonalnie

W przypadku użycia w specyfikacji Service właściwość ta wskazuje o określonej porze dnia, po której użytkownicy nie można składać zamówień. it określa godzinę zamknięcia systemu online i zezwala składanie zamówień. W tych godzinach pracy możesz w polu deliveryHours podać godziny otwarcia kiedy użytkownicy mogą zamawiać dostawy specjalne.

Godzina usługi musi być podana w czasie lokalnym. Nie wolno uwzględnić strefę czasową w wartości closes. Jeśli strefa czasowa to Google ignoruje tę informację.

Więcej informacji: Formaty daty i godziny.

validFrom DateTime Opcjonalnie

W przypadku użycia w specyfikacji Restaurant właściwość ta wskazuje dzień, w którym godziny otwarcia określone przez opens oraz Obowiązują closes za restaurację.

Jeśli np. podane godziny pracy dotyczą całego roku 2017, ustaw ustaw validFrom na „2017-01-01T00:00:00-07:00” oraz validThrough na „2017-12-31T23:59:59-07:00”.

Gdy jest używany w specyfikacji Service, validFrom wskazuje datę początkową, od której użytkownicy zamówienia mogą być umieszczonego tekstu.

Jeśli ta właściwość nie jest określona w pliku danych, Google zakłada, że Restauracja lub usługa są dostępne codziennie.

Oprócz daty, godziny i strefy czasowej w polu są wymagane.

Jako strefy czasowej użyj strefy czasowej restauracji lub usługi.

Więcej informacji: Formaty daty i godziny.

validThrough DateTime Opcjonalnie

Jeśli jest używany w Restaurant, jest to data, po której godziny otwarcia określone przez opens i closes nie są prawidłowe.

Jeśli np. podane godziny pracy dotyczą całego roku 2017, ustaw ustaw validFrom na „2017-01-01T00:00:00-07:00” oraz validThrough na „2017-12-31T23:59:59-07:00”.

Gdy jest używany w specyfikacji Service, validThrough wskazuje datę końcową, po której użytkownicy zamówienia nie mogą być już umieszczonego tekstu.

Jeśli ta właściwość nie jest określona w pliku danych, Google zakłada, że Restauracja lub usługa są dostępne codziennie.

Oprócz daty, godziny i strefy czasowej w polu Data i godzina są wymagane.

Jako strefy czasowej użyj strefy czasowej restauracji lub usługi.

validThrough ma wyjątkowy czas. Przykład: jeśli ta godzina jest ustawiona na 18:00, obowiązuje do 17:59:59.

Więcej informacji: Formaty daty i godziny.

deliveryHours Tablica ServiceDeliveryHoursSpecification lub tablica AdvanceServiceDeliveryHoursSpecification Warunkowy

Specyfikacja czasu dostawy lub na wynos.

Ten parametr jest wymagany, o ile restauracja nie jest zamknięta (czyli że punkty opens i closes są ustawione i równe i otwierać przed sobą nawzajem.

  • ServiceDeliveryHoursSpecification: w ciągu godziny otwarcia lub zamknięcia, możesz podać godziny otwarcia, i „zamyka” godziny, kiedy użytkownicy mogą składać zamówienia jak najszybciej.
  • AdvanceServiceDeliveryHoursSpecification: w ciągu godziny otwarcia lub zamknięcia, możesz podać godziny otwarcia, i „zamyka” godziny, kiedy użytkownicy mogą składać zamówienia z wyprzedzeniem.

W tych przykładach widać elementy OpeningHoursSpecification:

Przykład 1

// Ordering times for Monday through Friday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      "@type": "AdvanceServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T12:00:00", // Advance ordering begins at noon
      "closes": "T23:59:59", // Advance ordering ends at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    },
    {
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T10:00:00", // ASAP ordering begins at 10AM
      "closes": "T14:00:00", // ASAP ordering ends at 2PM
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
},

Przykład 2

// Ordering times for Saturday and Sunday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      // In this case advance orders are unavailable on Saturday and Sunday
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "T12:00:00", // ASAP orders start at noon
      "closes": "T23:59:59", // ASAP orders end at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
}

Przykład 3

"hoursAvailable": {
  "@type": "OpeningHoursSpecification",
  "validFrom": "2016-02-01T00:00:00-07:00",
  "validThrough": "2016-03-01T00:00:00-07:00",
  "opens": "T08:00:00",  // Ordering begins at 8:00AM and ends at 6:00PM.
                         // ASAP and and advance orders are restricted to this
                         // time frame since the user won't be able to place
                         // orders outside of this window.
  "closes": "T18:00:00",
  "deliveryHours": {
    "@type": "ServiceDeliveryHoursSpecification",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": "60",
      "unitCode": "MIN"
    }
  }
},

Przykład 4

// List hours available for 2017 and 2018
"hoursAvailable": [
  {
    "@type": "OpeningHoursSpecification",
    // Array containing advance order hours for each day
    "deliveryHours": [
      {
        // Open 10:00AM to 9:29:59PM on Mondays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Monday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Tuesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Tuesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Wednesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Wednesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Thursdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "dayOfWeek": [
          "Thursday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Fridays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Friday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Saturdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Saturday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 11:00AM to 6:59:59PM on Sundays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Sunday"
        ],
        "opens": "T11:00:00",
        "closes": "T19:00:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      }
    ]
  }
],

PackagingDetails

Aby użyć tego typu, dodaj kontekst gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]. i dodaj FoodBeverageTobaccoProduct do typu MenuItem lub MenuItemOption.

W tabeli poniżej opisujemy właściwości typu PackagingDetails:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „PackagingDetails”.
packagingRecyclingProcessType Tekst Opcjonalnie Typ procesu recyklingu opakowań według gs1:PackagingRecyclingProcessTypeCode. Przykład: http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE lub http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails Opcjonalnie Szczegóły depozytu zwracanego pakietu na gs1:ReturnablePackageDepositDetails. Na przykład butelki i puszki są przeznaczone do zwrotu paczki.

Poniższy przykład pokazuje użycie typu PackagingDetails:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

PaymentChargeSpecification

W tej tabeli opisano właściwości funkcji PaymentChargeSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „PaymentChargeSpecification”.
@id URL Opcjonalnie Identyfikator urządzenia PaymentChargeSpecification.
price Liczba Wymagane Łączna kwota obciążenia. Na przykład „6.00” bez waluty .
priceCurrency Tekst Wymagane Trzyliterowy kod waluty ceny w standardzie ISO 4217. Przykład: „PLN”.
eligibleTransactionVolume PriceSpecification Opcjonalnie Wielkość transakcji w jednostce pieniężnej, której dotyczy ta płatność specyfikacja jest prawidłowa, np. do sygnalizowania minimalnego zakupu głośność.
eligibleQuantity QuantitativeValue Opcjonalnie Liczba sztuk zamówienia, w przypadku których obowiązuje opłata za płatność. Dla: możesz na przykład użyć tej właściwości, aby wymagać minimalnej liczby elementów w zamówieniu.
validFrom DateTime Opcjonalnie Data i godzina (oraz strefa czasowa) pobrania płatności staje się prawidłowy. Przykład: „2017-05-01T07:00:00-07:00”. Dla: więcej informacji znajdziesz w Formaty daty i godziny.
validThrough DateTime Opcjonalnie Data i godzina (wraz ze strefą czasową) dokonania płatności podana opłata jest nieprawidłowa. Przykład: „2017-05-01T07:30:00-07:00”. Czas dla validThrough jest nieograniczony: na przykład jeśli ustawiona jest godzina 18:00, co obowiązuje do 17:59:59. Więcej informacji: Formaty daty i godziny.

Poniższy przykład pokazuje element PaymentChargeSpecification:

Przykład

"priceSpecification": [{
  "@type": "PaymentChargeSpecification",
  "@id": "http://www.provider.com/paymentCharge/bar",
  "priceCurrency": "USD",
  "price": "6.00", // Charges $6 for processing fee
  "eligibleQuantity": {
    "@type": "QuantitativeValue",
    "minValue": 2 // Minimum of two items required
  }
}]

Oprócz "@type": ["PaymentChargeSpecification"] obiektem można być rozszerzony o UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]). Rozszerzenie dodaje 2 dodatkowe właściwości wymagane na potrzeby opłat za obsługę. i wyrażone w procentach.

właściwość Typ Konieczność Opis
referenceQuantity QuantitativeValue Wymagane Ilość referencyjna, do której ma zastosowanie określona cena. Przykład: referenceQuantity z wartości 10 z unitCode wynoszącą „P1” daje 10% wartości zamówienia. Tylko unitCode „P1” to obecnie obsługiwane.
basePrice Liczba Opcjonalnie Opłata podstawowa oprócz referenceQuantity. Dla: przykład: referenceQuantity z 10 z wartością unitCode z „P1” a basePrice z 5 w dolarach amerykańskich daje 5 USD + 10% wartość zamówienia. Wartością domyślną jest 0.

Przykłady opłat za jedzenie na wynos

Google pozwala z wyprzedzeniem określić różne opłaty dla użytkowników za pomocą Offer.PriceSpecification podmiotu Usługi.

Obecnie obsługujemy tylko jeden typ PaymentChargeSpecification. Połącz wszystkich typów opłat w jednym PaymentChargeSpecification

Jeśli nie ma opłaty, kolumna Offer.PriceSpecification jest pomijana.

  • Przykład 1. Opłata za obsługę wynosi 5% sumy częściowej koszyka
  • Przykład 2. Opłata za obsługę wynosi 5 USD
  • Przykład 3.Opłata za bagaż wynosi 0,1 USD, a opłata za obsługę wynosi 5% sumy częściowej koszyka
  • Przykład 4. Opłata za bagaż wynosi 0,1 USD, a opłata za obsługę – 1 USD.
  • Przykład 5: opłata za obsługę wynosi 5%, a wymagana napiwek to 10% sumy częściowej koszyka

Przykład 1

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Przykład 2

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

Przykład 3

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]

Przykład 4

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]

Przykład 5

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

Miejsce

W tabeli poniżej opisujemy właściwości typu Place:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane Jest to zawsze „Miejsce”.
address PostalAddress Wymagane Adres miejsca.

Poniższy przykład przedstawia element Place:

Przykład

{
  "@type": "Place", // area2
  "address": {
    "@type": "PostalAddress",
    "postalCode": "94041",
    "addressCountry": "US"
  }
},

PostalAddress

W tabeli poniżej opisujemy właściwości typu PostalAddress:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „PostalAddress”.
addressLocality Tekst Wymagana* Rejon lub miasto. Przykład: „Kraków”.
addressRegion Tekst Wymagana* Region lub stan. Przykład: „PL”.
postalCode Tekst Wymagana* Kod pocztowy. Przykład: „94102”.
streetAddress Tekst Opcjonalnie Ulica i numer. Na przykład „1600 Amphitheatre Pkwy”.
addressCountry Tekst Wymagane Dwuliterowy kod kraju w formacie ISO 3166-1 alfa-2 . Przykład: „PL”.

Dostawcy mogą wyświetlić listę tych właściwości, aby wyznaczyć Service.areaServed gdzie świadczona jest usługa.

Jeśli użyjesz tego atrybutu w polu Restaurant.address, wszystkie właściwości wymienione w polu PostalAddress są wymagane.

Ten przykład pokazuje element PostalAddress:

Przykład

"address": {
  "@type": "PostalAddress",
  "streetAddress": "12345 Bar Avenue",
  "addressLocality": "San Francisco",
  "addressRegion": "CA",
  "postalCode": "94124",
  "addressCountry": "US"
},

PriceSpecification

W tej tabeli opisano właściwości funkcji PriceSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „PriceSpecification”.
@id URL Opcjonalnie Identyfikator urządzenia PriceSpecification.
minPrice Liczba Opcjonalnie Najniższa cena, jeśli cena mieści się w zakresie.
maxPrice Liczba Opcjonalnie Najwyższa cena, jeśli cena mieści się w zakresie.
priceCurrency Tekst Wymagane Trzyliterowy kod waluty ceny w standardzie ISO 4217. Przykład: „PLN”.
eligibleQuantity QuantitativeValue Opcjonalnie Liczba sztuk zamówienia, w przypadku których obowiązuje specyfikacja ceny. Cena może na przykład wynosić 2 zł za funt lub 2 produkty za złotówkę.

Ten przykład pokazuje element PriceSpecification:

Przykład 1

"eligibleTransactionVolume": {
  "@type": "PriceSpecification",
  "minPrice": "20.00", // Minimum order price for delivery is $20
  "priceCurrency": "USD"
}

PropertyValue

Para wartości właściwości używana do opisywania opcji w MenuItemOption.

Poniższa tabela zawiera właściwości typu PropertyValue:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „propertyValue”.
name Tekst Wymagane

Nazwa lub typ opcji.

W MenuItem używane są prawidłowe nazwy:

  • „ROZMIAR”: rozmiar elementu MenuItem. Na przykład mały, średni lub duże.
  • „OPTION”: dowolna wersja inna niż rozmiar (np. potrawa dodawana do jako sałatka lub kanapka). Jeśli nie potrafisz rozróżnić między „SIZE” i „OPTION”, a następnie użyj opcji „OPTION”.

Prawidłowe nazwy używane w AddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": opcja dodatku, która jest ma zastosowanie wtedy, gdy jest używane razem z MenuItem wraz z odpowiednimi „SIZE/OPTION”.
  • "PIZZA_SIDE": ten dodatek działa tylko w przypadku pizzy. całą pizzę (np. z dodatkami grzybowymi po lewej stronie, prawą stronę lub całą pizzę).
  • „SIZE”: opcja określenia rozmiaru dodatku (np. duże frytki jako dodatek do zestawu posiłków).
  • "OPTION": dowolna odmiana oprócz rozmiaru. Jeśli nie możesz rozróżnij „SIZE” i „OPTION”, a następnie użyj opcji „OPTION”.
value Tekst Wymagane

Wartość opcji. Wartościami mogą być dowolny ciąg znaków i są one wyświetlane jako Następujące wartości są prawidłowe:

  • "PIZZA_SIDE": odpowiednia wartość powinna mieć postać "PIZZA_SIDE_LEFT", „PIZZA_SIDE_RIGHT” lub „PIZZA_SIDE_WHOLE” na pizzę.
  • "APPLICABLE_ITEM_OPTION": ta wartość powinna znajdować się w jednym z odpowiednie „OPTION/SIZE” opcje dotyczące nadrzędnych elementów zamówienia MenuItem menuItemOptions.

QuantitativeValue

W tabeli poniżej opisujemy właściwości typu QuantitativeValue:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „QuantitativeValue”.
value Liczba Opcjonalnie Wartość węzła wartości ilościowej lub wartości właściwości.
unitCode Tekst lub URL Opcjonalnie

Jednostka miary jako Wspólny kodeks UN/CEFACT lub adres URL.

Kody inne niż wspólny kod UN/CEFACT mogą być używane z prefiksem po którym następuje dwukropek.

maxValue Liczba Opcjonalnie Górna wartość jakiejś cechy lub właściwości.
minValue Liczba Opcjonalnie Dolna wartość jakiejś właściwości lub właściwości.

Poniższe przykłady pokazują użycie typu QuantitativeValue:

Przykład 1

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}

Przykład 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

Przykład 3

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

Restauracja

Poniższa tabela zawiera właściwości typu Restaurant:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze jest „Restauracja”.
@id URL Wymagane Unikalny identyfikator restauracji lub dostawcy usług dostawy. Przykład: „http://www.provider.com/326”, gdzie „326” to unikalny identyfikator do restauracji.
name Tekst Wymagane Tekst, który może zidentyfikować Restaurant podczas składania zamówienia proces tworzenia konta.
url URL Wymagane URL w Twojej domenie, który reprezentuje restaurację. Przykład: "http://www.provider.com/somerestaurant".
sameAs URL Opcjonalnie Oficjalna strona internetowa restauracji. Przykład: „http://www.restauracja.pl”.
email Tekst Opcjonalnie Kontaktowy adres e-mail restauracji.
description Tekst Opcjonalnie Opis restauracji.
telephone Tekst Wymagane

Numer telefonu w takim formacie:

"[+][country_code][phone_#_with_area_code]"

Przykład: „+16501234567”.

priceRange Tekst Opcjonalnie Zakres cen. Na przykład „$$" ($-Inexpensive, $$-Umiarkowane, $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n".

For example "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$",
  "telephone": "+16501234567", // Kod kraju (+1) jest wymagany
  "servesKuchnia": [
    „fuzja indyjsko-meksykańska”
  ]
},
  
  
.

Przykład 2

{
  "@type": "Restaurant",
  "@id": "http://www.example.com/threebrotherstacos",
  "name": "Three Brothers Tacos",
  "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mountain View",
        "addressRegion": "CA",
        "postalCode": "94041",
        "streetAddress": "123 Foo St",
        "addressCountry": "US"
  },
  "additionalProperty": [
    {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"}
  ]
}

Więcej przykładów elementów Restaurant znajdziesz tutaj Przykłady kanałów restauracji i menu.

ReturnablePackageDepositDetails

Aby użyć tego typu, dodaj kontekst gs1: „@context”:

["http://gs1.org/voc/", "http://schema.org"]

Następnie dodaj FoodBeverageTobaccoProduct do typu odpowiedniej MenuItem lub MenuItemOption.

W poniższej tabeli opisano właściwości funkcji ReturnablePackageDepositDetails typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane To zawsze „ReturnablePackageDepositDetails”.
returnablePackageDepositAmount gs1:PriceSpecification Opcjonalnie Kwota wpłaty za ten produkt na gs1:PriceSpecification. np.0, 25 USD za puszkę.

Poniższy przykład pokazuje użycie funkcji ReturnablePackageDepositDetails typ:

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

Usługa

Opisuje realizację kompleksowej akcji realizacji zamówienia z restauracji do lokalizację geograficzną według organizacji kurierskiej.

W tabeli poniżej opisujemy właściwości typu Service:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane

Typ pliku danych.

  • Service: używaj tego typu w przypadku wszystkich aktywnych plików danych dotyczących usług.
  • DisabledService: używaj tego typu tylko wtedy, gdy musisz wyłączyć do encji Service z powodu nieoczekiwanego zdarzenia i nie wiesz, kiedy usługa zostanie przywrócona.
@id URL Wymagane Identyfikator usługi realizacji. Przykład: "http://www.provider.com/service/1".
description Tekst Opcjonalnie Opis produktu.
serviceType Tekst Wymagane Typ świadczonej usługi. Możliwe wartości to „DELIVERY” lub „Na wynos”.
provider Restaurant Wymagane Odwołanie do unikalnego identyfikatora restauracji. Przykład: "http://www.provider.com/somerestaurant".
areaServed Tablica GeoShape, Place lub GeoCircle Warunkowy Obszar geograficzny, w którym świadczona jest usługa. To pole jest opcjonalne przez domyślna, ale jest wymagana, jeśli serviceType ma wartość „DOSTAWA”.
hoursAvailable Tablica OpeningHoursSpecification Wymagane Godziny, w których ta usługa jest dostępna.
specialOpeningHoursSpecification Tablica OpeningHoursSpecification, ServiceDeliveryHoursSpecification lub AdvanceServiceDeliveryHoursSpecification Opcjonalnie

Godziny, które zastępują bardziej ogólne wartości OpeningHoursSpecification lub czas realizacji zamówień. Zazwyczaj w tym polu określa się dni wolne od pracy. czy inne tymczasowe zamknięcia lub zmiany godzin otwarcia.

Zdefiniuj specjalny zakres dat za pomocą funkcji validFrom i Usługi: validThrough. Aktualna godzina i strefa czasowa wymagane przy określaniu tych właściwości.

offers Tablica Offer Warunkowy

Szczegółowe informacje o ofercie dostawy w przypadku określonej restauracji. Ten jest domyślnie opcjonalne, ale wymagane, jeśli serviceType to „DOSTAWA”.

Właściwość Offer.priceSpecification jest opcjonalna w posprzedażna. Nie są tu używane żadne inne właściwości Offer.

hasOfferCatalog [Menu, Katalog ofert] Wymagane

Określa menu tej usługi. Możesz mieć inne menu dla na poszczególne usługi (np. jedzenie na wynos, z dostawą i catering).

Musisz określić zarówno Menu, jak i OfferCatalog dla danego typu. Na przykład:

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty Tablica {name, value} Opcjonalnie

Opcjonalna konfiguracja usługi. Elementy muszą być obiekt z kluczem name odpowiadającym opcjonalnemu nazwę pola. Klucz value jest wartością pasującą do kontekstu dla danego pola.

Zobacz ServingConfig znajdziesz więcej informacji o konkretnych nazwach i wartościach.

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction URL Opcjonalnie

Zawiera adres URL usługi z dostawą lub na wynos, który będzie używany podczas przechodzenia z całkowitego procesu zamawiania jedzenia na przekierowanie. Na przykład "potentialAction": { "url": "https://fopatestagent.com/ordering/restauracja-1/delivery"

Poniższy przykład pokazuje wykorzystanie typu Service:

Przykład

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "serviceType": "DELIVERY",
  "provider": {
    "@type": "Restaurant",
    "@id": "http://www.provider.com/threebrotherstacos"
  },
  "potentialAction": {
    "url": "https://foprovider.com/ordering/restaurant-1/delivery"
  },
  "hoursAvailable": [
    // Ordering times for Monday through Friday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          "@type": "AdvanceServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T12:00:00", // Advance ordering begins at noon
          "closes": "T23:59:59", // Advance ordering ends at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        },
        {
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T10:00:00", // ASAP ordering begins at 10AM
          "closes": "T14:00:00", // ASAP ordering ends at 2PM
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    },
    // Ordering times for Saturday and Sunday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          // In this case advance orders are unavailable on Saturday and Sunday
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Saturday",
            "Sunday"
          ],
          "opens": "T12:00:00", // ASAP orders start at noon
          "closes": "T23:59:59", // ASAP orders end at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    }
  ],
  "hasOfferCatalog": {
    "@type": ["Menu", "OfferCatalog"],
    "@id": "https://www.provider.com/menu/1"
  },
  "areaServed": [{
      "@type": "GeoCircle", // area1
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "42.362757",
        "longitude": "-71.087109"
      },
      "geoRadius": "10000"
    },
    {
      "@type": "Place", // area2
      "address": {
        "@type": "PostalAddress",
        "postalCode": "94041",
        "addressCountry": "US"
      }
    },
    {
      "@type": "GeoShape", // area3
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167"
    },
    {
      "@type": "GeoShape", // area4
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
    },
    {
      "@type": "GeoCircle", // area5
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "37.7392607",
        "longitude": "-122.3895522"
      },
      "geoRadius": "4505"
    }
  ],
  "offers": {
    "@type": "Offer",
    "priceSpecification": [{
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
        "price": "8.00", // Charges $8 for area5
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00",
          "priceCurrency": "USD"
        },
        "eligibleRegion": [ // area5
          {
            "@type": "GeoCircle",
            "geoMidpoint": {
              "@type": "GeoCoordinates",
              "latitude": "37.7392607",
              "longitude": "-122.3895522"
            },
            "geoRadius": "4505"
          }
        ]
      },
      {
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
        "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00", // Minimum order price for delivery is $20
          "priceCurrency": "USD"
        }
      }
    ]
  }
},

Więcej przykładów elementów usługi znajdziesz w artykule Przykłady plików danych o usługach.

ServiceDeliveryHoursSpecification

Reprezentuje godziny realizacji zamówień, w których użytkownicy mogą zaplanować dostawę zamówień jak najszybciej i na wynos.

Wartość opens jest zwykle mniejsza od wartości closes. podczas korzystania z właściwości opens i closes obowiązują te wytyczne:

  • Właściwości opens i closes są opcjonalne w przypadku ServiceDeliveryHoursSpecification, ale zdecydowanie zalecamy które zostaną uwzględnione.
  • Godzina usługi musi być podana w czasie lokalnym. Nie dodawaj strefa czasowa w wartości opens lub closes. Jeśli podasz strefę czasową, Google ignoruje informacje o strefie czasowej.
  • Jeśli atrybuty opens i closes nie są wyraźnie określone, zakładamy, że jak najszybciej możliwość składania zamówień jest dostępna codziennie o dowolnej porze.
  • Jeśli wartości opens i closes są takie same, zakładamy, że kolejność jak najszybciej to niedostępna.
  • Jeśli opens ma wartość większą niż closes, przyjmuje się, że godzina zamknięcia to włączona. następnego dnia. Jeśli na przykład godzina otwarcia to 1 stycznia w 17:00, a godziną zamknięcia to 2:00, wtedy restauracja jest interpretowana jako kończy się 2 stycznia o godzinie 2:00.

W poniższej tabeli opisano właściwości funkcji ServiceDeliveryHoursSpecification typ:

Właściwość Typ Konieczność Opis
@type Tekst Wymagane Zawsze jest to „ServiceDeliveryHoursSpecification”.
validFrom DateTime Opcjonalnie

Data i godzina (łącznie ze strefą czasową) wejścia w życie użytkowników Zamówienia jak najszybciej można zrealizowano. Przykład: „2017-05-01T07:00:00-07:00”. Jeśli ta usługa to nie jest ustawiona, przyjmuje się, że obowiązuje codziennie.

Więcej informacji: Formaty daty i godziny.

validThrough DateTime Opcjonalnie

Data i godzina (łącznie ze strefą czasową), po których użytkownicy Zamów jak najszybciej nie można zrealizować. Przykład: „2017-05-01T07:00:00-07:00”. Jeśli nie została skonfigurowana, przyjmuje się, że jest ważna codziennie.

validThrough ma wyjątkowy czas. Na przykład, jeśli ustawiona jest godzina 18:00, co obowiązuje do 17:59:59.

Więcej informacji: Formaty daty i godziny.

opens Time Opcjonalnie

Godzina rozpoczęcia usługi dostawy dla użytkowników Zamówienia na zrealizowano. Na przykład „T10:30:00”.

Godzina usługi musi być podana w czasie lokalnym. Nie wolno uwzględnić strefę czasową w wartości opens. Jeśli strefa czasowa to Google ignoruje tę informację.

Więcej informacji: Formaty daty i godziny.

closes Time Opcjonalnie

Czas świadczenia usługi dostawy dla użytkowników Zamówienia jak najszybciej i dostępności informacji. Przykład: „T23:59:59”.

closes ma wyjątkowy czas. Dlatego, jeśli ustawisz otwiera/zamyka dla: ServiceDeliveryHoursSpecification od 10:00 do 16:00, ostatnie zamówienie to 15:59:59.

Godzina usługi musi być podana w czasie lokalnym. Nie wolno uwzględnić strefę czasową w wartości closes. Jeśli strefa czasowa to Google ignoruje tę informację.

Więcej informacji: Formaty daty i godziny.

dayOfWeek Tablica DayOfWeek Opcjonalnie

Dni tygodnia, w których ta usługa jest dostępna dla użytkowników. Jak najszybciej. Następujące wartości są prawidłowe:

  • „Monday”
  • "Wtorek"
  • „Środa”
  • „Czwartek”
  • „Piątek”
  • "Sobota"
  • "Niedziela"

Jeśli nie określisz dni tygodnia, ServiceDeliveryHoursSpecification dotyczy wszystkich dni.

deliveryLeadTime QuantitativeValue Opcjonalnie Szacowany czas dostawy w minutach po złożeniu zamówienia umieszczonego tekstu. Zdecydowanie zalecamy ustawienie tej właściwości. Ustaw parametr pole value z wartością QuantitativeValue na liczbę minut oraz od unitCode do „MIN”.

Ten przykład pokazuje element ServiceDeliveryHoursSpecification:

Przykład 1

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "value": "60", // If no exact deliveryLeadTime, put a maximum time
    "unitCode": "MIN"
  }
},

Przykład 2

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "minValue": "30",
    "maxValue": "50",
    "unitCode": "MIN"
  }
}
    

Wartości w polu enum

RestrictedDiet

Typ RestrictedDiet może zawierać te wartości:

  • http://schema.org/DiabeticDiet
  • http://schema.org/GlutenFreeDiet
  • http://schema.org/HalalDiet
  • http://schema.org/HinduDiet
  • http://schema.org/KosherDiet
  • http://schema.org/LowCalorieDiet
  • http://schema.org/LowFatDiet
  • http://schema.org/LowLactoseDiet
  • http://schema.org/LowSaltDiet
  • http://schema.org/VeganDiet
  • http://schema.org/VegetarianDiet