Booking cottages with range types in .NET 10: no double bookings via PostgreSQL
CodoMetis.ValueRanges 10.4 and EFCore.ComplexIndexes are used to build a holiday-cottage booking API end to end. Date ranges are modelled as single values, overlapping bookings are blocked by a PostgreSQL exclusion constraint, and free nights are computed in one query. A practical example for EF Core developers working with PostgreSQL.