INTERFACE {{p}}if_bouquet_pricing PUBLIC. TYPES: ty_size TYPE c LENGTH 1, ty_zone TYPE c LENGTH 2, ty_reason TYPE c LENGTH 12, ty_amount TYPE p LENGTH 8 DECIMALS 2, ty_stems TYPE i. CONSTANTS: BEGIN OF c_size, small TYPE ty_size VALUE 'S', medium TYPE ty_size VALUE 'M', large TYPE ty_size VALUE 'L', END OF c_size. CONSTANTS: BEGIN OF c_zone, town TYPE ty_zone VALUE 'T1', nearby TYPE ty_zone VALUE 'N1', far TYPE ty_zone VALUE 'Z1', END OF c_zone. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', no_stems TYPE ty_reason VALUE 'NO_STEMS', too_many TYPE ty_reason VALUE 'TOO_MANY', bad_size TYPE ty_reason VALUE 'BAD_SIZE', bad_zone TYPE ty_reason VALUE 'BAD_ZONE', END OF c_reason. CONSTANTS: BEGIN OF c_limit, min_stems TYPE ty_stems VALUE 5, max_stems TYPE ty_stems VALUE 60, END OF c_limit. CONSTANTS: BEGIN OF c_fee, vase TYPE ty_amount VALUE '4.50', town TYPE ty_amount VALUE '0.00', nearby TYPE ty_amount VALUE '6.00', far TYPE ty_amount VALUE '12.00', END OF c_fee. METHODS check_order IMPORTING iv_size TYPE ty_size iv_stems TYPE ty_stems iv_zone TYPE ty_zone RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS delivery_fee IMPORTING iv_zone TYPE ty_zone RETURNING VALUE(rv_fee) TYPE ty_amount. METHODS bouquet_price IMPORTING iv_size TYPE ty_size iv_stems TYPE ty_stems iv_vase TYPE abap_bool RETURNING VALUE(rv_price) TYPE ty_amount. ENDINTERFACE.