The following flow presents how confirmOrDeclineBooking() determines the booking status.

Calling a checkout after creating a booking, is optional, confirmOrDeclineBooking() can be called after createBooking()
skipAvailability is true, it will skip the check and it will never be a doublebooking.PAID or PARTIALLY_PAID, the booking is confirmed regardless of the doubleBooking parameter.CONFIRMED the status is set to PENDING. This happens since it needs to always be manually approved by the owner. You can bypass the confirmation check by setting the skipBusinessConfirmation property to true when creating a booking.