Is Drupal suitable for that kind of ecommerce? I have to do website that sells webinars and I want to use D7 to this job. Unfortunately I have never done any Drupal ecommerce before.

I'll have to kind of users:


Teacher
Student


Payment method: PayPal only

Webinar content type:


Title
Description
Start date (every webinar length is 60 minutes)
Places
Price is the same of all webinars and is specified by Admin
Webinar booked at least 7 days before start costa less (discount and days limit  configurated via admin area)
If a webinar is cancelled need option to move the participants/users into a new webinar


User of role Teacher can add/edit/list his Webinars.

In addition Teacher can create group with fields:


Topic
Description
When Teacher is creating new webinar, he can specify group for this webinar (select list) (not mandatory)


Student (auth user) can buy single webinar or group. When buying group discount is bigger.

Every webinar can repeat and has multiple start date. Setting next start date must generate different ID for webinar for invoice

If do it by plain PHP database structure will look something like:


groups


id
topic
title

webinar


id
group_id
title
description
etc

webinar_date


id
invoice_id (maybe webinar id + webinar_date id)
webinar_id
date



Teacher can see list of his webinar with dates, so if webinar has two dates it must be visible in two times in list. Also info about free places of webinar must be and income from bookings of webinar. After choosing webinar Teacher can see list of all users that buy webinar 'ticket'.

The same is for admin but he can see all webinars of course.

Is this possible to create in Drupal without a lot of pain?

Which module are most suitable for this: Commerce or Ubercart?

Thanks in advance
Yes it is possible, most of which using Rules, Fields, Date and Views. I'd say that, due to the specificity around some features, Commerce would be best as it fully taps into the Entity API which makes developing a breeze.