public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj == this)
            {
                return(true);
            }

            return(obj is BusinessAppointmentSettings other &&
                   ((LocationTypes == null && other.LocationTypes == null) || (LocationTypes?.Equals(other.LocationTypes) == true)) &&
                   ((AlignmentTime == null && other.AlignmentTime == null) || (AlignmentTime?.Equals(other.AlignmentTime) == true)) &&
                   ((MinBookingLeadTimeSeconds == null && other.MinBookingLeadTimeSeconds == null) || (MinBookingLeadTimeSeconds?.Equals(other.MinBookingLeadTimeSeconds) == true)) &&
                   ((MaxBookingLeadTimeSeconds == null && other.MaxBookingLeadTimeSeconds == null) || (MaxBookingLeadTimeSeconds?.Equals(other.MaxBookingLeadTimeSeconds) == true)) &&
                   ((AnyTeamMemberBookingEnabled == null && other.AnyTeamMemberBookingEnabled == null) || (AnyTeamMemberBookingEnabled?.Equals(other.AnyTeamMemberBookingEnabled) == true)) &&
                   ((MultipleServiceBookingEnabled == null && other.MultipleServiceBookingEnabled == null) || (MultipleServiceBookingEnabled?.Equals(other.MultipleServiceBookingEnabled) == true)) &&
                   ((MaxAppointmentsPerDayLimitType == null && other.MaxAppointmentsPerDayLimitType == null) || (MaxAppointmentsPerDayLimitType?.Equals(other.MaxAppointmentsPerDayLimitType) == true)) &&
                   ((MaxAppointmentsPerDayLimit == null && other.MaxAppointmentsPerDayLimit == null) || (MaxAppointmentsPerDayLimit?.Equals(other.MaxAppointmentsPerDayLimit) == true)) &&
                   ((CancellationWindowSeconds == null && other.CancellationWindowSeconds == null) || (CancellationWindowSeconds?.Equals(other.CancellationWindowSeconds) == true)) &&
                   ((CancellationFeeMoney == null && other.CancellationFeeMoney == null) || (CancellationFeeMoney?.Equals(other.CancellationFeeMoney) == true)) &&
                   ((CancellationPolicy == null && other.CancellationPolicy == null) || (CancellationPolicy?.Equals(other.CancellationPolicy) == true)) &&
                   ((CancellationPolicyText == null && other.CancellationPolicyText == null) || (CancellationPolicyText?.Equals(other.CancellationPolicyText) == true)) &&
                   ((SkipBookingFlowStaffSelection == null && other.SkipBookingFlowStaffSelection == null) || (SkipBookingFlowStaffSelection?.Equals(other.SkipBookingFlowStaffSelection) == true)));
        }