In der folgenden Anleitung wird erläutert, wie Sie Ihre Feeds implementieren sollten, um die Preise für eine Dienstleistung nach dem jeweiligen Mitarbeiter, der Tageszeit und/oder dem Wochentag zu differenzieren.
Preis pro Mitarbeiter und Zeit
Sie müssen vier Einstellungen vornehmen:
Lege im Händlerfeed eine
Merchant.payment_option
für jede Preisoption fest.- Lege den gewünschten Wert für
price
auf den Preis der Dienstleistung für die jeweilige Uhrzeit/Mitarbeiter fest. payment_option_id
muss in der gesamten Integration eindeutig sein, dapayment_option_id
-Werte von allen Händlern desselben Aggregators gemeinsam verwendet werden. Um Unklarheiten zu vermeiden und die Fehlerbehebung und Verwaltung zu vereinfachen, solltest du für jeden Händler allepayment_option
-Werte, die dieser Händler verwendet, mit einer eindeutigenpayment_option_id
(auch wenn eine identischepayment_option
von einem anderen Händler verwendet wird) (neu) definieren.- Für den Preis pro Mitarbeiter empfehlen wir, die
payment_option_id
als Kombination ausmerchant_id
,service_id
undstaff_id
zu generieren, um die Nachverfolgung zu erleichtern und dafür zu sorgen, dass diepayment_option_id
in der gesamten Integration eindeutig ist - Für einen Preis pro Zeit empfehlen wir, die
payment_option_id
als Kombination ausmerchant_id
,service_id
und einem String für diesen Zeitpunkt (evening
,weekends
,sundayafternoon
usw.) zu generieren, damit das Tracking einfacher ist und diepayment_option_id
in der gesamten Integration eindeutig ist
- Bei Verwendung für Preise auf Verfügbarkeitsebene (im Anwendungsfall dieser Anleitung) dienen Name und Beschreibung hauptsächlich zur Fehlerbehebung.
- Lege nicht mehr als 100
payment_option
-Werte für einen einzelnen Händler fest. Wenn Sie davon ausgehen, mehr als 100payment_option
-Werte zu erreichen, sollten Sie diese Implementierung von Ihrem Ansprechpartner bei Google durchführen - Alle anderen
payment_option
-Felder können für diesen Anwendungsfall ignoriert werden
- Für den Preis pro Mitarbeiter empfehlen wir, die
- Lege den gewünschten Wert für
Legen Sie im Verfügbarkeitsfeed
Availability.payment_option_id
auf ein Array mit einzelnen Artikeln mitpayment_option_id
derpayment_option
fest, die Sie aufMerchant
-Ebene definiert habenLegen Sie im Dienstleistungsfeed
Service.price
auf den niedrigsten Wert der Preisspanne für diese Dienstleistung undService.price_interpretation
aufSTARTS_AT
fest.
Preis pro Mitarbeiter
In diesem Beispiel ist Robert (ID: 1) ein erfahrenerer Friseur als Jane (ID: 2). Daher hat sich der Friseurbesitzer dafür entschieden, eine Reservierung für Robert 5 $teurer zu machen. Die Kosten für einen kurzen Haarschnitt betragen standardmäßig 20 $und die Kosten für einen langen Haarschnitt sind standardmäßig 30 $. Wählt der Nutzer Robert aus, würde der Preis 25 $bzw. 35 $kosten.
Name des Mitarbeiters | Kurzhaarschnitt | Langhaarschnitt |
---|---|---|
Max | $20* | $30* |
Robert | $25 | $35 |
*Standardpreis für den Dienst
Händler
{ "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 } } ] } ] }
Dienste
{ "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" } ] } } ] }
Verfügbarkeit
{ "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"] } ] } ] }
Beispiel für einen Preis nach Zeit
In diesem Beispiel ist der Friseursalon von 10:00 Uhr bis 20:00 Uhr geöffnet. Der Friseur hat beschlossen, einen Aufpreis von 5 $für Buchungen nach 18:00 Uhr hinzuzufügen.
Das Verfügbarkeitsbeispiel ist für Samstag, den 1. September 2018 in der Zeitzone PT definiert. 1535821200 ist 10:00 Uhr an diesem Tag, 1535850000 ist 18:00 Uhr an diesem Tag und 1535857200 ist 20:00 Uhr.
Tageszeit | Kurzhaarschnitt | Langhaarschnitt |
---|---|---|
10:00–11:00 Uhr | $20 | $30 |
11:00–12:00 Uhr | $20 | $30 |
12:00–13:00 Uhr | $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 Uhr | $20 | $30 |
18:00–19:00 Uhr | $25 | $35 |
19:00–20:00 | $25 | $35 |
Händler
{ "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 } } ] } ] }
Dienste
{ "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" } ] } } ] }
Verfügbarkeit
{ "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"] } ] } ] }