class FreeformTicket(Fact): departing_from = Field(str, default='') departing_to = Field(str, default='') departure_date = Field(str, default='') departure_time = Field(str, default='') returning = Field(str, default='') return_date = Field(str, default='') return_time = Field(str, default='')
class ToModify(Fact): """Fields are set to true if the corresponding detail is to be modified, i.e. because the user either changed their mind or wants to correct the bot. """ dep_from = Field(bool, default=False) dep_to = Field(bool, default=False) dep_date = Field(bool, default=False) dep_time = Field(bool, default=False) returning = Field(bool, default=False) ret_date = Field(bool, default=False) ret_time = Field(bool, default=False)
class MockFact(Fact): must_be_string = Field(str, mandatory=True)
class Number(Fact): """ Holds a number """ value = Field(int, mandatory=True)
class Square(Fact): row = Field(str, mandatory=True) col = Field(str, mandatory=True) player = Field(str, mandatory=True)
class CurrentPlayer(Fact): name = Field(schema.Or("X", "O"), mandatory=True)
class PossibleMove(Square): row = Field(str, mandatory=True) col = Field(str, mandatory=True) player = Field(str, mandatory=True)
class ReturnTime(Fact): date = Field(str, mandatory=True) time = Field(str, mandatory=True)
class DepartureTime(Fact): date = Field(str, mandatory=True) time = Field(str, mandatory=True)
class FreeformDelay(Fact): starting = Field(str, default='') destination = Field(str, default='') # departure_date = Field(str, default='') # departure_time = Field(str, default='') previous_delay = Field(str, default='')