INTERFACE {{p}}if_piano_tuning PUBLIC. TYPES: ty_code TYPE c LENGTH 10, ty_model TYPE c LENGTH 4, ty_visit_id TYPE c LENGTH 8, BEGIN OF ty_visit, visit_id TYPE ty_visit_id, model TYPE ty_model, pitch_dev TYPE i, distance_km TYPE i, piano_count TYPE i, END OF ty_visit, tt_visits TYPE STANDARD TABLE OF ty_visit WITH EMPTY KEY, BEGIN OF ty_summary, accepted TYPE i, rejected TYPE i, first_code TYPE ty_code, END OF ty_summary. CONSTANTS: BEGIN OF c_code, ok TYPE ty_code VALUE 'OK', no_visit TYPE ty_code VALUE 'NO_VISIT', model TYPE ty_code VALUE 'MODEL', pitch TYPE ty_code VALUE 'PITCH', distance TYPE ty_code VALUE 'DISTANCE', too_many TYPE ty_code VALUE 'COUNT', END OF c_code, c_max_pitch TYPE i VALUE 25, c_max_distance TYPE i VALUE 60, c_max_pianos TYPE i VALUE 3. METHODS check_visit IMPORTING is_visit TYPE ty_visit RETURNING VALUE(rv_code) TYPE ty_code. METHODS check_visits IMPORTING it_visits TYPE tt_visits RETURNING VALUE(rv_code) TYPE ty_code. METHODS summarise IMPORTING it_visits TYPE tt_visits RETURNING VALUE(rs_summary) TYPE ty_summary. METHODS count_blocked IMPORTING it_visits TYPE tt_visits EXPORTING ev_count TYPE i ev_code TYPE ty_code. METHODS is_tuning_model IMPORTING iv_model TYPE ty_model RETURNING VALUE(rv_tuning) TYPE abap_bool. ENDINTERFACE.