В следующем руководстве объясняется, как вам следует реализовать свои каналы, чтобы дифференцировать цены на услугу в зависимости от соответствующего сотрудника или времени суток и/или дня недели.
Цена за персонал/время
Нужно настроить 4 вещи:
В фиде продавца установите один
Merchant.payment_option
для каждого варианта цены.- Установите желаемую
price
на цену услуги за определенное время/персонал payment_option_id
должен быть уникальным в рамках вашей интеграции, поскольку значенияpayment_option_id
являются общими для всех продавцов одного и того же агрегатора. Чтобы избежать путаницы и упростить устранение неполадок и управление, мы рекомендуем для каждого продавца (пере)определить все значенияpayment_option
, которые использует этот продавец, с уникальным идентификаторомpayment_option_id
(даже если идентичныйpayment_option
используется другим продавцом).- Для цены за персонал мы рекомендуем вам сгенерировать
payment_option_id
как комбинациюmerchant_id
,service_id
иstaff_id
для упрощения отслеживания и обеспечения уникальностиpayment_option_id
во всей вашей интеграции. - Для цены за раз мы рекомендуем вам сгенерировать
payment_option_id
как комбинациюmerchant_id
,service_id
и строки, представляющей это время (evening
,weekends
,sundayafternoon
...), чтобы упростить отслеживание и обеспечить уникальностьpayment_option_id
во всей вашей интеграции.
- При использовании для ценообразования на уровне доступности (вариант использования в этом руководстве) имя и описание в основном используются в целях отладки.
- Не устанавливайте более 100 значений
payment_option
для одного продавца. Если вы планируете получить более 100 значенийpayment_option
, запустите эту реализацию через своего контактного лица в Google. - Все остальные поля
payment_option
в этом случае можно игнорировать.
- Для цены за персонал мы рекомендуем вам сгенерировать
- Установите желаемую
В фиде доступности задайте для
Availability.payment_option_id
один массив элементов сpayment_option_id
параметраpayment_option
, который вы определили на уровнеMerchant
.В ленте услуг установите для
Service.price
самое низкое значение диапазона цен для этой услуги и установите дляService.price_interpretation
значениеSTARTS_AT
Пример цены за одного сотрудника
В этом примере Роберт (id: 1) является более опытным парикмахером, чем Джейн (id: 2), и поэтому владелец салона решил сделать для Роберта резервацию на 5 долларов дороже. Стоимость стрижки на короткие волосы по умолчанию составляет 20 долларов США, а стоимость стрижки на длинные волосы по умолчанию составляет 30 долларов США. Если пользователь выберет Роберта, сокращение будет стоить 25 или 35 долларов соответственно.
Имя сотрудника | Короткая стрижка | Стрижка на длинные волосы |
---|---|---|
Джейн | 20 долларов США* | 30 долларов США* |
Роберт | 25 долларов США | 35 долларов США |
*цена по умолчанию за услугу
Торговцы
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1503638100, "total_shards": 1 }, "merchant": [ { "category": "beauty_salon", "merchant_id": "beauty-per-staff-price", "name": "Beauty Salon", "url": "www.merchantspublicsite.com", "telephone": "+1 123-456-7890", "geo": { "latitude": 37.422113, "longitude": -122.084041, "address": { "locality": "Mountain View", "country": "US", "region": "CA", "street_address": "1600 Amphitheatre Pkwy", "postal_code": "94043" } }, "payment_option": [ { "payment_option_id": "beauty-per-staff-price-haircut-short-1", "name": "Short haircut (Robert)", "description": "Short hair haircut price for Robert", "price": { "currency_code": "USD", "price_micros": 25000000 } }, { "payment_option_id": "beauty-per-staff-price-haircut-short-default", "name": "Short haircut (Default)", "description": "Normal short hair haircut price", "price": { "currency_code": "USD", "price_micros": 20000000 } }, { "payment_option_id": "beauty-per-staff-price-haircut-long-1", "name": "Long haircut (Robert)", "description": "Long hair haircut price for Robert", "price": { "currency_code": "USD", "price_micros": 35000000 } }, { "payment_option_id": "beauty-per-staff-price-haircut-long-default", "name": "Long haircut (Default)", "description": "Normal long hair haircut price", "price": { "currency_code": "USD", "price_micros": 30000000 } } ] } ] }
Услуги
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1535437200, "total_shards": 1 }, "service": [ { "service_id": "haircut-short", "prepayment_type": "NOT_SUPPORTED", "merchant_id": "beauty-per-staff-price", "price": { "currency_code": "USD", "price_micros": 20000000 }, "localized_service_name": { "value": "Haircut (shorter than shoulder)", "localized_value": [ { "locale": "en", "value": "Haircut (shorter than shoulder)" } ] }, "localized_description": { "value": "Awesome haircut for short hair", "localized_value": [ { "locale": "en", "value": "Awesome haircut for short hair" } ] } }, { "service_id": "haircut-long", "prepayment_type": "NOT_SUPPORTED", "merchant_id": "beauty-per-staff-price", "price": { "currency_code": "USD", "price_micros": 30000000 }, "localized_service_name": { "value": "Haircut (longer than shoulder)", "localized_value": [ { "locale": "en", "value": "Haircut (longer than shoulder)" } ] }, "localized_description": { "value": "Awesome haircut for long hair", "localized_value": [ { "locale": "en", "value": "Awesome haircut for long hair" } ] } } ] }
Доступность
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1535178900, "total_shards": 1 }, "service_availability": [ { "availability": [ { "spots_total": 1, "start_sec": 1535806800, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535846340, "repeat_every_sec": 3600 }, "service_id": "haircut-short", "merchant_id": "beauty-per-staff-price", "resources": { "staff_name": "Robert", "staff_id": "1" }, "payment_option_id": ["beauty-per-staff-price-haircut-short-1"] }, { "spots_total": 1, "start_sec": 1535806800, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535846340, "repeat_every_sec": 3600 }, "service_id": "haircut-long", "merchant_id": "beauty-per-staff-price", "resources": { "staff_name": "Robert", "staff_id": "1" }, "payment_option_id": ["beauty-per-staff-price-haircut-long-1"] }, { "spots_total": 1, "start_sec": 1535806800, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535846340, "repeat_every_sec": 3600 }, "service_id": "haircut-short", "merchant_id": "beauty-per-staff-price", "resources": { "staff_name": "Jane", "staff_id": "2" }, "payment_option_id": ["beauty-per-staff-price-haircut-short-default"] }, { "spots_total": 1, "start_sec": 1535806800, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535846340, "repeat_every_sec": 3600 }, "service_id": "haircut-long", "merchant_id": "beauty-per-staff-price", "resources": { "staff_name": "Jane", "staff_id": "2" }, "payment_option_id": ["beauty-per-staff-price-haircut-long-default"] } ] } ] }
Пример цены за раз
В данном примере салон открыт с 10:00 до 20:00. Владелец салона решил добавить дополнительную плату в размере 5 долларов США за бронирование после 18:00.
Пример доступности определен для субботы, 1 сентября 2018 г., в часовом поясе PT. 1535821200 — это 10:00 в этот день, 1535850000 — 18:00 в этот день и 1535857200 — 20:00.
Время суток | Короткая стрижка | Стрижка на длинные волосы |
---|---|---|
10:00 ~ 11:00 | 20 долларов | 30 долларов США |
11:00 ~ 12:00 | 20 долларов | 30 долларов США |
12:00 ~ 13:00 | 20 долларов | 30 долларов США |
13:00 ~ 14:00 | 20 долларов | 30 долларов США |
14:00 ~ 15:00 | 20 долларов | 30 долларов США |
15:00 ~ 16:00 | 20 долларов | 30 долларов США |
16:00 ~ 17:00 | 20 долларов | 30 долларов США |
17:00 ~ 18:00 | 20 долларов | 30 долларов США |
18:00 ~ 19:00 | 25 долларов США | 35 долларов США |
19:00 ~ 20:00 | 25 долларов США | 35 долларов США |
Торговцы
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1503638100, "total_shards": 1 }, "merchant": [ { "category": "beauty_salon", "merchant_id": "beauty-per-time-price", "name": "Beauty Salon", "url": "www.merchantspublicsite.com", "telephone": "+1 123-456-7890", "geo": { "latitude": 37.422113, "longitude": -122.084041, "address": { "locality": "Mountain View", "country": "US", "region": "CA", "street_address": "1600 Amphitheatre Pkwy", "postal_code": "94043" } }, "payment_option": [ { "payment_option_id": "beauty-per-time-price-haircut-short-evening", "name": "Short haircut (Evening)", "description": "Short hair haircut price for the evening", "price": { "currency_code": "USD", "price_micros": 25000000 } }, { "payment_option_id": "beauty-per-time-price-haircut-short-default", "name": "Short haircut (Normal)", "description": "Short hair haircut price for the rest of the day", "price": { "currency_code": "USD", "price_micros": 21000000 } }, { "payment_option_id": "beauty-per-time-price-haircut-long-evening", "name": "Long haircut (Evening)", "description": "Long hair haircut price for the evening", "price": { "currency_code": "USD", "price_micros": 35000000 } }, { "payment_option_id": "beauty-per-time-price-haircut-long-default", "name": "Long haircut (Normal)", "description": "Long hair haircut price for the rest of the day", "price": { "currency_code": "USD", "price_micros": 31000000 } } ] } ] }
Услуги
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1535437200, "total_shards": 1 }, "service": [ { "service_id": "haircut-short", "prepayment_type": "NOT_SUPPORTED", "merchant_id": "beauty-per-time-price", "price": { "currency_code": "USD", "price_micros": 2100000 }, "localized_service_name": { "value": "Haircut (shorter than shoulder)", "localized_value": [ { "locale": "en", "value": "Haircut (shorter than shoulder)" } ] }, "localized_description": { "value": "Awesome haircut for short hair", "localized_value": [ { "locale": "en", "value": "Awesome haircut for short hair" } ] } }, { "service_id": "haircut-long", "prepayment_type": "NOT_SUPPORTED", "merchant_id": "beauty-per-time-price", "price": { "currency_code": "USD", "price_micros": 31000000 }, "localized_service_name": { "value": "Haircut (longer than shoulder)", "localized_value": [ { "locale": "en", "value": "Haircut (longer than shoulder)" } ] }, "localized_description": { "value": "Awesome haircut for long hair", "localized_value": [ { "locale": "en", "value": "Awesome haircut for long hair" } ] } } ] }
Доступность
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "generation_timestamp": 1535178900, "total_shards": 1 }, "service_availability": [ { "availability": [ { "spots_total": 1, "start_sec": 1535821200, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535849940, "repeat_every_sec": 3600 }, "service_id": "haircut-short", "merchant_id": "beauty-per-time-price", "payment_option_id": ["beauty-per-time-price-haircut-short-default"] }, { "spots_total": 1, "start_sec": 1535821200, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535849940, "repeat_every_sec": 3600 }, "service_id": "haircut-long", "merchant_id": "beauty-per-time-price", "payment_option_id": ["beauty-per-time-price-haircut-long-default"] }, { "spots_total": 1, "start_sec": 1535850000, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535857140, "repeat_every_sec": 3600 }, "service_id": "haircut-short", "merchant_id": "beauty-per-time-price", "payment_option_id": ["beauty-per-time-price-haircut-short-evening"] }, { "spots_total": 1, "start_sec": 1535850000, "spots_open": 1, "duration_sec": 3600, "recurrence": { "repeat_until_sec": 1535857140, "repeat_every_sec": 3600 }, "service_id": "haircut-long", "merchant_id": "beauty-per-time-price", "payment_option_id": ["beauty-per-time-price-haircut-long-evening"] } ] } ] }