Per the GTFS Flex Spec a, technically, correct interpretation is that the stop_id in stop_times.txt can be null if there is a start or end service area provided. Although most agencies have followed the suggestion to include a phantom stop in the middle of the service area proper adherence to the spec does not require it.
To support that I propose making the stop_id optional. Then after reading in the GTFS validate that all provided stop_times have a stop_id unless the entry includes a start or end service_area.
Per the GTFS Flex Spec a, technically, correct interpretation is that the stop_id in stop_times.txt can be null if there is a start or end service area provided. Although most agencies have followed the suggestion to include a phantom stop in the middle of the service area proper adherence to the spec does not require it.
To support that I propose making the stop_id optional. Then after reading in the GTFS validate that all provided stop_times have a stop_id unless the entry includes a start or end service_area.