فید نقطه مورد نظر (POI)

فیدهای POI را ایجاد و بارگذاری کنید

هنگام ایجاد و آپلود فیدهای POI، این دستورالعمل‌ها را دنبال کنید:

  • برای فایل‌های داده POI، مشخصات شرح داده شده در فید POI را دنبال کنید. توصیه می‌کنیم برای هر آپلود از نام‌های منحصر به فرد برای فایل‌های داده POI استفاده کنید. یک مهر زمانی در نام فایل قرار دهید، به عنوان مثال، POI_1633621547.json .
  • فیدها را روزانه و با به‌روزرسانی کامل، به سرور محلی POI SFTP آپلود کنید.
  • می‌توانید جزئیات سرور SFTP را در بخش پیکربندی > فیدها در پورتال شرکا پیدا کنید.

انتخاب سرورهای فید

مشخصات خوراک

الزامات میدانی

وِس‌پوی

نشان دهنده یک موجودیت نقطه مورد علاقه (POI) است، مثلاً یک هتل یا رستوران.

نام فیلد نوع مورد نیاز توضیحات
poi_id رشته

مورد نیاز

الزامی. رشته‌ای که توسط شریک تولید می‌شود و یک POI را مشخص می‌کند.
name شیء
(Text)

مورد نیاز

الزامی. نام نقطه مورد نظر.
telephone رشته

شماره تلفن تماس با نقطه مورد نظر شامل کد کشور و منطقه، مثلاً ‎+14567891234‎
url رشته

آدرس وب‌سایت عمومی نقطه مورد نظر. توجه: این آدرس فقط برای تطبیق استفاده می‌شود، نه برای نمایش.
location شیء
(GeoCoordinates)

مورد نیاز

الزامی. محل نقطه مورد نظر.
display_address شیء
(Text)

آدرسی که در رابط کاربری نمایش داده می‌شود.
images آرایه ای از اشیاء
(Image)

تصاویر از نقطه مورد نظر. حداکثر تعداد تصاویر: ۵.
rating شماره

امتیاز متوسط ​​برای POI.
num_ratings شماره

تعداد رتبه‌بندی‌های مشارکت‌کننده برای فیلد rating .
rating_scale شماره

مقیاس رتبه‌بندی مورد استفاده برای فیلد rating . اگر حداکثر رتبه‌بندی ۵ باشد، rating_scale برابر با ۵ خواهد بود.
category شمارشی
(Category)

مورد نیاز

الزامی. نشان‌دهنده‌ی دسته‌بندی نقطه مورد نظر است.
description شیء
(Text)

شرحی از POI.
یکی از
(additional_data)

مورد نیاز

فقط یکی از فیلدهای این oneOf قابل تنظیم است.

متن

یک متن را با محلی‌سازی‌ها نشان می‌دهد.

نام فیلد نوع مورد نیاز توضیحات
localizations آرایه ای از اشیاء
(LocalizedString)

رشته‌های محلی‌شده.
default_locale رشته

زبان محلی که قرار است به عنوان زبان پیش‌فرض استفاده شود، باید در محلی‌سازی‌ها موجود باشد.

رشته محلی

یک رشته محلی شده را نشان می‌دهد.

نام فیلد نوع مورد نیاز توضیحات
locale رشته

برچسب زبان متن، مانند "en"، "en-US" یا "sr-Latn".
text رشته

متن در زبان مشخص شده.

مختصات جغرافیایی

داده‌های جغرافیایی یک مکان، شامل عرض جغرافیایی، طول جغرافیایی و آدرس.

نام فیلد نوع مورد نیاز توضیحات
latitude شماره

[-۹۰، +۹۰] درجه (شامل). در صورت تنظیم طول جغرافیایی الزامی است، در غیر این صورت بهتر است تنظیم شود.
longitude شماره

[-۱۸۰، +۱۸۰] درجه (شامل). در صورت تنظیم عرض جغرافیایی الزامی است، در غیر این صورت بهتر است تنظیم شود.
یکی از
(addresses)

مورد نیاز

فقط یکی از فیلدهای این oneOf قابل تنظیم است.

آدرس پستی

آدرس پستی مربوط به محل.

نام فیلد نوع مورد نیاز توضیحات
country رشته

مورد نیاز

الزامی. کشور، با استفاده از کد کشور ISO 3166-1 alpha-2، مثلاً "US".
locality رشته

مورد نیاز

الزامی. محل/شهر، مثلاً "Mountain View".
region رشته

منطقه/ایالت/استان، مثلاً "CA". این فیلد فقط در کشورهایی که منطقه معمولاً بخشی از آدرس است، الزامی است. (اختیاری)
postal_code رشته

مورد نیاز

الزامی. کد پستی، مثلاً "94043".
street_address رشته

مورد نیاز

الزامی. آدرس خیابان، مثلاً «۱۶۰۰ Amphitheatre Pkwy».

تصویر

تصویری از نقطه مورد نظر (POI) را نشان می‌دهد.

نام فیلد نوع مورد نیاز توضیحات
url رشته

آدرس اینترنتی تصویر. گوگل رسانه‌های میزبانی شده در این آدرس اینترنتی را بررسی خواهد کرد. حداکثر طول: ۲۰۰۰.
alt_text شیء
(Text)

متن جایگزین مورد استفاده برای دسترسی‌پذیری.

هتل دیتا

داده‌های فید مخصوص هتل.

نام فیلد نوع مورد نیاز توضیحات
hotel_star_class شماره

مقدار رسمی ستاره درجه هتل. می‌تواند در برچسبی مانند "هتل ۵ ستاره" استفاده شود. انتظار می‌رود این مقدار یک عدد صحیح بین ۱ تا ۵ باشد.
brand_ids آرایه‌ای از رشته

برندهایی که می‌توانند این هتل را نمایش دهند. اگر این فیلد خالی باشد، هتل می‌تواند تحت هر یک از برندهای مرتبط با فید نمایش داده شود.

داده‌های محلی

داده‌های خوراک مخصوص تأسیس.

نام فیلد نوع مورد نیاز توضیحات
business_hours شیء
(BusinessHours)

ساعات کاری معمول موسسه.
price_range شیء
(PriceRange)

محدوده قیمت خدمات ارائه شده توسط موسسه.
establishment_category شیء
(Text)

نوع مؤسسه.
brand_landing_pages آرایه ای از اشیاء
(BrandLandingPages)

صفحات فرود برند.

ساعات کاری

دوره‌های زمانی که این مکان برای کسب و کار باز است را نشان می‌دهد. مجموعه‌ای از نمونه‌های [TimeRange][madden.vss_poi_feed.TimeRange] را در خود جای داده است. مثال: شنبه‌ها از ساعت ۰۹:۰۰ تا ۱۲:۰۰ و ۱۳:۰۰ تا ۱۷:۰۰ باز است: time_ranges { open_day: SATURDAY open_time: { hours: 9, minutes: 0 } close_day: SATURDAY close_time: { hours: 12, minutes: 0 } } time_rages { open_day: SATURDAY open_time: { hours: 13, minutes: 0 } close_day: SATURDAY close_time: { hours: 17, minutes: 0 } } مثال: شنبه‌ها از ساعت ۲۱:۰۰ تا یکشنبه ۰۲:۰۰ باز است: time_ranges { open_day: SATURDAY open_time: { hours: 21, minutes: 0 } close_day: SUNDAY close_time: { hours: 2, minutes: 0 } }

نام فیلد نوع مورد نیاز توضیحات
time_ranges آرایه ای از اشیاء
(TimeRange)

مجموعه‌ای از زمان‌هایی که این POI برای کسب و کار باز است. هر دوره نشان دهنده طیف وسیعی از ساعاتی است که POI در طول هفته باز است.

محدوده زمانی

نشان دهنده بازه زمانی است که POI باز است، که از روز/زمان باز بودن مشخص شده شروع می‌شود و در روز/زمان بسته شدن مشخص شده بسته می‌شود. زمان بسته شدن باید بعد از زمان باز شدن باشد، به عنوان مثال بعداً در همان روز یا در روز بعد.

نام فیلد نوع مورد نیاز توضیحات
open_day شمارشی
(DayOfWeek)

روز باز محدوده زمانی.
open_time شیء
(TimeOfDay)

زمان باز بودن محدوده زمانی.
close_day شمارشی
(DayOfWeek)

روز پایانی محدوده زمانی.
close_time شیء
(TimeOfDay)

زمان بسته شدن محدوده زمانی.

زمان روز

نام فیلد نوع مورد نیاز توضیحات
hours شماره

ساعات یک روز در قالب ۲۴ ساعته. باید بزرگتر یا مساوی ۰ و معمولاً کوچکتر یا مساوی ۲۳ باشد. یک API ممکن است برای سناریوهایی مانند زمان تعطیلی کسب و کار، مقدار "۲۴:۰۰:۰۰" را مجاز بداند.
minutes شماره

دقیقه‌های یک ساعت. باید بزرگتر یا مساوی ۰ و کوچکتر یا مساوی ۵۹ باشد.
seconds شماره

ثانیه‌های یک دقیقه. باید بزرگتر یا مساوی ۰ و معمولاً کوچکتر یا مساوی ۵۹ باشد. یک API در صورت امکان ثانیه کبیسه، ممکن است مقدار ۶۰ را نیز مجاز بداند.
nanos شماره

کسری از ثانیه، بر حسب نانوثانیه. باید بزرگتر یا مساوی ۰ و کوچکتر یا مساوی ۹۹۹,۹۹۹,۹۹۹ باشد.

محدوده قیمت

محدوده قیمت خدمات ارائه شده توسط POI.

نام فیلد نوع مورد نیاز توضیحات
min_price شیء
(Money)

حداقل قیمت خدمات ارائه شده توسط POI.
max_price شیء
(Money)

حداکثر قیمت خدمات ارائه شده توسط POI.

پول

نشان دهنده مقدار پول به همراه نوع ارز آن است.

نام فیلد نوع مورد نیاز توضیحات
currency_code رشته

کد ارزی سه حرفی که در استاندارد ISO 4217 تعریف شده است.
units شماره

کل واحدهای مبلغ. برای مثال اگر currencyCode برابر با "USD" باشد، هر واحد برابر با یک دلار آمریکا است.
nanos شماره

تعداد نانو (10^-9) واحد از مبلغ. مقدار باید بین -999,999,999 و +999,999,999 باشد. اگر units مثبت باشد، nanos باید مثبت یا صفر باشد. اگر units صفر باشد، nanos می‌تواند مثبت، صفر یا منفی باشد. اگر units منفی باشد، nanos باید منفی یا صفر باشد. به عنوان مثال، -1.75 دلار به صورت units = -1 و nanos = -750,000,000 نمایش داده می‌شود.

صفحات فرود برند

صفحات فرود برند بومی‌سازی‌شده برای یک نقطه مورد توجه (POI).

نام فیلد نوع مورد نیاز توضیحات
brand_id رشته

برندی که این پیکربندی برای آن اعمال می‌شود.
localized_landing_pages آرایه ای از اشیاء
(LocalizedLandingPage)

صفحات فرود محلی‌سازی شده. مقادیر فیلدهای url و locales باید در تمام صفحات فرود محلی‌سازی شده منحصر به فرد باشند.
default_url رشته

آدرس اینترنتی پیش‌فرض صفحه فرود که زمانی استفاده می‌شود که هیچ یک از صفحات فرود بومی‌سازی‌شده با زبان کاربر مطابقت نداشته باشند.

صفحه فرود محلی

صفحه فرود محلی برای نقطه مورد نظر (POI).

نام فیلد نوع مورد نیاز توضیحات
url رشته

آدرس اینترنتی صفحه فرود. حداکثر طول: ۲۰۰۰.
locales آرایه‌ای از رشته

این صفحه را به کاربرانی با ترجیح زبان مشخص‌شده محدود می‌کند. باید شامل برچسب‌های زبان، مانند "en"، "en-US" یا "sr-Latn" باشد.

دسته بندی

نشان دهنده دسته بندی POI است. باید با فیلد additional_data oneof در زیر مطابقت داشته باشد.

نام توضیحات
UNKNOWN_CATEGORY
HOTEL
LOCAL

روز هفته

نشان دهنده یک روز از هفته است.

نام توضیحات
DAY_OF_WEEK_UNSPECIFIED روز هفته مشخص نشده است.
MONDAY دوشنبه
TUESDAY سه‌شنبه
WEDNESDAY چهارشنبه
THURSDAY پنجشنبه
FRIDAY جمعه
SATURDAY شنبه
SUNDAY یکشنبه

داده‌های_اضافی

الزامی. فیلدهای مخصوص دسته‌بندی. باید با فیلد category بالا مطابقت داشته باشد.

نام فیلد نوع مورد نیاز توضیحات
hotel_data شیء
(HotelData)

با local_data منحصر به فرد است

فیلدهای خاص هتل
local_data شیء
(LocalData)

منحصر به فرد با hotel_data

زمینه‌های خاص محلی.

آدرس‌ها

الزامی. آدرس مکان.

نام فیلد نوع مورد نیاز توضیحات
address شیء
(PostalAddress)

آدرس پستی محل.
  • فرمت: باید JPEG، PNG یا WebP باشد.
  • حداکثر حجم فایل: کمتر از ۳۰ مگابایت برای هر تصویر.
  • حداکثر ابعاد: مجموعاً کمتر از ۷۵ مگاپیکسل (عرض × ارتفاع < ۷۵,۰۰۰,۰۰۰).
  • نوع URL: مسیر مستقیم به تصویر (مثلاً با پسوند .jpg تمام شود).
  • مجوزها: مطمئن شوید که سرور میزبان به ربات‌های گوگل یا خزنده‌ها اجازه دسترسی می‌دهد و هیچ فایل robots.txt دایرکتوری‌های تصاویر را مسدود نمی‌کند.
  • جستجوی امن: تصاویر باید با سیاست‌های جستجوی امن گوگل مطابقت داشته باشند.

تعاریف

تعریف VssPoiFeed

// Represents a Point of Interest (POI) data feed provided by a partner.
export message VssPoiFeed {
  // The POIs in the feed.
  repeated VssPoi data = 1;
}

تعریف VssPoi

// Represents a single Point of Interest (POI) entity e.g. a hotel or
// restaurant.
export message VssPoi {
  // Required. A string generated by the partner that identifies a POI.
  string poi_id = 1;

  // The entity name, telephone, url and location are used to support
  // matching partner inventory with entities already present on Google.

  // Required. The name of the POI.
  Text name = 2;

  // The contact telephone number of the POI including its country and
  // area codes, e.g. +14567891234.
  string telephone = 3 [(datapol.semantic_type) = ST_PHONE_NUMBER];

  // The url of the POI's public website.
  // Note: This will be used just for matching purposes, not for display.
  string url = 4;

  // Required. The location of the POI.
  GeoCoordinates location = 5;

  // The address displayed on the UI.
  Text display_address = 17;

  // Images of the POI.
  // Max number of images: 5.
  repeated Image images = 6;

  // Average rating for the POI.
  float rating = 12;

  // The number of contributing ratings for the `rating` field.
  int64 num_ratings = 13;

  // The rating scale used for the `rating` field. If max rating is 5, then
  // rating_scale is 5.
  int32 rating_scale = 14;

  // Represents the category of the POI.
  // It should match the `additional_data` oneof field below.
  export enum Category {


    LOCAL = 4;
  }

  // Required. Represents the category of the POI.
  Category category = 9;

  // A description of the POI.
  Text description = 16;

  // Required. Category specific fields.
  // It should match the `category` field above.
  oneof additional_data {


    // Local specific fields.
    LocalData local_data = 15;
  }

}

تعریف متن

// Represents a text with localizations.
message Text {
  // Represents a localized string.
  message LocalizedString {
    // The text's language tag, such as "en", "en-US" or "sr-Latn".
    string locale = 1;

    // The text in the specified locale.
    string text = 2;
  }

  // The localized strings.
  repeated LocalizedString localizations = 1;

  // The locale to use as the default language it must be present in the
  // localizations.
  string default_locale = 2;
}

تعریف مختصات جغرافیایی

// The Geo data of a location, including latitude, longitude, and address.
message GeoCoordinates {
  option (datapol.msg_semantic_type) = ST_LOCATION;

  // [-90, +90] degrees (inclusive).
  // Required if longitude is set, otherwise nice to have.
  double latitude = 1;

  // [-180, +180] degrees (inclusive).
  // Required if latitude is set, otherwise nice to have.
  double longitude = 2;

  // Required. Address for a location.
  oneof addresses {
    // Postal address of the location.
    PostalAddress address = 3;

  }
}

تعریف آدرس پستی

// The postal address for the location.
message PostalAddress {
  option (datapol.msg_semantic_type) = ST_LOCATION;

  // Required. The country, using ISO 3166-1 alpha-2 country code, e.g. "US".
  string country = 1;

  // Required. The locality/city, e.g. "Mountain View".
  string locality = 2;

  // The region/state/province, e.g. "CA". This field is only required in
  // countries where region is commonly a part of the address. (optional)
  string region = 3;

  // Required. The postal code, e.g. "94043".
  string postal_code = 4;

  // Required. The street address, e.g. "1600 Amphitheatre Pkwy".
  string street_address = 5;
}

تعریف تصویر

// Represents an image of the Point of Interest (POI).
export message Image {
  // The url of the image. Google will crawl the media hosted at this URL.
  // Max length: 2000.
  string url = 1;

  // The alternative text to be used for accessibility.
  Text alt_text = 2;
}

تعریف LocalData

// Establishment specific feed data.
message LocalData {
  // The regular business hours of the establishment.
  BusinessHours business_hours = 1;

  // Price range of the services offered by the establishment.
  PriceRange price_range = 2;

  // The type of establishment.
  Text establishment_category = 3;

  // The brand landing pages.
  repeated BrandLandingPages brand_landing_pages = 4;
}

تعریف BrandLandingPages

// The Localized brand landing pages for a single Point of Interest (POI).
message BrandLandingPages {
  // The brand this configuration applies to.
  string brand_id = 1 [(datapol.semantic_type) = ST_PARTNER_ID];

  // Localized landing page for the Point of Interest (POI).
  message LocalizedLandingPage {

    // The url of the landing page.
    // Max length: 2000.
    string url = 1;

    // Restricts this page to users with the specified language preference.
    // Must contain language tags, such as "en", "en-US" or "sr-Latn".
    repeated string locales = 3;
  }

  // The localized landing pages.
  // The url and locales fields values must be unique across all the localized
  // landing pages.
  repeated LocalizedLandingPage localized_landing_pages = 2;

  // The default landing page url to be used when none of the localized
  // landing pages matches the user's language.
  string default_url = 3;
}

نمونه‌ها

فید نقاط مورد علاقه

نام فایل: poi_1707240000.json

{
  "data": [
    {
      "poi_id": "test_restaurant_1",
      "name": {
        "localizations": [
          {
            "locale": "en",
            "text": "Tasty Bites Test Restaurant"
          }
        ],
        "default_locale": "en"
      },
      "telephone": "+1234567890",
      "url": "https://www.tastybitestest.com",
      "location": {
        "latitude": 37.422,
        "longitude": -122.084,
        "address": {
          "country": "US",
          "locality": "Mountain View",
          "postal_code": "94043",
          "street_address": "1600 Amphitheatre Pkwy"
        }
      },
      "display_address": {
        "localizations": [
          {
            "locale": "en",
            "text": "1600 Amphitheatre Pkwy, Mountain View, CA 94043"
          }
        ],
        "default_locale": "en"
      },
      "images": [
        {
          "url": "https://www.tastybitestest.com/images/interior.jpg",
          "alt_text": {
            "localizations": [
              {
                "locale": "en",
                "text": "Cozy dining area of Tasty Bites"
              }
            ],
            "default_locale": "en"
          }
        }
      ],
      "rating": 4.7,
      "num_ratings": 150,
      "rating_scale": 5,
      "category": "LOCAL",
      "description": {
        "localizations": [
          {
            "locale": "en",
            "text": "A mock restaurant for testing the POI feed ingestion."
          }
        ],
        "default_locale": "en"
      },
      "local_data": {
        "establishment_category": {
           "localizations": [
             {
               "locale": "en",
               "text": "Restaurant"
             }
           ],
           "default_locale": "en"
        },
        "price_range": {
          "min_price": {
            "currency_code": "USD",
            "units": 15,
            "nanos": 0
          },
          "max_price": {
            "currency_code": "USD",
            "units": 45,
            "nanos": 0
          }
        },
        "business_hours": {
          "time_ranges": [
            {
              "open_day": "MONDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "MONDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "TUESDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "TUESDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "WEDNESDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "WEDNESDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "THURSDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "THURSDAY",
              "close_time": { "hours": 22, "minutes": 0 }
            },
            {
              "open_day": "FRIDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "FRIDAY",
              "close_time": { "hours": 23, "minutes": 0 }
            },
            {
              "open_day": "SATURDAY",
              "open_time": { "hours": 10, "minutes": 0 },
              "close_day": "SATURDAY",
              "close_time": { "hours": 23, "minutes": 0 }
            },
            {
              "open_day": "SUNDAY",
              "open_time": { "hours": 10, "minutes": 0 },
              "close_day": "SUNDAY",
              "close_time": { "hours": 20, "minutes": 0 }
            }
          ]
        },
        "brand_landing_pages": [
          {
            "brand_id": "tasty_bites_brand",
            "localized_landing_pages": [
              {
                "url": "https://www.tastybitestest.com/en",
                "locales": ["en-US", "en-GB"]
              }
            ],
            "default_url": "https://www.tastybitestest.com"
          }
        ]
      }
    }
  ]
}

فید POI چند زبانه

نام فایل: poi_multilingual.json

{
  "data": [
    {
      "poi_id": "test_restaurant_1",
      "name": {
        "localizations": [
          {
            "locale": "en",
            "text": "Tasty Bites Test Restaurant"
          },
          {
            "locale": "fr",
            "text": "Restaurant de test Tasty Bites"
          }
        ],
        "default_locale": "en"
      },
      "telephone": "+1234567890",
      "url": "https://www.tastybitestest.com",
      "location": {
        "latitude": 37.422,
        "longitude": -122.084,
        "address": {
          "country": "US",
          "locality": "Mountain View",
          "postal_code": "94043",
          "street_address": "1600 Amphitheatre Pkwy"
        }
      },
      "display_address": {
        "localizations": [
          {
            "locale": "en",
            "text": "1600 Amphitheatre Pkwy, Mountain View, CA 94043"
          },
          {
            "locale": "fr",
            "text": "1600 Amphitheatre Pkwy, Mountain View, CA 94043"
          }
        ],
        "default_locale": "en"
      },
      "images": [
        {
          "url": "https://www.tastybitestest.com/images/interior.jpg",
          "alt_text": {
            "localizations": [
              {
                "locale": "en",
                "text": "Cozy dining area of Tasty Bites"
              },
              {
                "locale": "fr",
                "text": "Espace salle à manger accueillant de Tasty Bites"
              }
            ],
            "default_locale": "en"
          }
        }
      ],
      "rating": 4.7,
      "num_ratings": 150,
      "rating_scale": 5,
      "category": "LOCAL",
      "description": {
        "localizations": [
          {
            "locale": "en",
            "text": "A mock restaurant for testing the POI feed ingestion."
          },
          {
            "locale": "fr",
            "text": "Un faux restaurant pour tester l'ingestion de flux de points d'intérêt."
          }
        ],
        "default_locale": "en"
      },
      "local_data": {
        "establishment_category": {
           "localizations": [
             {
               "locale": "en",
               "text": "Restaurant"
             },
             {
               "locale": "fr",
               "text": "Restaurant"
             }
           ],
           "default_locale": "en"
        },
        "price_range": {
          "min_price": {
            "currency_code": "USD",
            "units": 15,
            "nanos": 0
          },
          "max_price": {
            "currency_code": "USD",
            "units": 45,
            "nanos": 0
          }
        },
        "business_hours": {
          "time_ranges": [
            {
              "open_day": "MONDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "MONDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "TUESDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "TUESDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "WEDNESDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "WEDNESDAY",
              "close_time": { "hours": 21, "minutes": 0 }
            },
            {
              "open_day": "THURSDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "THURSDAY",
              "close_time": { "hours": 22, "minutes": 0 }
            },
            {
              "open_day": "FRIDAY",
              "open_time": { "hours": 11, "minutes": 0 },
              "close_day": "FRIDAY",
              "close_time": { "hours": 23, "minutes": 0 }
            },
            {
              "open_day": "SATURDAY",
              "open_time": { "hours": 10, "minutes": 0 },
              "close_day": "SATURDAY",
              "close_time": { "hours": 23, "minutes": 0 }
            },
            {
              "open_day": "SUNDAY",
              "open_time": { "hours": 10, "minutes": 0 },
              "close_day": "SUNDAY",
              "close_time": { "hours": 20, "minutes": 0 }
            }
          ]
        },
        "brand_landing_pages": [
          {
            "brand_id": "tasty_bites_brand",
            "localized_landing_pages": [
              {
                "url": "https://www.tastybitestest.com/fr",
                "locales": ["fr-FR", "fr-CA"]
              },
              {
                "url": "https://www.tastybitestest.com/en",
                "locales": ["en-US", "en-GB"]
              }
            ],
            "default_url": "https://www.tastybitestest.com"
          }
        ]
      }
    }
  ]
}