2012-02-28 3 views
0

휴가 주택 임대 웹 사이트를 개발 중이며 개체 모델 디자인에 대한 도움을 받고 싶습니다.임대 주택 예약 시스템 설계

나는 집 모델, 사용자 모델을 가지고 있으며 이제는 시작 및 종료 날짜 필드, 사용자 필드 및 집 필드가있는 예약 모델을 디자인하고 작성하려고합니다.

예약 프로세스에는 주택 선택, 날짜 선택 및 최종 결제가 포함됩니다. 이러한 모든 조치가 완료 될 때까지 예약이 저장되지 않도록 예약 프로세스를 어떻게 개발합니까? 예약의 두 상태를 처리하기 위해 다른 모델 (예 : ReservationRequest)을 만드는 것이 좋습니까? 그렇지 않으면 예약의 두 상태를 어떻게 처리 할 수 ​​있습니까?

죄송합니다. 모호한 질문인데, 이런 종류의 과정에 대한 안내는 나에게 매우 유용 할 것입니다.

+1

예약이 완료 될 때까지 예약을 저장하지 않는다는 아이디어를 전제로 질문합니다. 예약과 관련된 모든 작업을 완료하면 "완료"로 설정 될 예약과 관련된 상태를 간단하게 가질 수 있습니다. 그런 다음 모델에서 명명 된 범위를 만들어 "완전한"예약을 가져올 수 있습니다. 데이터베이스에 불완전한 예약을 저장하는 데는 아무런 문제가 없습니다. 필요한 경우 정기적으로 제거 할 수 있으며, 불완전한 예약 상태에서 유용한 분석을 실제로 얻을 수 있습니다. –

+0

정말 좋은 생각입니다. 전에 고려하지 않았습니다. 감사! –

+0

그 범위의 수표 유효 여부 문제를 고려 했습니까? 예약 요청을받은 경우 문제가되지 않지만 사용자가 지불하게 만들면 문제가 될 수 있습니다. –

답변

1

귀하의 정책에 따라 다릅니다. 유효한 지불이 시작될 때까지 나는 서버 측에 아무 것도 저장하지 않을 것이다. 이런 식으로 사용자는 주택을 막을 수없고 마음을 바꿀 수 없습니다. 마법사의 다른 페이지간에 개체 (집과 날짜)를 앞뒤로주고 싶습니다. 지불이 시작되면 예약을 데이터베이스에 저장합니다. 낙관적 인 관점을 가정하면 이는 하우스를 잠글 것입니다. 지불이 실패하면 예약을 파기하고 적절한 메시지 (이메일)를 보내십시오. 이렇게하면 모든 사람이 전체 프로세스를 다시 시작할 수 있습니다. 그러나 이것은 실제로 얼마나 많은 사용자가 있고 얼마나 동시가 환경인지에 달려 있습니다.

+0

많은 사용자가 여전히 지불 방법으로 _bank tranfer_를 사용한다. 돈을 얻기 위해 며칠을 필요로하는 은행 송금으로, 나는 위대하다고 생각하지 않는다. 돈이 도착하는 동안 며칠 동안 집이 잠겨 있으면 문제가 생깁니다. 아마도이 방법을 사용하면 문제가 될 수 있지만 "오래된 방법"사용자는 빠져 있다고 간주 할 수 있습니다. –

+0

죄송합니다. 마지막 문장은 "이 문제를 해결하는 데 문제가되지 않는다면 ... [...]" –