Can't display data from firebase database

I’m trying to display data from my realtime database using firebase
image

If I put the path all the way to H# i can get the hName to display.

When I put the path just one tier higher at Hotels, it can’t pull the data and returns the error "type 'List<Object?> is not a subtype of type 'Map<dynamic,dynamic>.

My goal is to be able to display all the hotel names.

I’ve done another project long ago with a similar json structure and I was able to get the same result but now its not working for this new project.

I’ve even changed my code to follow this video from the firebase channel.

code is at 34:00

Code following the video:

  final testPull = FirebaseDatabase.instance.reference().child("Hotels");
  @override
  Widget build(BuildContext context) {
    return Container(
      width: MediaQuery.of(context).size.width,
      height:  MediaQuery.of(context).size.height,
      alignment: Alignment.centerLeft,
      child: Column(
        children: [
          StreamBuilder(
            stream: testPull.onValue,
            builder: (context, snapshot) {
              final tilesList = <ListTile>[];
              if (snapshot.hasData) {
                final myHotels = Map<dynamic, dynamic>.from(snapshot.data.snapshot.value);
                myHotels.forEach((key, value) {
                  final nextHotel = Map<dynamic, dynamic>.from(value);
                  final hotelTile = ListTile(
                      title: Text(nextHotel['hName']),
                  );
                  tilesList.add(hotelTile);
                });
              }
              return Expanded(
                child: ListView(
                  children: tilesList,
                ),
              );
            },
          ),
        ],
      ),
    );
  }

Code following my old project:
final dbRef = FirebaseDatabase.instance.reference().child("Hotels");
List<Map<dynamic, dynamic>> lists = [];
     FutureBuilder(
        future: dbRef.once(),
        builder: (context, AsyncSnapshot<DataSnapshot> snapshot) {
          if (snapshot.hasData) {
            lists.clear();
            Map<dynamic, dynamic> values = snapshot.data.value;
            values.forEach((key, values) {
              lists.add(values);
            });
            return new Container(
                margin: EdgeInsets.only(left: 0.0, right: 0.0, bottom: 0.0),
                height: MediaQuery.of(context).size.height - 153,
                child: ListView (children: new List.generate( lists.length, (int index){
                  return Card(
                    child: InkWell(
                      splashColor: Colors.purple.withAlpha(30),
                      child: Container(
                        height: 40,
                        width: double.infinity,
                        child: Padding(
                          padding: EdgeInsets.all(10.0),
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: <Widget>[
                              Text(lists[index]["hName"]),
                            ],
                          ),
                        ),
                      ),
                    ),
                  );
                }))
            );
          }
          return CircularProgressIndicator();
        }),
    Card(
      //height: 100,
      child: InkWell(
        splashColor: Colors.purple.withAlpha(30),
        child: Container(
          height: 40,
          width: double.infinity,
          child: Padding(
            padding: EdgeInsets.all(5.0),
            child: ElevatedButton(
              onPressed: () {
                Navigator.pop(context);
              },
              child: Text('Go back'),
            ),
          ),
        ),
      ),
    ),```