We stayed in a 2-bedroom suite at the Duna Parque Beach Club in Vila Nova de Milfontes for 2-nights in mid-Sep (102€/night). It was located on the outskirts of town amid what seem to be a new development stretching N behind the dunes. It had several 3-story white buildings arrayed around a central green space that included tennis courts & a moderate size pool with loungers by the entrance to the bar & small lobby. There was an indoor pool, in a glass roofed solarium, separated from the main pool by a small wall (bath caps required, 5€). The grounds were nicely maintained, backed by large dunes with a trail to the cobble beach. Facilities included a small bar with pool tables, games, & a very small restaurant that specialized in steaks. Breakfasts were available at the sister hotel, the MS Milfontes, which was 5 min walk toward the river. We were given complementary vouchers for one breakfast, plus vouchers for arrival drinks, a nice touch. There were 2 restaurants within a 5 min walk, one a bar and the other a fairly expensive formal restaurant, both overlooking the river. Otherwise, restaurants and supermarkets were a bit further away downtown, about 5 min by car.
Our apartment was spacious, bright and airy. Arrayed in a long shot-gun, there was a reasonable sized room with 2 beds and plenty of storage at the front (there was an in-room safe, but it had a daily fee), then a full kitchen (with all of the utensils, a full refrigerator/freezer, oven/stove & microwave) with a breakfast bar, then a long sitting area (couch only with small wall-mounted TV), the 2nd bedroom to the left (2 separate beds with storage), and a nice balcony through french doors at the end with views over the courtyard, tennis courts, pool.
Overall, the Duna Parque was a pleasant spot in the off season, with plenty to see nearby (the fort, promontory over the river as it flows into the sea), and there were a couple of nice seaside towns to visit to the south.