blob: 98aaf1c176e06f11afa2659cdb64d4e922b8f3ae [file] [log] [blame]
import json
from generated import food_service_pb2
from generated import timeofday_pb2
from google.protobuf.json_format import MessageToDict
#create feed
feed = food_service_pb2.FoodServiceFeed()
#create food_service
service_data = feed.data.add()
service_data.service.service_id = 'merchant-1-service-delivery'
service_data.service.service_type = food_service_pb2.FoodOrderingService.ServiceType.DELIVERY
service_data.service.parent_entity_id = 'merchant-1'
service_data.service.lead_time.min_lead_time_duration.seconds = 1200
service_data.service.action_link_id = 'merchant-1-takeout-delivery-action'
#create fee
fee_data = feed.data.add()
fee_data.fee.fee_id = 'merchant-1-fee-delivery'
fee_data.fee.fee_type = food_service_pb2.Fee.FeeType.DELIVERY
fee_data.fee.fixed_amount.currency_code = 'USD'
fee_data.fee.fixed_amount.units = 2
fee_data.fee.service_ids.append('merchant-1-service-delivery')
#create asap service hours
asap_hours_data = feed.data.add()
asap_hours_data.service_hours.hours_id = 'merchant-1-asap-hours-delivery'
asap_hours_data.service_hours.service_ids.append('merchant-1-service-delivery')
asap_hours = asap_hours_data.service_hours.asap_hours.add()
asap_hours.time_windows.MergeFrom(food_service_pb2.TimeOfDayWindow(
time_windows=food_service_pb2.TimeOfDayRange(
open_time=timeofday_pb2.TimeOfDay(
hours=11,
minutes=00
),
close_time=timeofday_pb2.TimeOfDay(
hours=22,
minutes=30
)
)
)
)
asap_hours.lead_time.min_lead_time_duration.seconds = 2400
#create advance service hours
advance_hours_data = feed.data.add()
advance_hours_data.service_hours.hours_id = 'merchant-1-advance-hours-delivery'
advance_hours_data.service_hours.service_ids.append('merchant-1-service-delivery')
advance_hours = advance_hours_data.service_hours.advance_hours.add()
advance_hours.time_windows.MergeFrom(food_service_pb2.TimeOfDayWindow(
time_windows=food_service_pb2.TimeOfDayRange(
open_time=timeofday_pb2.TimeOfDay(
hours=11,
minutes=00
),
close_time=timeofday_pb2.TimeOfDay(
hours=22,
minutes=00
)
)
)
)
advance_hours.advance_booking_interval.min_offset.seconds = 60*60
advance_hours.advance_booking_interval.max_offset.seconds = 60*60*24*3
orderable_time = advance_hours_data.service_hours.orderable_time.append(
food_service_pb2.TimeOfDayWindow(
time_windows=food_service_pb2.TimeOfDayRange(
open_time=timeofday_pb2.TimeOfDay(
hours=00,
minutes=00
),
close_time=timeofday_pb2.TimeOfDay(
hours=23,
minutes=59
)
)
)
)
#create service area
service_area_data = feed.data.add()
service_area_data.service_area.area_id = 'merchant-1-area-delivery'
service_area_data.service_area.service_ids.append('merchant-1-service-delivery')
service_area_data.service_area.circle.center.latitude = 37.4215576
service_area_data.service_area.circle.center.longitude = -122.0951056
service_area_data.service_area.circle.radius = 5000
feedJSON = json.dumps(MessageToDict(feed, preserving_proto_field_name=True))
print(feedJSON)