INTERFACE {{p}}if_pyro_order PUBLIC. TYPES ty_reason TYPE c LENGTH 12. TYPES ty_zone TYPE c LENGTH 1. TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2. TYPES BEGIN OF ty_order. TYPES calibre_mm TYPE i. TYPES zone_code TYPE ty_zone. TYPES wind_kmh TYPE i. TYPES start_hour TYPE i. TYPES crowd_m TYPE i. TYPES duration_min TYPE i. TYPES END OF ty_order. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', calibre TYPE ty_reason VALUE 'CALIBRE', zone TYPE ty_reason VALUE 'ZONE', wind TYPE ty_reason VALUE 'WIND', time TYPE ty_reason VALUE 'TIME', distance TYPE ty_reason VALUE 'DISTANCE', END OF c_reason. CONSTANTS: BEGIN OF c_limit, max_wind_kmh TYPE i VALUE 30, min_start_hour TYPE i VALUE 18, max_start_hour TYPE i VALUE 23, free_minutes TYPE i VALUE 10, max_fee_euro TYPE i VALUE 5000, END OF c_limit. CONSTANTS: BEGIN OF c_distance, calibre_50 TYPE i VALUE 30, calibre_75 TYPE i VALUE 45, calibre_100 TYPE i VALUE 60, calibre_150 TYPE i VALUE 90, calibre_200 TYPE i VALUE 120, END OF c_distance. METHODS check_order IMPORTING is_order TYPE ty_order RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS calc_fee IMPORTING is_order TYPE ty_order RETURNING VALUE(rv_fee) TYPE ty_amount. ENDINTERFACE.