class AgentState(TypedDict): messages: Annotated[list[AnyMessage], add_messages] booking_details: BookingDetails calculated_price: NotRequired[float | None] time_options: NotRequired[list[TimeOption]] selected_slot: NotRequired[TimeOption | None] status: BookingStatus booking_id: NotRequired[str | None]