From Jason Staples Jesus Was not Born In a Stable and Other Christmas-Related Details:
In the first (recently published in NTS), he shows (in spite of the constant threat of the Spanish Inquisition) that Luke 2:7 in fact involves no “inn” (the word traditionally translated “inn” actually suggests an extra room or “place to stay”), nor does Luke suggest that Jesus was born in a stable, barn, cave, or anything of the sort. It’s an excellent article, and though it might take the fun out of nativity scenes for some folks, it is well worth the read for those interested in the biblical accounts of Jesus’ birth.
The end result is that in Luke’s account, Mary seems to have given birth in Joseph’s family’s house in Bethlehem, being forced to put Jesus in a manger, which would have been in the main room of the house, since they didn’t tend to have barns or stables for their animals like in the modern world, instead bringing the animals inside. Luke 2:7 is probably best translated something like this:
And she bore a son, her firstborn child, and they wrapped him in baby cloths and laid him in a manger, because they had no space in their accommodations [for him].
Yup, that’s right. No stable, no inn, no innkeeper. But on the plus side, it’s better exegesis of what Luke actually says. So it has that going for it. Which is nice.