когда у абонента услуги оплачены и нет задолженности,
Ну, этт понятно
и заполнены поля "ФИО" "тел.".
А вот это вот дело рук админа... Никто кроме как админ поля эти не заполнит.
Прикрутить какой-то рендом для определения победителя, лучше всего по каким-то внешним параметрам, ну например последние 2 числа в розыгрыше национальной лотереи или чего-то такое, что бы у пользователя не было мысли: -"Блин, админ чёта намутил, и выдал приз знакомым".
а чем MySQL RAND() не нравится?
Вообще-то идеи по функционалу модуля принимаются.
Участие в розыграше платное? или все добросовестные клиенты имеют право на участие?