约会的数据模型 - 选择多个日期

时间:2015-05-22 19:39:29

标签: java c# database datetime

我正在研究一个看起来像这样的问题:

想象一下医生的办公室,客户可以在下午4点预约。

想象一下,另一位客户想在下午4点去看医生,但因为服用了,他必须在下午5点去看医生。

现在想象第二个客户可能会选择下午4点作为访问的潜在日期时间,这样当第一个客户决定不来时,第二个客户会收到一条通知说:嘿,你可以早点进来。 / p>

客户#1打开应用,选择约会日期,例如2015年5月23日。

  • 打开服务页面,客户#1选择'体检'+'验血'。
  • 打开另一个页面,当天有可用的小时数(考虑两个服务的持续时间)。
  • 客户#1选择下午4点。

客户#2打开应用,选择相同的日期。

  • 打开一个包含服务的页面,客户端#2选择“医疗查找”。
  • 可用小时的页面打开。客户#2选择下午4点和下午5点。

接下来,

  • 客户#1打开应用程序,取消预约到下午4点。
  • 客户#2收到通知,表示可以在下午4点预约。

我正在尝试为此创建一个简单的数据模型,但是一次约会的多个DateTimes正在杀死我。

这就是我现在所拥有的:

表:

Client
int id
string name

Service // Bloodtest, General medical checkup, etc.
int id
string title
int duration // estimated duration in minutes

Appointment
int id
int client_id
int doctor_id
List<Service> Services
List<DateTime> AppointmentDateTimes

Doctor
int id
string name
List<Service> Services

我的问题

List<DateTime> 

批准是,我不知道哪个客户端优先于所选的DateTime(谁是第一个)以及客户喜欢的哪个DateTime。

非常感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:1)

制作约会日期时间,这些时间目前只是DateTime值,顶级对象。然后,每个AppointmentDateTime对象都有一个有序的患者列表。首先是患者预约,2位或更高位的患者在等候名单上。

此外,每个AppointmentDateTime对象都可以包含指定医生,房间等信息。您可以在同一时间段内拥有多个AppointmentDateTime对象,每个对象可供不同的医生使用。