#pragma once #include #include "Map.h" #include "Enums.h" class Service; class User; class ServiceBooking { private: static int m_uid; std::string m_id; util::ServiceJobStatus m_status; util::Map m_services; std::string m_customerId; User* m_customer; std::string m_vehicleNumber; std::string m_vehicleBrand; std::string m_vehicleModel; std::string m_assignedTechnicianId; std::string m_assignedTechnician; double m_discountPercentage; public: ServiceBooking(); ServiceBooking( const std::string& id, util::ServiceJobStatus status, const util::Map& services, const std::string& customerId, User* customer, const std::string& vehicleNumber, const std::string& vehicleBrand, const std::string& vehicleModel, const std::string& assignedTechnicianId, const std::string& assignedTechnician, double discountPercentage ); const std::string& getId() const; util::ServiceJobStatus getStatus() const; const util::Map& getServices() const; const std::string& getCustomerId() const; User* getCustomer() const; const std::string& getVehicleNumber() const; const std::string& getVehicleBrand() const; const std::string& getVehicleModel() const; const std::string& getAssignedTechnicianId() const; const std::string& getAssignedTechnician() const; double getDiscountPercentage() const; void setId(const std::string& id); void setStatus(const util::ServiceJobStatus& status); void setServices(const util::Map& services); void setCustomerId(const std::string& customerId); void setCustomer(User* customer); void setVehicleNumber(const std::string& vehicleNumber); void setVehicleBrand(const std::string& vehicleBrand); void setVehicleModel(const std::string& vehicleModel); void setAssignedTechnicianId(const std::string& assignedTechnicianId); void setAssignedTechnician(const std::string& assignedTechnician); void setDiscountPercentage(double discountPercentage); };