class Reservation < ApplicationRecord belongs_to :company belongs_to :customer, primary_key: %i[first_name surname original_phone], query_constraints: %i[customer_first_name customer_surname customer_original_phone] belongs_to :team validates :company_id, presence: true validates :team_id, presence: true # Remove customer_id validation since we're using composite key validates :customer_first_name, :customer_surname, :customer_original_phone, presence: true # Add validation to ensure customer exists validate :customer_must_exist private def customer_must_exist unless Customer.exists?(first_name: customer_first_name, surname: customer_surname, original_phone: customer_original_phone) errors.add(:base, "Selected customer does not exist") end end end # Moved to app/serializers/reservation_serializer.rb # class ReservationSerializer < ActiveModel::Serializer # attributes :id, :company, :customer, :team, :start_time, :end_time # end