It is very easy to create a content type through admin section of Drupal. But have you tried doing it programmatically? This article will explain to you how to do this in a very simple way. Even though fields can also be added to the content type programmatically, this section only covers the creation of content type.
Let us pretend we have the following lists with us: