The end points are accounted for by the coding of the first and last terms in your piecewise parameters. For example, imagine you have a continuous function to model prices from 0 to infinity (but likely no larger than $900). Imagine you plan for cut-points at $500, $600, and $700. The betas involve estimating slope within these intervals:
B1 , <$500
B2 , >=$500 to < $600
B3 , >=$600 to $700
B4 , >=$700
So, you've got a continuous function that handles any price. If price is below $500, then the B1 slope is the only thing we need to compute the utility at that price point. If the price is above $700, then we need to use B1 * 500 + B2 * 100 + B3 * 100 + B4 (price - 700). So, you can see that estimating the utility for a price higher than $700 involves all four terms in the model.
The piecewise function gives you a continuous function for computing the utility of price at any value along the supported continuum. However, if you want to discretize the utilities for specific price points (as if you had used dummy-coding), then you may indeed compute the utility associated with (for example) $400, $500, $600, $700, $800. Respondents will have seen potentially 100s or 1000s of unique price values, but your analysis will just summarize the utility at discrete points ($400, $500, $600, $700, $800).