In the Gospels Jesus is born in Bethlehem and that is all we really know for sure. People over the centuries have assumed that Jesus was born in a stable but the Gospels do not say that. People have added to the story the stable with cows and donkeys but they are not noted in the scripture. It tells us in Luke only that they laid him in a manger but that does not necessarily mean in a cave or a wooden stable out back of the house. That could have happened but we are not given that detail. A manger could have been brought inside a home.
We are told that there was no room in the "inn" as though the motel six was full. Many people in the Jerusalem area had a second story that they rented out to travelers especially during the high holy days when a lot of people made the journey to the temple. It was a good way to make extra money. Remember the upper room that Jesus and his disciples used during Passover? So the rented space or inn may have been full but seeing that Mary was about to deliver the home owner/inn keeper may have welcomed them into the lower part of the house.
Some first century homes also had a place for animals in the lower section of the house, see the picture below of what it might have looked like.