ONDA CMS로부터 생성된 예약을 서비스에서 변경하는 경우

ONDA CMS로부터 생성된 예약을 객실 업그레이드, 일정 변경 등의 사유로 서비스에서 직접 변경해야 하는 경우가 있는데, 이 경우 추가적인 조치를 취하지 않으면 오버 부킹이 발생할 수 있습니다.

타 채널에서 생성된 예약을 서비스에서 변경하지 못 하도록 강제한다면 다음과 같은 과정을 따를 필요가 없습니다.

  1. ONDA CMS에서 서비스로 예약을 전송하고, 서비스에 예약이 저장됩니다.

    이하 A 예약이라고 합니다.

  2. A 예약이 최초에 배정 됐던 객실과 일정(체크인/아웃)을 불변하도록 별도로 저장합니다.

    이하 최초 기준, 현재 기준이라 합니다.

  3. A 예약이 고객에 의해 채널에서 취소되고, 서비스까지 동기화가 되었다면, 최초 기준현재 기준의 모든 재고를 새로 동기화 요청합니다.

원인

각 채널에서는 재고에 대해 Auto Replenishment(자동 채우기) 기능이 기본적으로 동작합니다. 이는 예약이 취소되거나 다른 객실로 이동한 경우, 투숙 기간이 바뀐 경우 등에 의해 해당 객실와 일정으로 예약을 받을 수 있는 상황이 되면, 기존 예약에 의해 차감 됐던 재고를 다시 채워 주는 기능입니다.

위 과정에서 A 예약이 서비스 상에서 다른 객실로 이동했고, 그 이후 고객이 채널에서 예약을 직접 취소했다고 가정해봅니다.

  • 재고가 각각 1개인 A 객실B 객실이 있습니다.

    A 객실 재고: 1, B 객실 재고: 1

  • 고객은 A 객실 투숙을 예약합니다.

    A 객실 재고: 0, B 객실 재고: 1

  1. 숙소에서 어떠한 사유로 A 예약의 배정을 B 객실로 변경합니다.

    A 객실 재고: 1, B 객실 재고: 0

  2. A 예약A 객실에서 B 객실로 이동하는 과정에서 두 객실에는 재고의 변동이 일어나고, 이는 ONDA CMS를 통해 채널에 재고가 반영됩니다.

    A 예약이 채널에서는 원래대로 A 객실에 배정 되어 있습니다.

  3. 고객이 A 예약을 채널에서 취소합니다.

    채널에서 Auto Replenishment가 동작하여 채널의 재고는 다음과 같아집니다.
    A 객실 재고: 2, B 객실 재고: 0

  4. ONDA CMS를 통해 서비스의 예약이 취소되고, B 객실의 재고 변동에 따라 ONDA CMS를 통해 채널에 재고가 반영됩니다.

    A 객실 재고: 2, B 객실 재고: 1

위 과정의 최종 결과로 A 객실의 재고는 2개가 되고, 이는 오버 부킹이 발생하는 원인이 됩니다.

이를 피하려면, ONDA CMS를 통해 연동된 예약의 정보를 바꾸지 못 하도록 강제하거나, 최초의 정보를 불변하도록 저장하여 지속적으로 혹은 취소 시 최초 기준현재 기준의 모든 재고를 새로 동기화 하도록 요청해야 합니다.