I updated the wiki to show how many stays or nights it takes to max each promo out. (Except for the "double points" version where that can't be calculated without knowing the price on each stay.)
The one I got is:
3) 25,000 bonus points after 20 paid nights + 2,000 bonus points after each additional night, up to 45,000 bonus points (maxes out after 30 nights)