All your guests, no matter where the source of the booking is, will receive the Online Check-in Process Email (if it is activated). When they click on the Confirm Booking button, they are directed to a page where they should fill the fields you’ve set in the Settings>Booking tab-> Check-in Ready card.
At the end of the form, they are asked to provide their approximate Arrival and Departure Times. If the timing is between your Earliest Possible and Free Check-in Period, they are notified that they have to pay extra (which you can set in the Organisation Configuration). If the chosen check-in/ check-out time is not in that period, they will receive a message informing them that they need to change the arrival/ departure time as their current request is not possible. This is true for the Departure Time too. They can be charged for the time between the Latest Free Check-Out time and Latest Possible Check-Out Time.
If they confirm the form, the amount will be added to their invoice and they will be asked to pay.