I have a requirement that goes like this

 - Customers can fill up a form to book their resorts. 
 - After booking,   booking staffs will check to see if there is vacancy for the resort
 - booking staffs will change the status to yes if it’s avaliable and no if it’s not avaliable.
 - The form is then passed on to finance staffs to send the customer a billing slip for their payment.
 - Finance staffs will change the status to “payment done” if the payment is received and “payment not done” if the payment is not received
This is the diagram I came up with.


personally I felt that it's wrong as the table in Form_status will mean that

I need cust_id,bks_id,fs_id in order to identify a status.

and other problem is if the customer name john have a already filled up a form.

Customer table
cust_id | FName | LName
1 | john | smith

then my insert statement will be like,

insert into Form values(1,"john","smith","aFunResort","2014-28-01","2014-28-01");

insert into Form_status values(1,?,?,"toBeCheck");
? = unknown

the id of bookingStaff and FinanceStaff will be unknown as they had yet to view the form.

Please advise me on how should I better improve on my diagram. thanks in advance.