def board_people(state, goal):
    """Boards all passengers that can and should be boarded on this floor"""
    arrivals = []
    for origin in state.origin.items():
        passenger = origin[0]
        if passenger in goal.served and goal.served[passenger]:
            floor = origin[1]
            if state.lift_at == floor and not state.boarded[passenger] and not state.served[passenger]:
                arrivals.append(('board', passenger, state.lift_at))
    return arrivals