Online hizmetler, tamamen internet üzerinden sunulan hizmetler olarak tanımlanır. barındırılan bir platform üzerinden olmalı ve müşterinin hizmete katılmasını gerektirmemelidir yüz yüze gerçekleştirelim. Online hizmetlere örnek olarak şunlar verilebilir:
- Zoom üzerinden online yoga dersi
- Google Meet aracılığıyla online makyaj uzmanlık dersi
- Skype üzerinden online tesisat videosu tahmini
Online hizmetlerle ilgili uygunluk koşulları
Uygulamaya başlamadan önce lütfen online hizmet politikaları ve en iyi uygulamalar hakkında daha fazla bilgi edinin.
Online hizmetlerin uygulanması
Online hizmet entegrasyonu, mevcut uçtan uca randevulara yapılan bir eklentidir. mevcut bir uygulamada bazı değişiklikler yapılmasını gerektirir. Özet olarak aşağıdaki değişiklikler şunlardır:
- Feed'ler:
type
,VirtualSession
veDirectMerchantPayment
veCancellationPolicy
Hizmetler feed'lerine (henüz eklenmemişse) - Rezervasyon sunucusu: CreateBooking yöntemine VirtualSessionInfo'yu ekleyin. kullanıcıya sanal kurulum bilgileriyle e-posta gönderme
- Gerçek zamanlı güncellemeler (mevcut davranış): RTU aracılığıyla yeni bir sanal envantere erişim Booking Notification RTU aracılığıyla yapılan rezervasyon ve hizmette yapılan değişiklikler Hizmet RTU'su
Feed'ler
Hizmet feed'i
Aşağıdaki alanlar, online desteğin sağlanması için Hizmetler feed'ine eklenir kullanıma sunuyoruz.
Hizmet feed'i özellikleri
enum ServiceType { SERVICE_TYPE_UNSPECIFIED = 0; // Service that provides dining reservation. SERVICE_TYPE_DINING_RESERVATION = 1; // Service that provides food ordering in general, could be either takeout // or delivery or both. SERVICE_TYPE_FOOD_ORDERING = 2; // Service that only provides food delivery. SERVICE_TYPE_FOOD_DELIVERY = 6; // Service that only provides food takeout. SERVICE_TYPE_FOOD_TAKEOUT = 7; // Service that provides appointments or classes. Recommended for (1) health // and fitness, (2) spa and beauty, and (3) financial consults and // evaluations services. Please see the supported service types: // https://developers.google.com/actions-center/guides/end-to-end-integration/overview SERVICE_TYPE_APPOINTMENT = 5; // Service that provides appointment for an online class or session which // will be fully virtual. Must be set if enabling virtual service bookings. SERVICE_TYPE_ONLINE_APPOINTMENT = 8; } // Information about virtual/online session. E.g. Online yoga class, virtual // cooking class etc. message VirtualSession { // Instructions on how this virtual class is set up. If the partner does not // include the video URL with the booking, then this text must include when // the video URL will be shared with the user. Eg. “Zoom url will be mailed // 30 minutes prior to the class”. (Recommended) // Only the folloiwng four tags are supported: <br>, <strong>, <em>, <i>. Text session_instructions = 1; // Requirements for the given virtual session. Eg. yoga mat, // cooking utensils etc. (Recommended) // Only the folloiwng four tags are supported: <br>, <strong>, <em>, <i>. Text session_requirements = 2; // Information about the virtual platform used in this session. (Required to // enable virtual services) message VirtualPlatformInfo { // Enum to indicate which virtual platform would be used by the merchant. enum Platform { PLATFORM_UNSPECIFIED = 0; // The merchant is flexible in which video platform they use. FLEXIBLE = 1; GOOGLE_HANGOUTS = 2; GOOGLE_MEET = 3; ZOOM = 4; SKYPE = 5; YOUTUBE = 6; // Should be set if the video platform used is different from the ones // mentioned here. OTHER = 7; } Platform platform = 1; // The name of the platform if the platform is set to OTHER. (Required if // platform is set to OTHER) Text other_platform_name = 2; } VirtualPlatformInfo virtual_platform_info = 3; // Set this as true if the virtual session is not live and is pre-recorded. // (Optional) bool is_session_prerecorded = 4; } // Information about how the user can pay directly to the merchant instead of // pre-paying for the service via RwG. message DirectMerchantPayment { // Users would be advised to pay only via the payment methods mentioned below. repeated Text payment_methods = 1; } // Cancellation policy for a service. message CancellationPolicy { // Defines a single refund condition. Multiple refund conditions could be // used together to describe "refund steps" as various durations before the // service start time. message RefundCondition { // Duration in seconds before the start time, until when the customer can // receive a refund for part of the service's cost specified in // `refund_percent`. // When set to 0 (default), the service can be cancelled at any time. int64 min_duration_before_start_time_sec = 1; // The percent that can be refunded, as long as the service booking is // cancelled at least `min_duration_before_start_time` before the service // start time, in the range of [0, 100]. When set to 0 (default), the // service is not refundable. When set to 100 this service is fully // refundable. uint32 refund_percent = 2; } // Zero or more refund conditions applicable to the policy. repeated RefundCondition refund_condition = 1; }
Hizmet feed'i örneği
{ "service": [ { "merchant_id": "100", "service_id": "100-1", "type" : "SERVICE_TYPE_ONLINE_APPOINTMENT", "localized_service_name": { "value": "Makeup masterclass", "localized_value": [ { "locale": "en", "value": "Makeup masterclass" } ] }, "localized_description": { "value": "Learn how to do runway makeup from an award winning makeup artist.", "localized_value": [ { "locale": "en", "value": "Learn how to do runway makeup from an award winning makeup artist." } ] }, "virtual_session": { "session_instructions": { "value": "You must have access to a computer, and a solid internet connection. Class registration link will be sent to you 15 mins before the start of the class. The class link will be accessible 1 day after the class. ", "localized_value": [ { "locale": "en", "value": "You must have access to a computer, and a solid internet connection. Class registration link will be sent to you 15 mins before the start of the class. The class link will be accessible 1 day after the class. " } ] }, "session_requirements": { "value": "makeup brush, makeup palette, mirror", "localized_value": [ { "locale": "en", "value": "makeup brush, makeup palette, mirror" } ] }, "virtual_platform_info": { "platform": "OTHER", "other_platform_name": "Susan's hosted platform" } }, "direct_merchant_payment": { "payment_methods": [ { "value": "Venmo", "localized_value": [ { "locale": "en", "value": "Venmo" } ] } ] }, "price": { "price_micros": 75000000, "currency_code": "USD" }, "rules": { "min_advance_booking": 0, "min_advance_online_canceling": 86400, "cancellation_policy": { "refund_condition": [ { "min_duration_before_start_time_sec": 3600, "refund_percent": 100 } ] } }, "prepayment_type": "NOT_SUPPORTED", "tax_rate": { "micro_percent": 7750000 } }, { "merchant_id": "100", "service_id": "100-2", "type" : "SERVICE_TYPE_ONLINE_APPOINTMENT", "localized_service_name": { "value": "Advanced Vinyasa Yoga", "localized_value": [ { "locale": "en", "value": "Advanced Vinyasa Yoga" } ] }, "localized_description": { "value": "Learn the advanced techniques of vinyasa yoga taught by award winning yoga instructors.", "localized_value": [ { "locale": "en", "value": "Learn the advanced techniques of vinyasa yoga taught by award winning yoga instructors." } ] }, "virtual_session": { "session_instructions": { "value": "You must have access to a computer, and a solid internet connection. Class registration link will be included in an email from the merchant.", "localized_value": [ { "locale": "en", "value": "You must have access to a computer, and a solid internet connection. Class registration link will be included in an email from the merchant." } ] }, "session_requirements": { "value": "yoga mat, dumbbells", "localized_value": [ { "locale": "en", "value": "yoga mat, dumbbells" } ] }, "virtual_platform_info": { "platform": "ZOOM" } }, "price": { "price_micros": 40000000, "currency_code": "USD" }, "rules": { "min_advance_booking": 0, "min_advance_online_canceling": 86400, "cancellation_policy": { "refund_condition": [ { "min_duration_before_start_time_sec": 86400, "refund_percent": 100 }, { "min_duration_before_start_time_sec": 3600, "refund_percent": 50 } ] } }, "prepayment_type": "REQUIRED", "tax_rate": { "micro_percent": 7750000 }, "require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS" } ] }
- Yerelleştirilmiş açıklama: Açıklamada anlaşılır şekilde ifade edilmelidir ve hizmet hakkında bilgi edindiniz. Daha fazla bilgi için lütfen Hizmetlerinizi nasıl en iyi şekilde yapılandıracağınıza ilişkin en iyi uygulamalar kılavuzu içerik.
- Oturum talimatları: Oturum talimatları tüm
ve Google Ads şartlar ve koşullarında
politikası.
- Platform video URL'si ve toplantı kimliği otomatik olarak oluşturulmazsa
CreateBooking'in bir parçası olarak (ör. ayrıntılar
CreateBookingResponse
), maddelerinde açıkça belirtmeniz gerekir.session_instructions
ne zaman kimden ve kullanıcı, platform ayrıntılarının kendisine gönderilmesini beklemelidir.
- Platform video URL'si ve toplantı kimliği otomatik olarak oluşturulmazsa
CreateBooking'in bir parçası olarak (ör. ayrıntılar
- Oturum şartları: Oturum şartları, kullanıcının katılması gereken gerekli ekipman veya malzemeler etkili yürütülmesini sağlar. Ayrıca, kullanıcının izin verebileceği isteğe bağlı materyaller de lütfen bunları isteğe bağlı olarak işaretleyin.
- Platform: Platform, kullanıcının platformu belirtmelidir.
kullanıyor olacaklar.
- Platform, daha sonra satıcı tarafından belirlenecekse
platform
cihazınıFLEXIBLE
olarak ayarlayın. - Satıcının kullandığı platform listede yoksa
platform
-OTHER
ve belirtinother_platform_name
.
- Platform, daha sonra satıcı tarafından belirlenecekse
- İptal politikası: İptal işleminin doğru olması önemlidir
politikalar. Geri ödeme ve iptal işlemleri için
CancellationPolicy
değerini ayarlayın izin verilir. Politika ayarlanmazsa, geri ödemelerin para iadesi yapılmadığını izin verilir.
Kullanılabilirlik feed'i
- Spot Toplamı: Bu değeri, katılımcıların toplam kapasitesine ayarlayın. izin verilir (çalışanları çıkarın)
Rezervasyon Sunucusu
İsteğe bağlı: Sisteminiz, sizin adınıza bir toplantı kimliği ve URL'si oluşturursa
lütfen satıcınıza VirtualSessionInfo
ekleyin
CreateBookingResponse
.
CreateBooking özellikleri
message Booking { // Information related to the virtual session which was booked. message VirtualSessionInfo { // URL which was created for the virtual session. (optional) string session_url = 1; // The meeting id which was created for the virtual session. (optional) string meeting_id = 2; // Password required to access the session. (optional) string password = 3 [(datapol.semantic_type) = ST_ACCOUNT_CREDENTIAL]; } VirtualSessionInfo virtual_session_info = X; }
CreateBookingRequest
{ "idempotency_token": "10000000000", "payment_information": { "prepayment_status": "PREPAYMENT_NOT_PROVIDED" }, "slot": { "confirmation_mode": "CONFIRMATION_MODE_SYNCHRONOUS", "duration_sec": "3600", "merchant_id": "10001", "service_id": "10001-1", "start_sec": "1586829600" }, "user_information": { "email": "john.doe@gmail.com", "family_name": "John", "given_name": "Doe", "telephone": "+123 456 7890", "user_id": "110291237" } }
CreateBookingResponse
{ "booking": { "bookingId": "abcdefg-12345", "slot": { "merchantId": "10001", "serviceId": "10001-1", "startSec": "1586804400", "durationSec": "3600" }, "userInformation": { "userId": "110291237", "givenName": "John", "familyName": "Doe", "telephone": "+123 456 7890", "email": "john.doe@gmail.com" }, "status": "CONFIRMED", "virtual_session_info": { "video_url": "meet.google.com/abcd-efg", "meeting_id": "abcd-efg", "password" : "somepassword" } } }
Gerçek Zamanlı Güncellemeler
Envanteri veya rezervasyonları güncellemek için kullanılan mevcut mantık korunmalıdır. kullanıma sunuyoruz.
- InventoryUpdate RTU: bir envanter güncellemesi tetiklemesi gerekir. RTU'yu kullanarak slotlardaki değişiklikleri bize bildirin.
-
Booking Notification RTU: Rezervasyonlarla ilgili tüm güncellemeler
(örneğin, zamanda değişiklik yapılması veya iptaller) ya da sistemdeki
Actions Center sistemi,
bize bildirmelerini isteyin.
- Kullanıcı, ödemeyi satıcıya/iş ortağına göndermezse lütfen bize bir iptal RTU'su gönderin. İşlemler Merkezi'ni açın.
- Hizmet RTU'su: Hizmetleri bir hizmet aracılığıyla güncelliyorsanız RTU, aşağıdaki durumlarda uygun online hizmet alanlarını eklediğinizden emin olun: bir online hizmet için güncelleniyor.
E-postalar
İşlemler Merkezi, varsayılan olarak standart rezervasyon onayını gönderir. kullanıcı İşlemler Merkezi platformunda işlem yaptığında değiştirme ve iptal e-postaları.
İş ortakları ayrıca konferans bilgilerini, ödeme bilgilerini, iptal politikası bilgilerini kullanıcıya ayrı e-postalarla gönderir. Dilerseniz randevudan veya dersten önce hatırlatma e-postaları gönderebilirsiniz. Lütfen şu sayfaya bakın: politika belgesi sanal sınıfların e-posta politikalarını gözden geçirin.