Ошибка типов данных в Firebase

столкнулся с проблемой, только начал с мобилкой знакомиться поэтому уже сутки сижу не могу понять что я сделал не так в общем, у меня есть два спинера (spinnerCategories и spinnerDoctors) в первом я выбираю специализацию врача, во втором соответственно врачей в этой категории так вот при выборе категории в спинере приложение крашиться с ошибкой firebase, то что я типа Long в String преобразую (com.google.firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String) прочекал все функции и дата классы связанные с этими спиннерами и не могу понять, где там Long и почему он преобразуется в String... (в самом Firebase тип данных выбран как надо) помогите люди добрые, а то уже второй день не высыпаюсь

Спиннеры

binding.spinnerCategories.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
        override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
            selectedCategory = parent.getItemAtPosition(position) as String
            selectedDoctor = null
            binding.tvDoctorInfo.text = ""
            loadDoctors(selectedCategory!!)
        }

        override fun onNothingSelected(parent: AdapterView<*>) {}
    }

    binding.spinnerDoctors.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
        override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
            selectedDoctor = parent.getItemAtPosition(position) as Doctor
            displayDoctorInfo(selectedDoctor!!)
        }

        override fun onNothingSelected(parent: AdapterView<*>) {}
    }

Функции загрузки категорий и докторов

private fun loadCategories() {
    val categoriesRef = firebaseDatabase.getReference("Categories")
    categoriesRef.addListenerForSingleValueEvent(object : ValueEventListener {
        override fun onDataChange(snapshot: DataSnapshot) {
            val categories = mutableListOf<String>()
            for (categorySnapshot in snapshot.children) {
                val category = categorySnapshot.child("categoryName").getValue(String::class.java)
                categories.add(category!!)
            }
            val adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, categories)
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
            binding.spinnerCategories.adapter = adapter
        }

        override fun onCancelled(error: DatabaseError) {
            FancyToast.makeText(requireContext(), "Ошибка базы данных: $error", FancyToast.LENGTH_SHORT, FancyToast.ERROR, false).show()
        }
    })
}

private fun loadDoctors(category: String) {
    val doctorsRef = firebaseDatabase.getReference("Doctors")
    doctorsRef.orderByChild("categoryName").equalTo(category).addListenerForSingleValueEvent(object : ValueEventListener {
        override fun onDataChange(snapshot: DataSnapshot) {
            val doctors = mutableListOf<Doctor>()
            for (doctorSnapshot in snapshot.children) {
                val doctor = doctorSnapshot.getValue(Doctor::class.java)
                if (doctor != null) {
                    doctors.add(doctor)
                }
            }
            val adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, doctors)
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
            binding.spinnerDoctors.adapter = adapter
        }

        override fun onCancelled(error: DatabaseError) {
            FancyToast.makeText(requireContext(), "Ошибка при загрузке данных врачей: ${error.message}", FancyToast.LENGTH_SHORT, FancyToast.ERROR, false).show()
        }
    })
}

Дата классы

data class Doctor(
    val name: String = "",
    val adress: String = "",
    val experience: String = "",
    val rating: String = "",
    val office: String = "",
    val specialization: String = ""
)

data class User(
    val username: String = "",
    val passport: String = "",
    val snils: String = "",
    val oms: String = "",
    val phoneNumber: String = "",
    val email: String = ""
)

data class Record(
    val userFullName: String,
    val userPassport: String,
    val userSnils: String,
    val userOms: String,
    val userPhoneNumber: String,
    val doctorName: String,
    val doctorSpecialization: String,
    val doctorAdress: String,
    val doctorOffice: String,
    val appointmentDate: String,
    val appointmentTime: String,
    val appointmentDateTime: String
)

Ответы (0 шт):