Interesting fact...
The word, "Inn," shows up a couple times in the Bible, the parable of the Good Samaritan and Bethlehem. The translation of the original Hebrew in the parable is a hotel, or temporary place of stay. The translation for Christ's birth is, "Living Room."
If you really think about it, Hebrews were and are a very family-centered culture. Joseph and Mary were required to go to Bethlehem for the census. The reason was because that is where Joseph's family is from.
People during these times traveled together in large groups. There are various reasons but #1 is for security. The 60+ mile route was dangerous with thieves. Therefore, Joseph and Mary were most likely traveling with family.
When they arrive in Bethlehem, they are arriving with family and meeting family. Therefore, they were not showing up to a foreign land where they knew nobody. They were staying with family. Also, they were most likely living in a cave...not a fancy home/hotel with a stable. The stable is added words.
When it was time to give birth, there was no room in the Inn (Living Room) so she moved to a different location within their place of stay to have the baby.