skema inventaris v1

Feed katalog makanan didasarkan pada schema.org DataFeed entitas. Feed katalog makanan berisi detail lokal restoran seperti alamat restoran, menu, dan lokasi, serta layanan restoran detail seperti biaya pengiriman, area pengiriman, dan item lain seperti yang ditentukan di bawah ini.

DataFeed berisi kumpulan elemen, yang masing-masing mewakili satu item yang dinyatakan dalam kosakata schema.org. Anda dapat menggunakan DataFeed untuk memublikasikan semua data terstruktur dalam format JSON-LD.

Untuk informasi tentang cara menggunakan spesifikasi ini guna membuat feed, lihat Ringkasan integrasi inventaris.

Format DateTime dan Time

DateTime didasarkan pada jenis schema.org, dan, kecuali jika dinyatakan lain, harus mengikuti format ISO 8601 dan menyertakan tanggal, waktu, dan zona waktu. Gunakan sintaksis berikut untuk DateTime:

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

Contoh:

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 adalah waktu lokal untuk restoran atau zona waktu lokasi layanan, juga didasarkan pada jenis schema.org, dan juga harus mengikuti format ISO 8601. Waktu menggunakan sintaks berikut:

// Time format:
THH:MM:SS

Contoh:

T08:08:00 // 8:08 AM

Perhatikan hal berikut setiap kali Anda menentukan DateTime atau Time:

  • Huruf "T" sebelum waktu merupakan bagian dari format dan wajib diisi.
  • Zona waktu harus ditetapkan untuk DATETIME. Hal ini tidak diperlukan untuk TIME.
  • Waktu harus ditentukan dalam waktu lokal untuk restoran atau layanan.

Amplop

Kode awal untuk feed katalog makanan harus berisi "amplop" bagian.

"Ampelope" adalah struktur tingkat atas dari setiap feed, dan harus DataFeed dengan properti berikut:

Properti Jenis Kebutuhan Deskripsi
@context URL Wajib Konteks yang digunakan; biasanya "http://schema.googleapis.com".
@type Teks Wajib Nama ini selalu "DataFeed".
dateModified DateTime Wajib

DateTime feed data yang terakhir diubah, dalam ISO 8601 format font.

Tanggal dan waktu dalam format ISO_OFFSET_DATE_TIME untuk item dalam feed ini telah diubah. Jika kolom ini tidak ada, diasumsikan waktu pembaruan adalah waktu saat pesan {i>push<i} diterima (atau crawling) terjadi di server Google.

Sebaiknya Anda menerapkan cara ini jika Anda menggunakan push dan melakukan crawling bersama-sama. Stempel waktu ini harus ditentukan dengan zona waktu dan perincian milidetik; misalnya &quot;2016-12-28T06:30:00:123-07:00&quot;.

Dalam feed batch Anda, entitas pembuatan versi ditentukan melalui dateModified di amplop feed.

dataFeedElement Array Menu atau Restaurant atau Service Wajib Satu atau beberapa item yang merupakan bagian dari feed ini. Lihat di bawah untuk spesifikasi pendukung.

Contoh berikut menunjukkan amplop:

Contoh

{
  "@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

Untuk menggunakan jenis ini, tambahkan konteks gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Lalu, tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem yang sesuai atau MenuItemOption.

Tabel berikut menjelaskan properti jenis AdditiveDetails:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu berupa "AdditiveDetails".
additiveName Teks Opsional Nama aditif.
additiveLevelOfContainment Teks Opsional Kode pembatasan per gs1:LevelOfContainmentCode di atas. Misalnya http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM, atau http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

Contoh berikut menunjukkan penggunaan jenis 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

Item makanan atau minuman yang tercantum dalam item menu add-on MenuItem.

Tabel berikut mencantumkan properti untuk jenis AddOnMenuItem:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Elemen ini selalu "AddOnMenuItem".
@id URL Wajib ID unik item menu add-on.
name Teks Wajib Teks yang mengidentifikasi AddOnMenuItem saat pengguna menjelajahi Google Spreadsheet.
description Teks Opsional Deskripsi item menu add-on.
image URL Opsional

Gambar item menu add-on yang sesuai dengan panduan berikut:

  • Rasio aspek 3:2
  • >
  • Resolusi minimum 600x400 piksel, 72 dpi
  • >
  • Resolusi yang direkomendasikan: 1400x960 piksel, 72 dpi
offers Array Offer Wajib diisi*

Satu atau beberapa penawaran untuk menyediakan AddOnMenuItem ini.

Menjelaskan kapan dan berapa harga AddOnMenuItem ini tersedia. Hanya satu penawaran yang valid pada waktu tertentu. Anda dapat memiliki banyak penawaran yang valid jika harga atau ketersediaan dapat berubah berdasarkan waktu. Jika add-on atau item berbeda melalui atribut dasar atau variasi pada item add-on itu sendiri (seperti kecil, sedang, dan besar kentang goreng sebagai add-on), gunakan hasMenuItemOption saat ini.

Nilai default untuk Offer.eligibleQuantity adalah nilai minimum 0, maksimal 1.

Properti Offer berikut digunakan dalam AddOnMenuItem:

  • Perlu Offer.sku
  • Perlu Offer.price
  • Perlu Offer.priceCurrency
  • Offer.availabilityStarts opsional
  • Offer.availabilityEnds opsional
  • Offer.availableDay opsional
  • Offer.validFrom opsional
  • Offer.validThrough opsional
  • Offer.eligibleQuantity opsional
  • Offer.inventoryLevel opsional
hasMenuItemOptions Array MenuItemOption Wajib diisi*

Array atribut dasar yang mendeskripsikan variasi pada item add-on itu sendiri (seperti kentang goreng kecil, sedang, dan besar sebagai tambahan), item menu add-on. Menggunakan opsi untuk menentukan berbagai variasi yang tersedia untuk item menu add-on ini. Ada dua skenario di mana hal ini dapat terjadi:

  • Variasi dasar terletak pada item add-on itu sendiri (seperti kentang goreng sedang, dan besar sebagai tambahan)
  • Variasi dasar untuk item menu yang terkait dengan add-on ini (seperti ekstra keju sebagai tambahan untuk pizza besar)
suitableForDiet Array RestrictedDiet Opsional Hidangan mematuhi batasan diet yang dijelaskan (seperti "Diet Bebas Gluten" atau "VeganDiet"). Ini adalah daftar enumerasi kemungkinan masing-masing.
nutrition NutritionInformation Opsional Informasi gizi hidangan, terutama kalori.
menuAddOn Array AddOnMenuSection Opsional AddOnMenuItem dapat memiliki bagian menu yang terdiri dari item yang diizinkan yang dapat ditambahkan sebagai add-on.

Contoh berikut menunjukkan AddOnMenuItem:

Contoh 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"
      }
    }
  ]
}

Contoh 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

Sub-pengelompokan item makanan atau minuman sebagai bagian menu tambahan untuk item menu.

Tabel berikut mencantumkan properti untuk jenis AddOnMenuSection:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu berupa "AddOnMenuSection".
@id URL Wajib ID unik bagian menu.
name Teks Wajib Teks yang dapat mengidentifikasi AddOnMenuSection saat pengguna menjelajahi Google Spreadsheet.
description Teks Opsional Deskripsi bagian menu.
eligibleQuantity QuantitativeValue Opsional Menunjukkan jumlah item yang diizinkan sebagai add-on untuk menu ini bagian. Anda dapat menggunakan kolom ini untuk membatasi jumlah add-on, seperti jumlah minimum dan maksimum {i>topping<i} yang dapat Anda pilih untuk sebuah pizza.
image URL Opsional Gambar bagian menu.
hasMenuItem Array AddOnMenuItem Wajib diisi* Item menu add-on yang terdapat di AddOnMenuSection.
offers Array Offer Opsional

Gunakan Offer.availabilityStarts dan Offer.availabilityEnds untuk menunjukkan jangka waktu dan selama AddOnMenuSection ini tersedia.

Listingan di bawah ini menunjukkan properti Offer mana digunakan di AddOnMenuSection.

  • Offer.availabilityStarts opsional
  • Offer.availabilityEnds opsional
  • Offer.availableDay opsional
  • Offer.validFrom opsional
  • Offer.validThrough opsional
hasMenuSection Array AddOnMenuSection Wajib diisi* Sub-pengelompokan logis dari menu tambahan (seperti Makan Malam, Makanan Pembuka, atau Hidangan ikan).
defaultOption Array AddOnMenuItem Opsional

Item menu add-on yang akan dipilih sebelumnya secara {i>default<i} untuk pengguna dalam AddOnMenuSection. Pengguna dapat mengubah pilihan akhir. Jika tidak ada defaultOption yang ditentukan, tidak AddOnMenuItem telah dipilih sebelumnya.

Objek AddOnMenuItem harus ada di hasMenuItem dari AddOnMenuSection.

Jumlah defaultOption tidak boleh melebihi jumlah maksimum eligibleQuantity dari AddOnMenuSection.

numberOfFreeAddOns Angka Opsional Menunjukkan jumlah add-on yang dapat dipilih pengguna tanpa biaya.

Contoh berikut menyertakan objek AddOnMenuSection:

Contoh 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"
      }
    }
  ]
}

Contoh 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
  }
}

Contoh 3

"Sandwich Keju" item menu memiliki "Pilihan Keju" AddOnMenuSection dengan "Swiss" dan "Mozzarella" dipilih sebelumnya secara default.

{
  "@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

Mewakili jam pemenuhan bagi pengguna untuk menjadwalkan pesanan di muka untuk pesan-antar dan bawa pulang.

Biasanya, nilai opens kurang dari nilai closes. Tujuan panduan berikut berlaku untuk penggunaan properti opens dan closes:

  • Properti opens dan closes bersifat opsional untuk AdvanceServiceDeliveryHoursSpecification, tetapi sebaiknya Anda menyertakannya.
  • Waktu harus ditentukan dalam waktu lokal untuk layanan. Jangan sertakan zona waktu dalam nilai opens atau closes. Zona waktu yang ditentukan akan diabaikan.
  • Jika opens dan closes tidak ditentukan secara eksplisit, kami mengasumsikan bahwa bahwa pemesanan tersedia setiap hari.
  • Jika opens dan closes sama, kita asumsikan bahwa pengurutan di awal adalah tidak tersedia.
  • Jika opens lebih besar dari closes, jam tutup akan ditafsirkan pada hari berikutnya. Misalnya, jika jam buka disetel ke 1 Januari pukul 17.00 dan jam tutup adalah 02.00, maka restoran diartikan sebagai tutup pada 2 Januari pukul 02.00 dini hari.
  • opens dan closes merujuk ke slot waktu yang akan datang. closes bersifat eksklusif. Sebagai misalnya, jika opens adalah 10.00 dan closes adalah 16.00 dengan serviceTimeInterval selama 15 menit, slot waktu pertama dimulai pada pukul 10.00 dan terakhir kalinya slot dimulai pada pukul 15:45.

Tabel berikut menjelaskan properti Jenis AdvanceServiceDeliveryHoursSpecification:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu berupa "AdvanceServiceDeliveryHoursSpecification".
validFrom DateTime Kondisional

Tanggal mulai saat pengguna pesanan di muka dapat terpenuhi. Misalnya, "2017-05-01T00:00:00-07:00".

Jika properti ini tidak ditetapkan, properti ini akan dianggap valid setiap hari. Properti validFrom dan validThrough harus tidak hadir atau hadir bersama.

Jika jenis ini ditetapkan sebagai specialOpeningHoursSpecification di Service properti validFrom ini di AdvanceServiceDeliveryHoursSpecification wajib diisi.

Untuk informasi selengkapnya, lihat Format DateTime dan Time.

validThrough DateTime Opsional

Tanggal akhir ketika pengguna pesanan di muka tidak bisa lagi terpenuhi. Misalnya, "2018-12-01T00:00:00-07:00".

Jika properti ini tidak ditetapkan, properti ini akan dianggap valid setiap hari. Properti validFrom dan validThrough harus tidak hadir atau hadir bersama.

Jika jenis ini ditetapkan sebagai specialOpeningHoursSpecification di Service , properti validThrough di AdvanceServiceDeliveryHoursSpecification wajib diisi.

Waktu untuk validThrough bersifat eksklusif. Misalnya, jika waktu itu diatur ke 18.00, waktunya berlaku hingga 17:59:59.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

opens Time Opsional

Berlaku untuk slot pesan antar atau bawa pulang.

Waktu spesifik mulai dari saat pengguna pesanan di muka dapat terpenuhi. Misalnya, 06.30 ditetapkan sebagai "T06:30:00".

Waktu layanan harus ditentukan dalam waktu lokal. Jangan sertakan zona waktu dalam nilai opens. Jika zona waktu ditentukan, Google mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

closes Time Opsional

Berlaku untuk slot pesan antar atau bawa pulang.

Waktu spesifik saat pengguna pesanan di muka tidak dapat terpenuhi. Misalnya, 21.00 ditetapkan sebagai "T21:00:00". closes> bersifat eksklusif, jadi tetapkan ke pukul 21.00 untuk serviceTimeInterval dari 15 menit berarti bahwa yang terakhir slot waktu yang tersedia dimulai pada pukul 20:45.

Waktu harus ditentukan dalam waktu lokal untuk layanan. Larangan sertakan zona waktu dalam nilai closes. Jika zona waktu adalah tertentu, Google akan mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

dayOfWeek Array DayOfWeek Opsional

Hari yang tersedia saat jam pengiriman di muka tersedia. Berlaku nilainya adalah:

  • "Senin"
  • "Selasa"
  • "Rabu"
  • "Kamis"
  • "Jumat"
  • "Sabtu"
  • "Minggu"

Jika Anda tidak menentukan hari apa pun dalam seminggu, AdvanceServiceDeliveryHoursSpecification berlaku untuk semua hari.

serviceTimeInterval Duration Wajib

Interval antara dua waktu servis berturut-turut.

Misalnya: Jika opens dan closes adalah 08.00 dan 20.00 dan serviceTimeInterval adalah 15 menit, maka pengguna dapat memilih waktu pemenuhan pesanan dari pukul 08.00, 08.15, 08.30, 08.45, dan seterusnya sampai pukul 20.00.

Duration harus ditetapkan sebagai durasi ISO 8601. Sebagai contoh: "P15M" berarti interval 15 menit.

advanceBookingRequirement QuantitativeValue Wajib

Jumlah menit dari waktu pemesanan ketika pesanan di muka dapat terpenuhi.

min dan QuantitativeValue Nilai max harus ditetapkan ke jumlah menit dan unitCode ke "MIN".

Misalnya, jika pesanan di muka memerlukan waktu setidaknya 60 menit untuk terpenuhi, dan dibatasi sehingga tidak dapat dipenuhi lebih dari 2 hari setelahnya, nilai min adalah 60 dan max nilainya adalah 2880.

Contoh berikut menunjukkan penggunaan Jenis AdvanceServiceDeliveryHoursSpecification:

Contoh 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

Untuk menggunakan jenis ini, tambahkan konteks gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

Lalu, tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem yang sesuai atau MenuItemOption.

Tabel berikut menjelaskan properti jenis AllergenDetails:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu berupa "AllergenDetails".
allergenType Teks Opsional Jenis alergen per gs1:AllergenTypeCode . Misalnya, http://gs1.org/voc/AllergenTypeCode-PEANUTS.
allergenLevelOfContainmentCode Teks Opsional Kode pembatasan per gs1:LevelOfContainmentCode di atas. Misalnya http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM atau http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

Contoh berikut menunjukkan penggunaan jenis 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

Tabel berikut menjelaskan properti Jenis DeliveryChargeSpecification:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu menampilkan "DeliveryChargeSpecification".
@id URL Opsional ID untuk spesifikasi biaya pengiriman.
price Angka Wajib Total biaya pengiriman, dalam angka saja. Gunakan Properti priceCurrency untuk menunjukkan jenis mata uang alih-alih simbol mata uang. Misalnya, "6.00", tanpa mata uang simbol.
priceCurrency Teks Wajib 3 huruf kode mata uang ISO 4217. Misalnya, "USD".
eligibleTransactionVolume PriceSpecification Opsional Volume transaksi, dalam unit moneter, yang pengirimannya spesifikasi biaya valid. Misalnya, untuk menunjukkan jumlah pembelian minimal volume pengiriman, atau untuk menyatakan bahwa pengiriman tersedia tanpa biaya tambahan di atas volume pesanan tertentu.
eligibleQuantity QuantitativeValue Opsional Interval dan satuan pengukuran kuantitas pemesanan yang biaya pengiriman valid. Hal ini memungkinkan Anda, misalnya, menentukan bahwa biaya kargo tertentu hanya berlaku untuk jumlah tertentu.
eligibleRegion Array GeoShape atau Place atau GeoCircle Opsional Tempat, atau GeoShape/GeoCircle untuk wilayah geopolitik yang spesifikasi penawaran atau biaya pengirimannya valid. Gunakan ini hanya jika biaya pengiriman berbeda-beda di setiap wilayah.
validFrom DateTime Opsional Tanggal dan waktu (termasuk zona waktu) saat biaya pengiriman yang ditentukan menjadi valid. Misalnya, "2017-05-01T06:30:00-07:00". Sebagai informasi selengkapnya, lihat Format Tanggal dan Waktu.
validThrough DateTime Opsional Tanggal dan waktu (termasuk zona waktu) setelah pengiriman biaya yang ditetapkan tidak valid. Misalnya, "2017-05-01T06:30:00-07:00". Waktu untuk validThrough bersifat eksklusif: misalnya, jika waktu diatur ke 18.00, waktunya berlaku hingga 17:59:59. Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

Contoh berikut menunjukkan elemen DeliveryChargeSpecification:

Contoh 1

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

Contoh 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
    }
  }
]

Contoh 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"
    }
  }
]

Selain "@type": ["DeliveryChargeSpecification"], objek ini dapat diperluas dengan UnitPriceSpecification:

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

Ekstensi memberikan dua properti tambahan yang diperlukan untuk biaya pengiriman yang dihitung dalam persentase.

Properti Jenis Kebutuhan Deskripsi
referenceQuantity QuantitativeValue Wajib Jumlah referensi yang dikenai harga tertentu. Misalnya, referenceQuantity dari nilai 10 dengan unitCode "P1" menghasilkan 10% dari nilai pesanan. Hanya unitCode "P1" bernilai didukung saat ini.
basePrice Angka Opsional Biaya dasar selain referenceQuantity. Sebagai contoh, referenceQuantity dari 10 dengan unitCode dari "P1" dan basePrice dari 5 dalam USD menghasilkan $5 + 10% dari nilai pesanan. Nilai defaultnya adalah 0.

Contoh biaya pengiriman

Google mengizinkan Anda untuk menentukan berbagai biaya kepada pengguna di muka menggunakan Offer.PriceSpecification dari entity Service.

Perhatikan bahwa saat ini Pemesanan Menyeluruh hanya mendukung satu DeliveryChargeSpecification. Gabungkan semua jenis biaya menjadi satu DeliveryChargeSpecification.

Lihat Contoh feed layanan untuk mengetahui cara menentukan pengiriman biaya berdasarkan area, jarak, dan nilai pesanan.

Jika tidak ada biaya, Offer.PriceSpecification akan dihapus.

  • Contoh 1: Biaya pengiriman adalah 5% dari subtotal keranjang
  • Contoh 2: Biaya pengiriman adalah $5
  • Contoh 3: Biaya pengiriman adalah $5 + 10% dari subtotal keranjang
  • Contoh 4: Biaya pengiriman adalah $5 dan biaya bagasi adalah $0,1
  • Contoh 5: Biaya pengiriman adalah 5% dan biaya layanan adalah 2% dari subtotal keranjang
  • Contoh 6: Biaya pengiriman adalah $5 dan $1 per jarak 1 km tambahan

Contoh 1

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

Contoh 2

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

Contoh 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%
  }
]

Contoh 4

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

Contoh 5

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

Contoh 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

Tabel berikut menjelaskan properti jenis GeoCircle:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Nama ini selalu "GeoCircle".
geoMidpoint GeoCoordinates Wajib Menunjukkan GeoCoordinates di tengah GeoCircle.
geoRadius Angka Wajib Menunjukkan perkiraan radius (dalam meter) GeoCircle.

Contoh berikut menunjukkan elemen GeoCircle:

Contoh

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

GeoCoordinates

Tabel berikut menjelaskan properti jenis GeoCoordinates:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Namanya selalu "GeoCoordinates".
latitude Angka Wajib

Lintang dalam derajat. Nilai dibatasi dalam rentang -90 hingga 90, inklusif. Jika nilai yang ditentukan kurang dari -90, nilai ini ditetapkan ke -90; jika nilainya lebih besar dari 90, nilainya ditetapkan ke 90.

Presisinya minimal harus 5 angka di belakang koma.

longitude Angka Wajib

Bujur dalam derajat. Nilai di luar rentang -180 hingga 180 adalah dibungkus sehingga mereka berada dalam jangkauan. Misalnya, nilai -190 dikonversi menjadi 170. Nilai 190 dikonversi menjadi -170. Ini mencerminkan fakta bahwa garis bujur mengelilingi dunia.

Presisinya minimal harus 5 angka di belakang koma.

Contoh berikut menunjukkan elemen GeoCoordinates:

Contoh

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

GeoShape

Tabel berikut menjelaskan properti jenis GeoShape:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Elemen ini selalu berupa "GeoShape".
polygon Array Teks Wajib

Poligon atau multipoligon yang dinyatakan sebagai serangkaian tiga ruang atau lebih {i>delimited point<i}. Sebaiknya titik pertama dan terakhir adalah hal yang sama, tetapi tidak wajib.

Setiap titik dalam poligon atau multipoligon ditentukan oleh titik garis lintang diikuti dengan titik bujur. Anda juga harus menentukan poin-poin dalam berlawanan arah jarum jam.

Biasanya, Anda akan memiliki satu poligon. Untuk penggunaan yang lebih kompleks kasus, lihat area layanan pengiriman.

Contoh berikut menunjukkan elemen GeoShape:

Contoh 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"
},

Contoh 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”]
},

Contoh 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"
    }  ],
...
},

Tabel berikut mencantumkan properti untuk jenis Menu:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu "Menu".
@id URL Wajib ID unik untuk menu.
name Teks Opsional Teks yang dapat mengidentifikasi Menu saat pengguna menjelajahi Google Spreadsheet.
description Teks Opsional Deskripsi menu.
disclaimer MenuDisclaimer Opsional Pernyataan penyangkalan untuk menu. Misalnya, pengungkapan informasi gizi dan pengungkapan alergen.
hasMenuSection Satu objek atau array MenuSection Opsional Sub-pengelompokan logis dari menu (seperti Makan Malam, Makanan Pembuka, atau Ikan hidangan).
hasMenuItem Satu objek atau array MenuItem Opsional Objek MenuItem yang dimuat dalam Menu, biasanya jika Menu tidak dibagi oleh MenuSections.
inLanguage Teks Opsional Bahasa konten menu, sebagai kode bahasa dari Standar IETF BCP 47. Misalnya, "id-ID".

Contoh berikut menunjukkan penggunaan jenis Menu:

Contoh 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"
}

Contoh 2

Contoh ini menampilkan hasMenuItem sebagai array.

{
  "@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"
      }
    }
  ]
}

Contoh 3

Contoh ini menampilkan hasMenuSection sebagai array.

{
  "@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"
        }
      }
    }
  ]
}

Untuk contoh entitas Menu lainnya, lihat Contoh Feed Restoran dan Menu.

Tabel berikut mencantumkan properti untuk jenis MenuDisclaimer:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu muncul sebagai "MenuPenafian".
@id URL Wajib ID unik untuk pernyataan penyangkalan menu.
text Teks Wajib Teks pernyataan penyangkalan. Misalnya, "Rata-rata energi harian orang dewasa asupan makanannya adalah 8.700 kJ."
url URL Opsional URL yang mengarah ke halaman yang memberikan detail selengkapnya tentang pernyataan penyangkalan.

Contoh berikut menunjukkan penggunaan jenis MenuDisclaimer:

Contoh

{
    "@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"
    }
}

Item menu untuk mewakili item di menu. Tabel berikut mencantumkan properti untuk jenis MenuItem:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Elemen ini selalu "MenuItem".
@id URL Wajib ID unik item menu.
name Teks Wajib Teks yang dapat mengidentifikasi MenuItem saat pengguna menjelajah menu.
description Teks Opsional Deskripsi item menu.
image URL Opsional

Gambar item menu. Gunakan panduan gambar berikut:

  • Rasio aspek 3:2
  • Resolusi minimum 600x400 piksel, 72 dpi
  • Resolusi yang disarankan 1400x960 piksel 72 dpi
menuAddOn Array AddOnMenuSection Opsional Item pada bagian menu yang dapat ditambahkan sebagai {i>add-on<i} ke item menu.
offers Array Offer Wajib diisi*

Satu atau beberapa penawaran untuk menyediakan MenuItem ini. Menjelaskan kapan dan berapa harga yang tersedia MenuItem ini. Hanya satu penawaran yang dapat valid di waktu tertentu. Beberapa penawaran dapat diberikan jika ada variasi harga/ketersediaan berdasarkan waktu. Jika item makanan berbeda melalui atribut dasar, (misalnya, ukuran untuk pizza), gunakan menuItemOption. Default untuk Offer.eligibleQuantity adalah minimum 0 tanpa bagian atas batas tersebut.

Listingan di bawah ini menunjukkan properti Offer mana digunakan di MenuItem.

  • Perlu Offer.sku
  • Perlu Offer.price
  • Perlu Offer.priceCurrency
  • Offer.availabilityStarts opsional
  • Offer.availabilityEnds opsional
  • Offer.availableDay opsional
  • Offer.validFrom opsional
  • Offer.validThrough opsional
  • Offer.eligibleQuantity opsional
  • Offer.inventoryLevel opsional
hasMenuItemOptions Array MenuItemOption Wajib Daftar opsi/variasi dasar untuk item menu ini. Opsi seharusnya digunakan untuk menentukan berbagai variasi dasar yang tersedia untuk item, untuk kecil, sedang dan besar.
suitableForDiet Array RestrictedDiet Opsional Hidangan mematuhi batasan diet yang dijelaskan (seperti &quot;http://schema.org/GlutenFreeDiet&quot; atau "http://schema.org/VeganDiet". Ini adalah daftar terenumerasi untuk nilai-nilai yang mungkin.
nutrition NutritionInformation Opsional Informasi gizi untuk hidangan, terutama kalori.
hasAllergen AllergenDetails Opsional Alergen hidangan per gs1:AllergenDetails. Tambahkan konteks gs1 untuk menggunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem.
additive Array AdditiveDetails Opsional Tambahan hidangan per gs1:AdditiveDetails. Ini adalah daftar enumerasi nilai yang mungkin. Menambahkan konteks gs1 yang akan digunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem.
packaging PackagingDetails Opsional Informasi pengemasan dan daur ulang MenuItem ini per gs1:PackagingDetails. Tambahkan konteks gs1 untuk menggunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem.

Contoh berikut menunjukkan elemen MenuItem:

Contoh 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"
}

Contoh 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"
    }
  }
]

Contoh 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 --
          ]
        }
      ]
    }
  ]
}

Contoh 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"
      }
    }
  ]
}

Contoh 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"
      }
    }
  }
}

Untuk contoh entitas MenuItem lainnya, lihat Contoh Feed Restoran dan Menu.

Opsi untuk mewakili pilihan yang harus dibuat pengguna saat memilih hidangan atau kombo. Pengguna harus memilih opsi, atau pesanan dianggap tidak valid. Misalnya, memilih kecil, sedang, atau besar dalam kasus tersebut sepotong pizza.

Untuk contoh kasus penggunaan MenuItemOption, lihat panduan kami tentang menggunakan MenuItemOption.

Tabel berikut mencantumkan properti untuk jenis MenuItemOption:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Elemen ini selalu "MenuItemOption".
value PropertyValue Wajib PropertyValue berisi pasangan nama/nilai yang mewakili sebelumnya.
offers Array Offer Wajib

Satu atau beberapa penawaran untuk menyediakan MenuItemOption ini. Menjelaskan kapan dan berapa harga opsi item menu ini tersedia. Hanya satu penawaran yang valid pada waktu tertentu. Anda dapat memiliki banyak penawaran yang valid jika harga/ketersediaan dapat berubah berdasarkan waktu. Jangan gunakan Offer.eligibleQuantity. MenuItemOption saling eksklusif, jadi Offer.eligibleQuantity akan diabaikan jika diberikan.

Listingan di bawah ini menunjukkan properti Offer mana digunakan di MenuItemOption.

  • Perlu Offer.sku
  • Perlu Offer.price
  • Perlu Offer.priceCurrency
  • Offer.availabilityStarts opsional
  • Offer.availabilityEnds opsional
  • Offer.availableDay opsional
  • Offer.validFrom opsional
  • Offer.validThrough opsional
  • Offer.eligibleQuantity opsional
  • Offer.inventoryLevel opsional
menuAddOn Array of AddOnMenuSection Opsional Bagian menu item yang diizinkan yang dapat ditambahkan sebagai add-on. Gunakan hanya ini jika {i>add-on<i} khusus untuk opsi item menu tertentu. Sebaliknya menyediakan add-on menggunakan properti MenuItem.menuAddOn.
suitableForDiet Array RestrictedDiet Opsional Daftar enumerasi yang menunjukkan diet yang sesuai dengan hidangan ini batasan diet yang dijelaskan (seperti &quot;http://schema.org/GlutenFreeDiet&quot; atau "http://schema.org/VeganDiet").
nutrition NutritionInformation Opsional Informasi gizi untuk hidangan, terutama kalori.
hasAllergen AllergenDetails Opsional Alergen hidangan per gs1:AllergenDetails. Tambahkan konteks gs1 untuk menggunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItemOption.
additive Array AdditiveDetails Opsional Tambahan hidangan per gs1:AdditiveDetails. Ini adalah daftar enumerasi nilai yang mungkin. Menambahkan konteks gs1 yang akan digunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItemOption.
packaging PackagingDetails Opsional Informasi pengemasan dan daur ulang MenuItem ini per gs1:PackagingDetails Tambahkan konteks gs1 untuk menggunakan properti ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItemOption.

Contoh berikut menunjukkan elemen MenuItemOption:

Contoh 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"
      }
    }
  ]
}

Contoh 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 --
          ]
        }
      ]
    }
  ]
}

Bagian menu untuk mewakili bagian tertentu dalam menu. Tabel berikut mencantumkan properti untuk jenis MenuSection:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Elemen ini selalu "MenuSection".
@id URL Wajib ID unik bagian menu.
name Teks Wajib Teks yang dapat mengidentifikasi MenuSection saat pengguna menjelajah menu.
description Teks Opsional Deskripsi bagian menu.
hasMenuSection Array MenuSection Opsional Sub-pengelompokan logis MenuSection. Misalnya, Bagian menu makan malam dapat memiliki beberapa sub-Bagian Menu seperti "Unggas Piring" atau "Vegetarian".
hasMenuItem Array MenuItem Opsional Item menu yang terdapat di MenuSection.
offers Array Offer Opsional

Gunakan Offer.availabilityStarts dan Offer.availabilityEnds untuk menunjukkan periode waktu yang dilayani oleh MenuSection ini. Jangan gunakan Offer.eligibleQuantity.

Daftar berikut menunjukkan properti Offer mana digunakan di MenuSection:

  • Offer.availabilityStarts opsional
  • Offer.availabilityEnds opsional
  • Offer.availableDay opsional
  • Offer.validFrom opsional
  • Offer.validThrough opsional
image URL Opsional Gambar bagian menu.

Contoh berikut menunjukkan entitas MenuSection:

Contoh 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"
  }
}

Contoh 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"
        }
      }
    ]
  }
]

Untuk contoh entitas MenuSection lainnya, lihat Contoh Feed Restoran dan Menu.

NutritionInformation

Tabel berikut menjelaskan properti NutritionInformation . Satuan pengukuran peka huruf besar/kecil. Misalnya, "Cal" diterima, tapi "cal" tidak.

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu disebut "Informasi Nutrisi".
description Teks Opsional Informasi nutrisi dalam teks bebas. Misalnya "Berisi pengawet".
calories Teks Opsional

Jumlah kalori dalam Kal, kkal, atau kJ, menggunakan hal berikut format:

number Cal_kcal_OR_kJ

Misalnya, "240 Kal".

carbohydrateContent Teks Opsional

Jumlah karbohidrat, biasanya dalam g, menggunakan nilai format:

number g_OR_mg

Misalnya, "7 g".

cholesterolContent Teks Opsional

Jumlah kolesterol, biasanya dalam mg, menggunakan format berikut:

number g_OR_mg

Misalnya, "12 mg".

fatContent Teks Opsional

Jumlah lemak, biasanya dalam g, menggunakan format berikut:

number g_OR_mg

Misalnya, "42 g".

fiberContent Teks Opsional

Jumlah g atau mg serat, menggunakan format berikut:

number g_OR_mg
proteinContent Teks Opsional

Jumlah g atau mg protein, menggunakan format berikut:

number g_OR_mg
saturatedFatContent Teks Opsional

Jumlah g atau mg lemak jenuh, menggunakan format berikut:

number g_OR_mg
servingSize Teks Opsional Ukuran porsi dalam mL, L, g, atau kg, dalam hal jumlah volume atau massanya.
sodiumContent Teks Opsional

Jumlah mg atau g natrium, menggunakan format berikut:

number g_OR_mg
sugarContent Teks Opsional

Jumlah g atau mg gula, menggunakan format berikut:

number g_OR_mg
transFatContent Teks Opsional

Jumlah g atau mg lemak trans, menggunakan format berikut:

number g_OR_mg
unsaturatedFatContent Teks Opsional

Jumlah lemak tak jenuh, biasanya dalam g, menggunakan format:

number g_OR_mg

Contoh berikut menunjukkan elemen NutritionInformation:

Contoh 1

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

Contoh 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"
  }
},

Penawaran

Penawaran untuk item menu. Tabel berikut menjelaskan properti Jenis Offer:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Konten ini selalu berupa "Penawaran".
sku Teks Kondisional

ID unik penawaran. Dapat berupa nilai teks apa pun yang unik dalam Offer. Nilai sku dirujuk dalam Checkout dan Kirim sebagai offerId di lineitem.

Properti ini hanya digunakan dalam jenis penawaran berikut:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price Teks Kondisional

Harga item yang ditawarkan. Misalnya, "6.00" tanpa mata uang simbol.

Properti ini hanya diwajibkan dalam jenis penawaran berikut:

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

Nilai ini tidak digunakan dalam jenis penawaran berikut:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency Teks Kondisional

Mata uang (dalam format 3 huruf ISO 4217) untuk harga atau harga tambahan, jika dilampirkan ke PriceSpecification dan subjenisnya.

Properti ini hanya diwajibkan dalam jenis penawaran berikut:

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

Nilai ini tidak digunakan dalam jenis penawaran berikut:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime atau Time Opsional Tanggal dan waktu atau hanya waktu penawaran tersedia. Misalnya, jika panekuk disajikan mulai pukul 7.00 pagi, maka nilainya kolom ini dapat terlihat seperti berikut: "2017-05-01T07:00:00-07:00". Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.
availabilityEnds DateTime atau Time Opsional Tanggal dan waktu atau hanya waktu penawaran tidak tersedia. Ini waktu bersifat eksklusif. Misalnya, jika ketersediaan panekuk berakhir pada 10.00, maka panekuk terakhir bisa disajikan pada pukul 09.59.59. Nilai dari kolom ini kemudian dapat terlihat seperti berikut: "2017-05-01T10:00:00-07:00". Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.
availableDay Array DayOfWeek Opsional

Hari saat item ini tersedia. Nilai yang valid adalah:

  • "Senin"
  • "Selasa"
  • "Rabu"
  • "Kamis"
  • "Jumat"
  • "Sabtu"
  • "Minggu"

Jika Anda memiliki ketersediaan yang berbeda untuk hari yang berbeda, gunakan lebih dari satu objek Offer, seperti yang ditunjukkan dalam contohnya di bawah.

validFrom DateTime Opsional

Tanggal dan waktu (termasuk zona waktu) saat properti yang ditentukan harga valid. Misalnya, harga pasta adalah $8 saat makan siang dan $10 saat makan malam. Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut:

  • Service.Offer
validThrough DateTime Opsional

Tanggal dan waktu (termasuk zona waktu) setelah tanggal yang ditentukan harga sudah tidak valid. Misalnya, harga pasta adalah $8 saat makan siang dan $10 untuk makan malam. Waktu untuk validThrough bersifat eksklusif: misalnya, jika waktu itu disetel ke 18.00, waktunya berlaku hingga 17:59:59. Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut.

  • Service.Offer
eligibleQuantity QuantitativeValue Opsional

Jumlah pemesanan untuk item ini yang diizinkan. Misalnya, sebuah restoran mungkin mengharuskan setidaknya 10 pizza dipesan untuk pengiriman.

Nilai ini bersifat opsional. Secara default, tidak ada batas maksimum, tetapi restoran dapat menentukannya. Batas minimum hanya berlaku jika pengguna memilih item.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut.

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

Peringkat keseluruhan, berdasarkan kumpulan ulasan atau peringkat yang bermanfaat.

Properti ini dapat digunakan dalam jenis penawaran berikut:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

Properti ini tidak digunakan dalam jenis berikut.

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

Perkiraan tingkat inventaris saat ini untuk item atau item.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Array DeliveryChargeSpecification atau array PaymentChargeSpecification Opsional

Saat digunakan di Service.Offer, atribut ini menunjukkan detail di harga pengiriman. Jika beberapa DeliveryChargeSpecification berlaku, objek yang paling spesifik akan diterapkan. Gunakan bersama objek DeliveryChargeSpecification eksklusif untuk menghindari ambiguitas.

Properti ini dapat digunakan dalam jenis penawaran berikut:

  • Service.Offer

Properti ini tidak digunakan dalam jenis penawaran berikut:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Array ID Restaurant Opsional

Mewakili restoran yang berada di Offer yang ditawarkan.

Jika tidak ditentukan, Offer ini akan ditawarkan untuk semua restoran.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut:

  • Service.Offer
applicableFulfillmentMethod Array Teks Opsional

Merepresentasikan jenis layanan Offer ini dipenuhi oleh. Nilai yang mungkin adalah "PENGIRIMAN" atau "TakeOUT".

Jika tidak ditentukan, Offer ini akan dipenuhi dengan pesan antar dan bawa pulang.

Properti ini dapat digunakan dalam jenis penawaran berikut:

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

Properti ini tidak digunakan dalam jenis penawaran berikut:

  • Service.Offer
@id URL Tidak digunakan lagi ID unik penawaran. Tidak digunakan lagi pada 25/4/19, ganti dengan sku seperti yang dijelaskan di atas.

Contoh berikut menunjukkan elemen Offer:

Contoh 1

Contoh berikut menampilkan penawaran sederhana:

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

Contoh 2

Contoh penawaran berikut menunjukkan ketersediaan dari pukul 08.00-10.00 pada akhir pekan:

{
  "@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.
}

Contoh 3

Contoh berikut menampilkan ketersediaan dari pukul 09.00-10.59.59 pada hari Senin, Rabu, dan Jumat, tetapi pukul 08.00-11.59.59 di hari Selasa dan Kamis:

{
  "@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"]
}

Contoh 4

Contoh berikut menunjukkan bahwa item menu add-on yang memenuhi syarat ditetapkan sehingga pengguna dapat memesan maksimum 2 porsi item tersebut.:

{
  "@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
     }
  }
}

Contoh 5

Contoh berikut menampilkan penawaran pesan antar di lokasi tertentu:

{
  "@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

Menentukan kapan layanan pemesanan tersedia. Biasanya, nilai opens kurang dari nilai closes. Panduan berikut berlaku untuk penggunaan Properti opens dan closes:

  • Properti opens dan closes bersifat opsional, tetapi sangat direkomendasikan untuk ditunjukkan saat pemesanan tersedia. Praktik terbaik untuk menentukan metrik akses jam akan menyertakan array deliveryHours yang berisi ServiceDeliveryHoursSpecification dengan properti opens dan closes. Anda dapat menyertakan objek AdvanceServiceDeliveryHoursSpecification di deliveryHours dengan properti opens dan closes-nya sendiri, jika Anda ingin menawarkan periode yang lebih terbatas untuk pemesanan di awal.
  • Jika opens dan closes tidak ditentukan secara eksplisit, kami menganggap bahwa pengurutan tersedia setiap hari, setiap saat sepanjang hari.
  • Waktu harus ditentukan dalam waktu lokal untuk layanan. Jangan sertakan zona waktu dalam nilai opens atau closes. Jika zona waktu ditentukan, Google mengabaikan informasi ini.
  • Jika opens dan closes sama, kita asumsikan bahwa restoran tersebut terbuka selama 0 menit.
  • Jika opens lebih besar dari closes, jam tutup akan ditafsirkan pada hari berikutnya. Misalnya, jika jam buka disetel ke 1 Januari pukul pukul 17.00 dan jam tutupnya adalah pukul 02.00, maka restoran diartikan sebagai tutup pada 2 Januari pukul 02.00.
  • Waktu untuk closes bersifat eksklusif. Oleh karena itu, jika jam buka dan tutup untuk periode pemesanan ini ditetapkan masing-masing pada pukul 10.00 dan 16.00, lalu pesanannya adalah 15:59:59.

Tabel berikut menjelaskan properti OpeningHoursSpecification jenis:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Ini selalu disebut "OpeningHoursSpecification".
@id URL Opsional ID untuk OpeningHoursSpecification.
dayOfWeek Array DayOfWeek Opsional

Hari yang jam bukanya valid. Cukup baik nilainya adalah "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", dan "Minggu". Contoh:

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

Jika Anda tidak menentukan hari apa pun dalam seminggu, OpeningHoursSpecification berlaku untuk semua hari.

opens Time Opsional

Jika digunakan dalam spesifikasi Restaurant, properti ini menunjukkan jam buka restoran pada hari yang ditentukan. Sebagai contoh, 06.30 ditampilkan sebagai "T06:30:00".

Jika digunakan dalam spesifikasi Service, atribut ini menunjukkan waktu mulai dari saat pengguna pesanan dapat dilakukan. Ini menentukan waktu pembukaan saat sistem {i>online<i} aktif dan mengizinkan pengguna untuk melakukan pemesanan. Dalam jam buka/tutup sistem {i>online<i} tersebut, Anda dapat menggunakan deliveryHours untuk menentukan jam buka/tutup kapan pengguna dapat memesan jenis pengiriman khusus.

Waktu harus ditentukan dalam waktu lokal untuk layanan. Larangan sertakan zona waktu dalam nilai opens. Jika zona waktu adalah tertentu, Google akan mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

closes Time Opsional

Jika digunakan dalam spesifikasi Service, properti ini menunjukkan waktu tertentu dalam sehari. pesanan tidak dapat dilakukan. Ini menentukan waktu tutup saat sistem {i>online<i} aktif dan mengizinkan pengguna untuk melakukan pemesanan. Dalam jam buka/tutup sistem {i>online<i} tersebut, Anda dapat menggunakan deliveryHours untuk menentukan jam buka/tutup kapan pengguna dapat memesan jenis pengiriman khusus.

Waktu harus ditentukan dalam waktu lokal untuk layanan. Larangan sertakan zona waktu dalam nilai closes. Jika zona waktu adalah tertentu, Google akan mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

validFrom DateTime Opsional

Jika digunakan dalam spesifikasi Restaurant, properti ini menunjukkan tanggal saat jam buka yang ditentukan oleh opens dan closes untuk restoran valid.

Misalnya, jika jam yang diberikan berlaku untuk sepanjang tahun 2017, Anda menetapkan tetapkan validFrom ke "2017-01-01T00:00:00-07:00" dan validThrough ke "2017-12-31T23:59:59-07:00".

Jika digunakan dalam spesifikasi Service, validFrom menunjukkan tanggal dimulainya tanggal dimulainya proyek pesanan dapat ditempatkan.

Jika properti ini tidak ditentukan dalam feed Anda, Google akan menganggap Restoran atau Layanan tersedia setiap hari.

Selain tanggal, bagian waktu dan zona waktu nilai wajib diisi.

Untuk zona waktu, gunakan zona waktu Restoran atau Layanan.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

validThrough DateTime Opsional

Jika digunakan di Restaurant, tanggal setelah jam buka yang ditentukan oleh opens dan closes tidak valid.

Misalnya, jika jam yang diberikan berlaku untuk sepanjang tahun 2017, Anda menetapkan tetapkan validFrom ke "2017-01-01T00:00:00-07:00" dan validThrough ke "2017-12-31T23:59:59-07:00".

Jika digunakan dalam spesifikasi Service, validThrough menunjukkan tanggal akhir. pesanan tidak bisa lagi ditempatkan.

Jika properti ini tidak ditentukan dalam feed Anda, Google akan menganggap Restoran atau Layanan tersedia setiap hari.

Selain tanggal, bagian waktu dan zona waktu DateTime wajib diisi.

Untuk zona waktu, gunakan zona waktu Restoran atau Layanan.

Waktu untuk validThrough bersifat eksklusif. Misalnya, jika waktu itu disetel ke 18.00, waktunya berlaku hingga 17:59:59.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

deliveryHours Array ServiceDeliveryHoursSpecification atau array AdvanceServiceDeliveryHoursSpecification Kondisional

Spesifikasi waktu pengiriman atau bawa pulang.

Parameter ini wajib ada kecuali jika restoran sudah tutup (artinya bahwa opens dan closes ditetapkan dan sama satu sama lain.

  • ServiceDeliveryHoursSpecification: Di dalam jam buka/tutup, Anda dapat menetapkan "buka" dan "menutup" jam saat pengguna dapat melakukan pemesanan secepatnya.
  • AdvanceServiceDeliveryHoursSpecification: Di dalam jam buka/tutup, Anda dapat menetapkan "buka" dan "menutup" jam saat pengguna dapat melakukan pemesanan di muka.

Contoh berikut menunjukkan elemen OpeningHoursSpecification:

Contoh 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"
    }
  ]
},

Contoh 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"
    }
  ]
}

Contoh 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"
    }
  }
},

Contoh 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

Tambahkan konteks gs1 untuk menggunakan jenis ini: "@context": ["http://gs1.org/voc/", "http://schema.org"]. Dan tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem atau MenuItemOption.

Tabel berikut menjelaskan properti jenis PackagingDetails:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Daftar ini selalu menampilkan "PackagingDetails".
packagingRecyclingProcessType Teks Opsional Jenis proses daur ulang kemasan sesuai gs1:PackagingRecyclingProcessTypeCode. Misalnya http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE atau http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails Opsional Detail setoran paket yang dapat dikembalikan sesuai gs1:ReturnablePackageDepositDetails. Misalnya, botol dan kaleng memiliki deposit paket yang dapat dikembalikan.

Contoh berikut menunjukkan penggunaan jenis 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

Tabel berikut menjelaskan properti PaymentChargeSpecification jenis:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu menampilkan "PaymentChargeSpecification".
@id URL Opsional ID untuk PaymentChargeSpecification.
price Angka Wajib Jumlah total tagihan. Misalnya, "6.00", tanpa mata uang simbol.
priceCurrency Teks Wajib Kode mata uang ISO 4217 3 huruf untuk harga. Misalnya, "USD".
eligibleTransactionVolume PriceSpecification Opsional Volume transaksi, dalam unit moneter, yang dikenai biaya pembayaran ini valid, seperti untuk menunjukkan jumlah pembelian minimal volume.
eligibleQuantity QuantitativeValue Opsional Jumlah pemesanan yang valid untuk biaya pembayaran. Sebagai Misalnya, Anda dapat menggunakan properti ini untuk mewajibkan jumlah minimum item dalam urutan.
validFrom DateTime Opsional Tanggal dan waktu (termasuk zona waktu) saat tagihan pembayaran yang ditentukan menjadi valid. Misalnya, "2017-05-01T07:00:00-07:00". Sebagai informasi selengkapnya, lihat Format Tanggal dan Waktu.
validThrough DateTime Opsional Tanggal dan waktu (termasuk zona waktu) saat pembayaran biaya yang ditetapkan tidak valid. Misalnya, "2017-05-01T07:30:00-07:00". Waktu untuk validThrough bersifat eksklusif: misalnya, jika waktu itu diatur ke 18.00, waktunya berlaku hingga 17:59:59. Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

Contoh berikut menunjukkan elemen PaymentChargeSpecification:

Contoh

"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
  }
}]

Selain "@type": ["PaymentChargeSpecification"], objek ini dapat diperpanjang dengan UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]). Ekstensi memberikan dua properti tambahan yang diperlukan untuk biaya layanan yang dihitung dalam persentase.

properti Jenis Kebutuhan Deskripsi
referenceQuantity QuantitativeValue Wajib Jumlah referensi yang dikenai harga tertentu. Misalnya, referenceQuantity dari nilai 10 dengan unitCode "P1" menghasilkan 10% dari nilai pesanan. Hanya unitCode "P1" bernilai didukung saat ini.
basePrice Angka Opsional Biaya dasar selain referenceQuantity. Sebagai contoh, referenceQuantity dari 10 dengan unitCode dari "P1" dan basePrice dari 5 dalam USD menghasilkan $5 + 10% dari nilai pesanannya. Nilai defaultnya adalah 0.

Contoh biaya Pengeksporan

Google mengizinkan Anda untuk menentukan berbagai biaya kepada pengguna di muka menggunakan Offer.PriceSpecification dari entity Service.

Perhatikan bahwa saat ini kami hanya mendukung satu PaymentChargeSpecification. Gabungkan semua jenis biaya ke dalam satu PaymentChargeSpecification

Jika tidak ada biaya, Offer.PriceSpecification akan dihapus.

  • Contoh 1: Biaya layanan adalah 5% dari subtotal keranjang
  • Contoh 2: Biaya layanan adalah $5
  • Contoh 3: Biaya bagasi adalah $0,1 dan biaya layanan adalah 5% dari subtotal keranjang
  • Contoh 4: Biaya bagasi adalah $0,1 dan biaya layanan $1
  • Contoh 5: Biaya layanan adalah 5% dan tip yang diperlukan adalah 10% dari subtotal keranjang

Contoh 1

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

Contoh 2

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

Contoh 3

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

Contoh 4

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

Contoh 5

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

Tempat

Tabel berikut menjelaskan properti jenis Place:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu menampilkan "Place".
address PostalAddress Wajib Alamat tempat.

Contoh berikut menunjukkan elemen Tempat:

Contoh

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

PostalAddress

Tabel berikut menjelaskan properti jenis PostalAddress:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu "postalAddress".
addressLocality Teks Wajib diisi* Lokalitas atau kota. Misalnya, "Jakarta".
addressRegion Teks Wajib diisi* Wilayah atau negara bagian. Misalnya, "CA".
postalCode Teks Wajib diisi* Kode pos. Misalnya, "94102".
streetAddress Teks Opsional Alamat. Misalnya, "1600 Amphitheatre Pkwy".
addressCountry Teks Wajib Kode negara ISO 3166-1 alpha-2 dua huruf . Misalnya, "US".

Penyedia pengiriman dapat mencantumkan properti ini untuk menetapkan Service.areaServed di mana layanan disediakan.

Saat digunakan di Restaurant.address, semua properti yang tercantum di PostalAddress diperlukan.

Contoh berikut menunjukkan elemen PostalAddress:

Contoh

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

PriceSpecification

Tabel berikut menjelaskan properti PriceSpecification jenis:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu menampilkan "PriceSpecification".
@id URL Opsional ID untuk PriceSpecification.
minPrice Angka Opsional Harga terendah jika harganya berupa rentang.
maxPrice Angka Opsional Harga tertinggi jika harganya berupa rentang.
priceCurrency Teks Wajib Kode mata uang ISO 4217 3 huruf untuk harga. Misalnya, "USD".
eligibleQuantity QuantitativeValue Opsional Jumlah pemesanan yang spesifikasi harganya valid. Misalnya, harganya mungkin $2 per pon atau 2 item untuk satu dolar.

Contoh berikut menunjukkan elemen PriceSpecification:

Contoh 1

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

PropertyValue

Pasangan nilai properti yang digunakan untuk menjelaskan opsi di MenuItemOption.

Tabel berikut mencantumkan properti untuk jenis PropertyValue:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Nilai ini selalu "PropertyValue".
name Teks Wajib

Nama atau jenis opsi.

Berikut adalah nama yang valid jika digunakan di MenuItem:

  • "SIZE": Ukuran MenuItem. Misalnya, kecil, menengah, atau besar.
  • "OPSI": Variasi apa pun selain ukuran (seperti hidangan yang datang baik sebagai salad atau sandwich). Jika Anda tidak dapat membedakan antara "UKURAN" dan "OPTION", lalu gunakan "OPTION".

Nama yang valid saat digunakan di AddOnMenuItem:

  • "VALID_ITEM_OPTION": Opsi untuk addOn yang hanya berlaku jika digunakan dengan MenuItem dengan "SIZE/OPTION".
  • "PIZZA_SIDE": Khusus untuk pizza, add-on ini hanya berlaku untuk porsi/seluruh pizza (seperti topping jamur di sisi kiri, sisi kanan, atau seluruh pizza).
  • "SIZE": Opsi untuk menentukan ukuran add-on (seperti kentang goreng sebagai tambahan untuk kombinasi makanan).
  • "OPSI": Variasi apa pun selain ukuran. Jika Anda tidak dapat membedakan antara "SIZE" dan "OPTION", lalu gunakan "OPTION".
value Teks Wajib

Nilai untuk opsi. Nilainya dapat berupa string apa pun dan ditampilkan sebagai alamat IP internalnya. Berikut adalah nilai yang valid:

  • "PIZZA_SIDE": Nilai yang sesuai harus "PIZZA_SIDE_LEFT", "PIZZA_SIDE_RIGHT", atau "PIZZA_SIDE_WHOLE" sepotong pizza.
  • "APPLY_ITEM_OPTION": Nilai ini harus ada di salah satu "OPTION/SIZE" yang sesuai pilihan untuk induk MenuItem menuItemOptions.

QuantitativeValue

Tabel berikut menjelaskan properti jenis QuantitativeValue:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Nilai ini selalu "QuantitativeValue".
value Angka Opsional Nilai nilai kuantitatif atau node nilai properti.
unitCode Teks atau URL Opsional

Satuan ukur sebagai Kode Umum UN/CEFACT atau URL.

Kode selain Kode Umum UN/CEFACT dapat digunakan dengan awalan diikuti dengan titik dua.

maxValue Angka Opsional Nilai atas beberapa karakteristik atau properti.
minValue Angka Opsional Nilai yang lebih rendah dari beberapa karakteristik atau properti.

Contoh berikut menunjukkan penggunaan jenis QuantitativeValue:

Contoh 1

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

Contoh 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
  }
}

Contoh 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
    }
  }
]

Restoran

Tabel berikut mencantumkan properti untuk jenis Restaurant:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Namanya selalu "Restoran".
@id URL Wajib ID unik restoran atau penyedia layanan pesan-antar. Misalnya, "http://www.provider.com/326", dengan "326" adalah pengidentifikasi unik dari restoran.
name Teks Wajib Teks yang dapat mengidentifikasi Restaurant selama pengurutan {i>checkout<i}.
url URL Wajib URL di domain Anda yang mewakili restoran. Misalnya, &quot;http://www.provider.com/somerestaurant&quot;.
sameAs URL Opsional Situs resmi untuk restoran. Misalnya, "http://www.somerestaurant.com".
email Teks Opsional Email kontak restoran.
description Teks Opsional Deskripsi restoran.
telephone Teks Wajib

Nomor telepon dalam format berikut:

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

Misalnya, "+16501234567".

priceRange Teks Opsional Rentang harga. Misalnya, "$$" ($-Inexpensive, $$-Moderate, $$$-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", // Kode negara (+1) wajib diisi
  "servesCuisine": [
    "fusion India-Meksiko"
  ]
},
  
  

Contoh 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"}
  ]
}

Untuk contoh entitas Restaurant lainnya, lihat Contoh Feed Restoran dan Menu.

ReturnablePackageDepositDetails

Untuk menggunakan jenis ini, tambahkan konteks gs1: "@context":

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

Lalu, tambahkan FoodBeverageTobaccoProduct ke jenis MenuItem yang sesuai atau MenuItemOption.

Tabel berikut menjelaskan properti Jenis ReturnablePackageDepositDetails:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu menampilkan "ReturnablePackageDepositDetails".
returnablePackageDepositAmount gs1:PriceSpecification Opsional Jumlah setoran untuk item ini per gs1:PriceSpecification. Misalnya, setoran $0,25 per kaleng.

Contoh berikut menunjukkan penggunaan ReturnablePackageDepositDetails jenis:

{
  "@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"
      }
    }
  }
},

Layanan

Menjelaskan pengiriman Tindakan Pemesanan Menyeluruh dari restoran ke lokasi geografis tertentu oleh organisasi pengiriman.

Tabel berikut menjelaskan properti jenis Service:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib

Jenis feed.

  • Service: Gunakan jenis ini untuk semua feed Layanan yang aktif.
  • DisabledService: Hanya gunakan jenis ini saat Anda harus menonaktifkan entitas Layanan karena peristiwa tak terduga, dan Anda tidak tahu kapan jika layanannya akan berfungsi kembali.
@id URL Wajib ID untuk layanan fulfillment. Misalnya, &quot;http://www.provider.com/service/1&quot;.
description Teks Opsional Deskripsi item.
serviceType Teks Wajib Jenis layanan yang ditawarkan. Nilai yang mungkin adalah "PENGIRIMAN" atau "PENGIRIMAN".
provider Restaurant Wajib Referensi ke ID unik untuk restoran. Misalnya, &quot;http://www.provider.com/somerestaurant&quot;.
areaServed Array GeoShape, Place, atau GeoCircle Kondisional Area geografis tempat layanan disediakan. Bidang ini bersifat opsional menurut default, tetapi wajib diisi jika serviceType adalah "PENGIRIMAN".
hoursAvailable Array OpeningHoursSpecification Wajib Jam ketersediaan layanan ini.
specialOpeningHoursSpecification Array OpeningHoursSpecification, ServiceDeliveryHoursSpecification, atau AdvanceServiceDeliveryHoursSpecification Opsional

Waktu yang menggantikan OpeningHoursSpecification atau waktu pemenuhan. Anda biasanya menggunakan kolom ini untuk menentukan hari libur dan jenis penutupan sementara atau perubahan jam lainnya.

Tentukan rentang tanggal khusus menggunakan validFrom dan Properti validThrough. Waktu dan zona waktu yang diperlukan saat menetapkan properti ini.

offers Array Offer Kondisional

Detail tentang penawaran pesan antar untuk restoran tertentu. Ini Secara default, kolom bersifat opsional, tetapi wajib jika serviceType adalah "PENGIRIMAN".

Properti Offer.priceSpecification bersifat opsional di Layanan. Tidak ada properti Offer lain yang digunakan di sini.

hasOfferCatalog [Menu, OfferCatalog] Wajib

Menentukan menu untuk layanan ini. Anda dapat memiliki menu yang berbeda untuk setiap layanan Anda (seperti layanan bawa pulang, pesan antar, dan katering).

Anda harus menentukan Menu dan OfferCatalog untuk jenisnya. Contoh:

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

Informasi konfigurasi layanan opsional. Item diharapkan objek dengan kunci name yang sesuai dengan atribut nama kolom. Kunci value adalah nilai yang relevan secara kontekstual di lapangan.

Lihat ServingConfig untuk informasi lebih lanjut tentang nama dan nilai tertentu.

"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 Opsional

Berisi URL untuk layanan pesan antar/bawa pulang yang akan digunakan saat bermigrasi dari pengalaman pemesanan makanan menyeluruh ke pengalihan. Misalnya, "potentialAction": { "url": "https://fopatestagent.com/ordering/restaurant-1/delivery" }

Contoh berikut menunjukkan penggunaan jenis Service:

Contoh

{
  "@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"
        }
      }
    ]
  }
},

Untuk contoh entitas Layanan lainnya, lihat Contoh Feed Layanan.

ServiceDeliveryHoursSpecification

Merepresentasikan jam pemenuhan bagi pengguna untuk menjadwalkan pesanan secepatnya untuk pengiriman dan bawa pulang.

Biasanya, nilai opens kurang dari nilai closes. Tujuan panduan berikut berlaku untuk penggunaan properti opens dan closes:

  • Properti opens dan closes bersifat opsional untuk ServiceDeliveryHoursSpecification, tetapi kami sangat menyarankan Anda menyertakannya.
  • Waktu harus ditentukan dalam waktu lokal untuk layanan. Jangan sertakan zona waktu dalam nilai opens atau closes. Jika zona waktu ditentukan, Google mengabaikan informasi zona waktu.
  • Jika opens dan closes tidak ditentukan secara eksplisit, kami berasumsi bahwa ASAP bahwa pemesanan tersedia setiap hari setiap saat.
  • Jika opens dan closes sama, kita asumsikan bahwa pemesanan SEGERA adalah tidak tersedia.
  • Jika opens lebih besar dari closes, jam tutup akan ditafsirkan pada hari berikutnya. Misalnya, jika jam buka disetel ke 1 Januari pukul pukul 17.00 dan jam tutupnya adalah pukul 02.00, maka restoran diartikan sebagai tutup pada 2 Januari pukul 02.00.

Tabel berikut menjelaskan properti Jenis ServiceDeliveryHoursSpecification:

Properti Jenis Kebutuhan Deskripsi
@type Teks Wajib Kolom ini selalu "ServiceDeliveryHoursSpecification".
validFrom DateTime Opsional

Tanggal dan waktu (termasuk zona waktu) saat pengguna Pesanan SEGERA dapat terpenuhi. Misalnya, "2017-05-01T07:00:00-07:00". Jika properti ini tidak ditetapkan, maka dianggap valid setiap hari.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

validThrough DateTime Opsional

Tanggal dan waktu (termasuk zona waktu) setelah pengguna Pesanan SEGERA tidak dapat dipenuhi. Misalnya, "2017-05-01T07:00:00-07:00". Jika properti ini tidak ditetapkan, maka dianggap valid setiap hari.

Waktu untuk validThrough bersifat eksklusif. Misalnya, jika waktu itu diatur ke 18.00, waktunya berlaku hingga 17:59:59.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

opens Time Opsional

Waktu saat layanan pengiriman dimulai untuk pengguna Pesanan secepatnya untuk terpenuhi. Misalnya, "T10:30:00".

Waktu harus ditentukan dalam waktu lokal untuk layanan. Larangan sertakan zona waktu dalam nilai opens. Jika zona waktu adalah tertentu, Google akan mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

closes Time Opsional

Waktu saat layanan pengiriman untuk Pesanan ASAP tidak lagi yang tersedia. Misalnya, "T23:59:59".

Waktu untuk closes bersifat eksklusif. Oleh karena itu, jika Anda menetapkan buka/tutup untuk ServiceDeliveryHoursSpecification ini ke 10.00 dan 16.00, maka pesanan terakhirnya adalah 15:59:59.

Waktu harus ditentukan dalam waktu lokal untuk layanan. Larangan sertakan zona waktu dalam nilai closes. Jika zona waktu adalah tertentu, Google akan mengabaikan informasi ini.

Untuk informasi selengkapnya, lihat Format Tanggal dan Waktu.

dayOfWeek Array DayOfWeek Opsional

Hari saat layanan ini tersedia untuk pengguna Pesanan SEGERA. Berikut adalah nilai yang valid:

  • "Senin"
  • "Selasa"
  • "Rabu"
  • "Kamis"
  • "Jumat"
  • "Sabtu"
  • "Minggu"

Jika Anda tidak menentukan hari apa pun dalam seminggu, ServiceDeliveryHoursSpecification berlaku untuk semua hari.

deliveryLeadTime QuantitativeValue Opsional Perkiraan waktu pengiriman, dalam menit, setelah pesanan diproses ditempatkan. Sebaiknya Anda menetapkan properti ini. Setel Kolom value dari QuantitativeValue ke nomor dan unitCode menjadi "MIN".

Contoh berikut menunjukkan elemen ServiceDeliveryHoursSpecification:

Contoh 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"
  }
},

Contoh 2

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

Enum

RestrictedDiet

Jenis RestrictedDiet memiliki kemungkinan nilai berikut:

  • 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