The central system is focus on collect information which introduces company’s business activities, accounting liability, cash flow. If no money has moved at this point, the expectations for future cash flow should be set up. The payment event in the given framework is to describe the contract in business activities which has been created. For example, Mr. Allen is going to have a leisure stay in Paris, and booked a room on Airbnb, the price of these room is 120 Euro. First, the platform event will record a new activity, reference number is 001, then next sublayer (Cash flow prediction) will record a new transaction (120 Euro). Of 120, for example, 100 for landlord of the guest room that Mr. Allen reserved, 20 for the services fee to the Airbnb. After Allen check-in, the accounting events will have a new transaction, which is 120 Euro are received, and then the cash flow of these transaction will be confirmed. After a wonderful stay with Airbnb, Allen will checkout and leave the room, the payment events will sand a new notification to the central system, 120 for the account receivable will be proceeding. Meanwhile the 100 for the account payable is under proceeding. (This price breakdown is for example purposes only, and does not reflect any real reservation. We’ve also left the host fees out of this to simplify the explanation.)During the whole process, customer and the landlord have entered into a contract with each other, Airbnb play a role in platform and stage to convenient both buyers and seller of the room rental. In this example, Allen will pay Airbnb 120 Euro, and the host will receive 100 Euro at the same time after check-in. Cash flow will happen at the end of the contract has been created. The accounting events here is mainly describe how the amount is fulfilling. When Allen successfully pays 120 for the reservation. It would consider the account receivable then fulfilled. The event happens and so the contracted service is fulfilled.Sometimes, there are alterations on a reservation or a payment. Which means if the customer tries to add nights for the stay, or a reservation inducing a reservation price change. To properly account for the price changes from an adjustment, we should “rebook” the reservation entirely when adjustment from customer occurred. For instance, if the reservation value 120 Euro and now it is 220 because the Allen extended their stay form 1 night to 2 nights, the sublayer of activity event could either book an additional order which value 100 Euro, or cancel the reservation for 120 and rebook it for 220. It is much easier to just cancel and rebook instead of computing the average every time. It’s the cleanest way we can use with adjustments from customer.In a word, Airbnb wants to have an accurate, sufficient and logical financial reporting for all of their current and future products (services). In fact, Airbnb have designed a financial reporting system which have a strong framework for all financial processing. In the future, Airbnb can do some differences in the following aspects:· Trying to make troubleshooting much easier by using a more advanced and efficient information collecting system, because if we collect all the transaction information separately, it could be very difficult to illustrate which change in which point of the flow caused unexpected mistake. it will be negative when the company wants to change the services or strategies more frequently.· Trying to record more efficiently by going from declarative programming to functional programming. Simply think of this system as a handler system rather than a complicated SQL-join logic.Building an integrated framework, our financial processing and reporting is no longer in SQL. An integrated framework gives us a high degree of efficiency in the quality of our data and make us quickly cope with new changes.