INTERFACE {{p}}if_ride_booking PUBLIC. TYPES ty_discipline TYPE c LENGTH 4. TYPES ty_level TYPE c LENGTH 1. TYPES ty_reason TYPE {{p}}cx_ride_booking=>ty_reason. TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2. CONSTANTS: BEGIN OF c_discipline, dressage TYPE ty_discipline VALUE 'DRES', jumping TYPE ty_discipline VALUE 'SHOW', western TYPE ty_discipline VALUE 'WEST', vaulting TYPE ty_discipline VALUE 'VOLT', END OF c_discipline. CONSTANTS: BEGIN OF c_level, basic TYPE ty_level VALUE 'B', light TYPE ty_level VALUE 'L', medium TYPE ty_level VALUE 'M', advanced TYPE ty_level VALUE 'S', END OF c_level. CONSTANTS: BEGIN OF c_reason, name TYPE ty_reason VALUE 'NAME', discipline TYPE ty_reason VALUE 'DISCIPLINE', level TYPE ty_reason VALUE 'LEVEL', minutes TYPE ty_reason VALUE 'MINUTES', riders TYPE ty_reason VALUE 'RIDERS', show_level TYPE ty_reason VALUE 'SHOW_LEVEL', volt_group TYPE ty_reason VALUE 'VOLT_GROUP', END OF c_reason. METHODS book IMPORTING iv_rider_name TYPE string iv_discipline TYPE ty_discipline iv_level TYPE ty_level iv_minutes TYPE i iv_riders TYPE i RETURNING VALUE(rv_price) TYPE ty_amount RAISING {{p}}cx_ride_input {{p}}cx_ride_limit. ENDINTERFACE.