[Incident Report]: Issue with import of OTA (3rd party website) reservations / 【障害報告】グルメサイトのメール取り込み不具合
Incident Report for TableCheck
Postmortem

(日本語は下記にございます)

Date of Occurrence: 2020-10-27 20:50 JST
Date of Resolution: 2020-10-27 21:55 JST
Recovery Completion: 2020-10-30 23:00 JST

【Contents】
Due to a system failure during the above time, the following issues occurred in some functionalities.

• Email Import from 3rd party booking websites :
766 emails out of the 6,300 emails from the booking websites failed to be retrieved between 20:50 JST and 21:55 JST on October 27.
As a countermeasure for this, the failed emails were reprocessed at 14:30 JST on October 28, which caused another problem.
As a result, multiple reservations were created on the TableCheck Manager system, and at 22:00 JST, the unnecessary duplicates were deleted.
In addition, it was discovered on October 30 that there were 199 e-mails that had failed to be resent, and this problem was resolved at 23:00 JST on October 30.

• Credit Card Integration:
There were 7 cases of guests who attempted to make a reservation with their credit card between 20:50 - 21:55 JST on October 27, these guests were charged even though the reservations were not created. Such credit card refunds were completed at noon on October 28.

• CTI (Computer Telephony Integration)
It has been reported that the pop-up window of customer information on the Manager system did not work properly between 20:50 and 21:55 JST on October 27.
*The problems occurred at some outlets who have subscribed for the above features. Other functionalities were not affected.

Timeline
10/27
20:50 JST: Configuration work is done on the API server, this causes the above failure.
21:55 JST: The above functionalities are restored by correcting the problem.

10/28:
12:00 JST: Problems with the import of 3rd party reservation emails and card payment functions reported and an investigation started.
13:00 JST : Refunds are processed for all affected payments (7 in total).
14:30 JST: Reprocessed emails that failed to be imported (approximately 700 emails). The same email was sent multiple times, resulting in duplicate bookings being created.
18:00 JST: Duplicate reservations for same-day reservations and other urgent cases are confirmed and handled.
22:00 JST: Duplicate reservations made after 10/30 are removed from the system.
The status of the duplicate reservations will be automatically changed to "Deleted" and the reservation memo will read, "Duplicate reservations deleted by TableCheck staff".

10/30:
20:45 JST: Of the 766 reprocessed emails sent at 14:30 JST on October 28, 199 were found to have failed to be resent.
21:05 JST: 119 of the 199 emails successfully reprocessed.
23:00 JST: Further 80 emails have been successfully reprocessed, and all emails have been dealt with.
Due to the failure, emails related to reservations were temporarily not being recovered, and in some cases, cancellation emails were sent to the TableCheck Manager first and then the reservation e-mails were sent.
In such cases, we have processed the cancellation and have added the Reservation memo that the reservation was cancelled via the booking website.

[Cause]
This failure was caused by an improper setting on the server during the web server performance improvement work that was carried out in response to the failure that occurred on October 14 and 15.
A module that manages the internal API was improperly configured, which caused some processes to fail to complete.
As a result of this, the recovery process that should have been performed when importing emails from the 3rd party website failed was not carried out.
The card payment function is designed to automatically refund the charged amounts if a failure occurs during the payment process and the reservation creation process cannot be completed, but we found a special case where the automatic refund logic did not work due to this failure.
Also, after the fix done on October 27, the system is designed to automatically retry processes that failed to capture emails, but it was found that some of the processes did not succeed, and nearly 1,000 emails were unsuccessful.

[Resolutions]
10/28: Actions taken before and during the incident are listed in the "Timeline" section above.
10/29: Fixed the problem that some payments are not refunded automatically when the reservation creation fails.
10/29: The cause of failure of automatic reprocessing of the email import function is now fixed.

Future Fixes (November):
Investigate and fix reason for 199 emails failing during the recovery on October 28.
Improved detection and automatic resend of failed emails.
Fix the problem of duplicate reservation creation after manual resending of booking websites' emails.

We are in the process of revamping company-wide failure response process. We are also working to improve the speed of notifying customers, enhance the process for identifying and responding to failures, and create an environment where failures do not occur in the first place.

We sincerely apologize for the inconvenience this may have caused you & thank you for your cooperation.
TableCheck Support

**********************************************************************

発生日時:2020-10-27 20:50
復旧日時:2020-10-27 21:55
対応完了:2020-10-30 23:00

【内容】
上記時間内に弊社システムの障害が発生し、一部機能において下記の事象が発生しておりました。

・グルメサイトメールの取り込み機能:
10/27 20:50~21:55の間のグルメサイトからの通知メール約6,300通の内、766通のメール取り込みに失敗しておりました。
この対応として、取り込みに失敗していたメールの再処理を10/28 14:30に行いましたが、それにより更なる問題が発生。
同一予約が複数件、管理画面内に作成されてしまい22:00頃に不要な重複分の削除作業を致しました。
更に、再送に失敗しているメールが199件存在することが10/30に発覚し、最終的に10/30 23:00に対応が完了しました。

・カード決済機能:
10/27 20:50~21:55の間にカード情報を含む予約を試みたお客様に対し、予約が失敗したにも関わらず請求のみ発生するケースが7件発生致しました。
該当するクレジットカードへの返金対応は10/28正午に完了致しました。

・電話着信時に顧客情報をポップアップする機能:
10/27 20:50~21:55の間、管理画面上での顧客情報のポップアップが正常に表示されない状態が発生しておりました。
*上記各機能ご契約・ご利用店舗様の内の一部の店舗様にて発生しておりました。上記の各機能以外には影響しておりません。

タイムライン:
10/27
20:50: APIサーバについて設定作業を実施。これにより上記障害が発生。
21:55: 問題の修正を行い、上記各機能が復旧。

10/28
12:00: グルメサイトメールの取り込み機能とカード決済機能の問題が報告され、調査開始。
13:00: 影響を受けた支払い(全7件)に返金処理完了。
14:30: 取り込みに失敗した766件のEメールを再処理。この際、同一のメールが複数回送信されたことで、予約も重複して作成される。
18:00: 当日予約等の緊急性が高いと思われる予約重複があった店舗様へ確認を行い対応。
22:00: 10/30以降来店の重複予約をシステムから削除。
※該当する予約はステータスが "削除済み" に自動変更され、予約メモへ "障害による重複予約のため削除" と記載されています。

10/30
20:45: 10/28 14:30に行った766件再処理のうち199件が再送に失敗していることが発覚。
21:05: 199件の内の119件の再処理に成功。
23:00: 更に80件の再処理に成功し、全件の対応が完了。
※障害の影響により、予約に関するメールが一時的に取り込みされていない状態が続いたため、一部のケースでキャンセルメールが先にTableCheckオンライン画面へ送られ、その後予約メールが送られるケースがありました。
本ケースは弊社にてキャンセル処理を行いました。該当予約予約メモへは【予約サイトによるキャンセル済み】と記載しております。

【原因】
10/14・15に発生した障害の対応として行ったウェブサーバのパフォーマンスの改善作業における、サーバ上の不適切な設定が起因しておりました。
内部APIを管理するモジュールが不適切に設定されていたため、一部の処理が正常に完了しない事象が発生したものとなります。
この影響で、グルメサイトのメール取り込みが失敗した際に本来実行されるべきリカバリー処理が行われない形となりました。
カード決済機能について、決済処理中に何らかの障害が発生して予約作成が完了できなかった場合には自動的に請求額を返金するように設計されておりますが、今回の障害が原因で自動返金のロジックが作動しないという特殊なケースを発見致しました。また10/27の修正後、メール取り込みに失敗した処理は自動で再試行される設計となっておりますが、一部成功していないことが判明し、1000件弱の処理に失敗しておりました。

【対応】
対応済み:
・10/28: 復旧時までに行った対応につきましては、タイムラインに記載しております。
・10/29: 一部の支払いにおいて、予約作成に失敗した際に自動返金されない問題を修正。
・10/29: メール取り込機能に関する、自動再処理が失敗した原因の修正。

今後の対応(11月予定):
・10/28の再処理時に再度失敗した原因の詳細調査と修正。
・処理失敗時のエラーメッセージの検知と自動処理の強化。
・11/6メール取り込機能に関する、手動での再送信後に重複して取り込まれた原因の修正。

現在、全社をあげて障害への対応プロセスの刷新を行っております。
周知スピードの改善、障害対応時の切り分けと対応プロセスの向上、また障害が発生しない環境の構築をゼロベースから行い信頼回復に努めてまいります。

ご利用の皆様にはご迷惑をお掛けし誠に申し訳ございませんでした。
TableCheckサポート

Posted Nov 04, 2020 - 16:43 JST

Resolved
【Apologies for Inconvenience / お詫びとご連絡】

(日本語は下記にございます)

Regarding the failure of the 3rd party website email notifications for reservations on 27th October.
We have resent the emails that had failed to be imported on October 28, but since a few emails failed to be resent, we re-sent them again around 21:05 JST.
As a result, some restaurants may have received the notification emails under the "Online" tab on the TableCheck Manager system with past dates.

To resolve this, kindly take the following steps if necessary:
- In case of automatic reservation creation: Change the status of the unnecessary reservations to "Deleted" in order to duplicate the reservations created by email resend.
- In case of manual import: Please click the "Ignore" button for resubmitted emails in the "Online" tab.

We will soon update you with the details of the failure of the booking websites' emails on 27th and 28th October.

We apologize for the inconvenience caused by the repeated failures.
TableCheck Support

****************************************************:


10/27に発生致しましたグルメサイト予約通知メール取り込みの障害につきまして、
取り込みが失敗していたメールの再送を10/28に行いましたが、一部メールのみ再送に失敗しておりました為、先程21:05頃に再度、再送の処理を行いました。
その為一部店舗様におかれましては、グルメサイト予約通知メールが過去の受信日でTableCheck管理画面「オンライン」画面へ届いております。

お手数をお掛けし誠に恐れ入りますが、必要に応じて下記処理をお願い致します。
・自動予約作成の場合:メール再送によって作成された予約と重複してしまう為、不要な予約のステータスを「削除済み」へ変更願います。
・メール手動取り込みの場合:「オンライン」画面へ届いたメールにて「無視」のボタンを押下していただきますようお願い致します。

10/27・28に発生致しましたグルメサイト予約通知メールの障害と合わせまして、詳細に関しましては、追ってご報告させていただきます。

度重なる障害発生により多大なるご迷惑とご不便をお掛けし、誠に申し訳ございません。
TableCheckサポート
Posted Oct 30, 2020 - 23:00 JST
Monitoring
A fix has been implemented and we are monitoring the results.
Posted Oct 28, 2020 - 00:00 JST
Investigating
Date & Time of Occurrence: 2020-10-27 around 20:50 ~ 21:55 JST

Contents:
It has been reported that some reservations from 3rd party websites were not being forwarded to TableCheck Manager.
We are currently in the process of investigating the issue & rectifying it, however please check if you see notifications on the Online tab on TableCheck Manager i.e. on the Operation System.

We sincerely apologize for the inconvenience caused.
TableCheck Support

*************************************************:

発生時刻:2020-10-27 20:50 ~ 21:55 頃

内容:
一部のグルメサイトメールがTableCheck管理画面へ転送されていなかったというケースが報告されています。
弊社にて調査・修正を進めておりますが、店舗様で受信されているご予約通知とTableCheck管理画面のオンライン通知をご確認いただきます様、お願い致します。

ご迷惑とご不便おかけし大変申し訳ございません。
TableCheckサポート
Posted Oct 27, 2020 - 20:45 JST
This incident affected: TableCheck for Restaurants - Services (TableCheck OTA Mail Services).