Single and Archive Pages with Custom Post Type

WordPress can handle this automatically by creating a page called
archive-CustomPostTypePage.php through register_post_type() function.

eg. archive-documents.php

You need to register your post type in the functions and the name has to be the same as the php file name above eg:

register_post_type('documents', array(
    // YOUR ARRAY HERE
));