this seems a little hard to read to me. I think I'd swap the condition around a bit to take advantage of conditional short-circuiting too:

elif ('tenant' in body['schedule']) and body['schedule']['tenant'].strip():

the '.strip()' takes care of a string of nothing but whitespace