where/how are you booking the flight? sites like expedia allow you to see the fare rules and hence the fare class before confirming your booking
seems like the direct flights book into W/S class and should earn 50% miles
Code:
Rules and restrictions
TAP Portugal
From: London, England (LON-All Airports)
To: Funchal, Portugal (FNC-Madeira)
Fare Basis Code: STAP
V FARE BASIS BK FARE TRAVEL-TICKET AP MINMAX RTG
1 STAP S‡R 339.00 ---- - ‡‡/ EH01
PASSENGER TYPE-ADT AUTO PRICE-YES
FROM-LON TO-FNC CXR-TP TVL-14APR12 RULE-001Q IPREURP/21
FARE BASIS-STAP SPECIAL FARE DIS-E VENDOR-ATP
FARE TYPE-XPB RT-SUPER/SPECIAL INSTANT PURCHASE
GBP 207.00 2222 E28SEP11 D-INFINITY FC-STAP FN-
SYSTEM DATES - CREATED 27SEP11/0539 EXPIRES INFINITY
From: London, England (LON-All Airports)
To: Funchal, Portugal (FNC-Madeira)
Fare Basis Code: WTAP
V FARE BASIS BK FARE TRAVEL-TICKET AP MINMAX RTG
1 WTAP W R 421.00 ---- - ‡‡/ EH01
PASSENGER TYPE-ADT AUTO PRICE-YES
FROM-LON TO-FNC CXR-TP TVL-14APR12 RULE-001W IPREURP/21
FARE BASIS-WTAP SPECIAL FARE DIS-E VENDOR-ATP
FARE TYPE-XPB RT-SUPER/SPECIAL INSTANT PURCHASE
GBP 257.00 0036 E28SEP11 D-INFINITY FC-WTAP FN-
SYSTEM DATES - CREATED 27SEP11/0539 EXPIRES INFINITY