great forum you've got here! Spent many a nights looking for answers here
I am currently using the hotel name and location as my key. This assumption seems to go well in my current design such as I no longer need to create psuedo data i.e. row number to identify a record. This is enforced by throwing a DuplicateRecordException when a new record with matching name and location is inserted.
Consequently my update methods now require a search first to obtain the required record before the customer ID is set. I would appreciate if you guys can comment on this approaching of avoiding creating a row number?