Can I organise my custom post types by page?

Building on my question my solution is that I have written this bare bones template and was hoping for some critiquing on if there are better ways or if this approach is suitable.

To clarify the test case is create a page, create a sub-page with this code in the custom-page.php and display the entry content of the page, plus loop through and display each of the custom posts based on post name (type).
Fire away.

<header class="event-page-header">
<!--breadcrumbs-->
    <?php custom_breadcrumbs(); ?>
    <h1><?= get_post_field('post_title', $post->ID) ?></h1>
    <div><?= get_post_field('post_content', $post->ID) ?></div>

</header><!-- .entry-header -->

<!--the post-->
<div class="post-container">
    <div class="posts-body">

            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

                <!-- get custom post by type (name)-->
                <?php $args = array( 'post_type' => 'custom-post-name', 'posts_per_page' => -1 );

                $loop = new WP_Query( $args );

                while ( $loop->have_posts() ) : $loop->the_post(); ?>

                <!-- advanced custom fields entry content -->
                <div class="acf-custom-content">                    
                    <div><?php the_field('event_time'); ?></div 
                    <div><?php the_field('event_location'); ?></div>    
                </div>

                <!-- post entry content -->
                <div class="custom-entry-content">
                    <?php the_title(); ?>
                    <?php the_content(); ?>
                </div><!-- .entry-content -->

                <?php endwhile; ?>

            </article><!-- #post-## --> 

    </div>
</div>