for node_index in range(1, len(data['pickup'])):
if data['pickup'][node_index] > 0 or data['deliveries'][node_index] > 0:
pickup_index = manager.NodeToIndex(node_index)
delivery_index = manager.NodeToIndex(node_index)
# Add Pickup and Delivery constraints.
routing.AddPickupAndDelivery(pickup_index, delivery_index)
routing.solver().Add(routing.VehicleVar(pickup_index) == routing.VehicleVar(delivery_index))
routing.solver().Add(time_dimension.CumulVar(pickup_index) <= time_dimension.CumulVar(delivery_index))