INTERFACE {{p}}if_kart_check PUBLIC. TYPES ty_reason TYPE c LENGTH 12. TYPES: BEGIN OF ty_booking, driver_name TYPE c LENGTH 20, driver_age TYPE i, laps TYPE i, booking_time TYPE t, END OF ty_booking. TYPES tt_bookings TYPE STANDARD TABLE OF ty_booking WITH EMPTY KEY. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', no_name TYPE ty_reason VALUE 'NO_NAME', too_young TYPE ty_reason VALUE 'TOO_YOUNG', too_old TYPE ty_reason VALUE 'TOO_OLD', bad_laps TYPE ty_reason VALUE 'BAD_LAPS', closed TYPE ty_reason VALUE 'CLOSED', too_many TYPE ty_reason VALUE 'TOO_MANY', END OF c_reason. CONSTANTS: BEGIN OF c_limit, min_age TYPE i VALUE 12, max_age TYPE i VALUE 75, min_laps TYPE i VALUE 5, max_laps TYPE i VALUE 30, max_drivers TYPE i VALUE 8, END OF c_limit. CONSTANTS: c_open_from TYPE t VALUE '090000', c_open_to TYPE t VALUE '220000'. METHODS check_booking IMPORTING is_booking TYPE ty_booking RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS check_group IMPORTING it_bookings TYPE tt_bookings RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS is_open IMPORTING iv_time TYPE t RETURNING VALUE(rv_open) TYPE abap_bool. ENDINTERFACE.