/// Conference Domain services interfaces definition unit DomConferenceInterfaces; interface uses SysUtils, Classes, SynCommons, mORMot, DomConferenceTypes; { Conference Domain Services } type TRegisterAttendee = (raSuccess, raMissingField, raInvalidField, raAlreadyRegistered, raPersistenceError); TSearchRegistration = (srNotFound, srFound); IConferenceBooking = interface(IInvokable) ['{0A128982-38E3-406E-B7B4-7FE212552BBF}'] function RegisterAttendee(const Name: TAttendeeName; const FirstName: TAttendeeFirstName; const Days: TSessionDays; out Attendee: TAttendee): TRegisterAttendee; function SearchRegistration(const Name: TAttendeeName; const FirstName: TAttendeeFirstName; out Days: TSessionDays; out Attendee: TAttendee): TSearchRegistration; end; implementation initialization TJSONSerializer.RegisterObjArrayForJSON([ ]); TInterfaceFactory.RegisterInterfaces([ TypeInfo(IConferenceBooking) ]); end.