When a customer orders services their information is captured and stored consistently across multiple related documents (payment, order, and ordered service details). This duplication ensures data integrity and historical accuracy for each stage of the ordering process.
Data Duplication Structure
Customer Snapshot Duplication
The customer’s data is duplicated and stored as a snapshot in three key areas:
Payment Document (payment)
Customer information is stored in the field payer.
Each ordered service stores the customer snapshot within an attendant object. This attendant is then added to the list of attendees within the orderAppointmentDetails.
Case 1: Single Customer When the customer who pays for the service is the same person who orders and receives the service, their data snapshot is consistent across payer, customer, and each attendant.
Case 2: Different Attendee When the paying customer differs from the person who receives the service, the data snapshot for payer and customer in the payment and order documents reflect the paying customer, while the attendant in ordered services reflects the actual service recipient.
This structure ensures clarity and historical accuracy across the order lifecycle, providing flexibility for scenarios involving gifts, third-party bookings, or personal use.