Hotel App Template iOS

* * * * (44 ratings)
Hotel App Template | App Code for Sale | Hero
Hotel App Template | App Code for Sale | Hero



Hotel App is a native iOS project that will help you build a complete app for a hotel in just few minutes.

Now Available for iOS 6.0

Application is ready for build and upload to iTunes store.

Application Fetures and Description

Application features:

  • easy to use, configure XML, build and run

  • about hotel

  • photo gallery and video gallery

  • news from rss feed

  • reservations form

  • interactive map

  • retina (4G) graphics support

  • and much more...

Hotel app is configurable over property list (XML), so it's easy to define everything without programming knowledge.

Application use tab navigation with five main views:

  • About

  • Gallery

  • News

  • Reservation

  • Contacts

About is first view that user see and this view display headline image and text about hotel.

Gallery view show images and video about hotel. Each image will zoom to larger size after user taps on it and zoom out on another tap.

News view use RSS reader to display news, tap on each will open separate view to display full text defined in selected news.

Reservation allows user to define several options that will display price and after user fills data this view will send this data on mail or to API (depending how you configure this view).

Contacts view display contact information about hotel with location on map.

Property list (XML) configuration

Project is easy to configure with property list (XML) without any need to know programming. This file is named config.plist can be found in folder Supporting Files.

For most tabs available in application there is equivalent dictionary type item (About, Gallery, Reservation and Location). Since all tabs have different layout same differences are reflected in this property list.

About dictionary is simple, you need to add three strings, named text, image and title. Title and text strings are used to present general information about your hotel, and image string shoud contain image file name to be used on the same screen.

Under Gallery dictionary you need to create two arrays, imagesAndTitlesItems and videosItems.

  • Under introImagesNames you will need to add image names of image files that you will add to the application separated with desired titles. Image names and titles should be of string type.

  • Under videosItems you will be adding video files names, also string type.

Under Reservation dictionary you will need to create an array named roomCategories and fill it with items that represnt each category your hotel provides.

Category is dictionary type and it contains categoryPrice and categoryName strings.

Contacts dictionary consists of two main elements:

  • contactInfo

  • locationItems

contactInfo is dictionary type and it should contain strings that with contact information (email, telephone, title, message, address, postOffice and webPage).

locationItems is array type item with locations stored in dictionary types. Each location item should consist of two string type items (title and address) and two number type items (latitude and longitude)

Please keep in mind that ordering of items under array types is important, since it is used to order those items when displayed in running application.

XCode project overview

Project requires following frameworks:

  • CoreGraphics.framework

  • Foundation.framework

  • MapKit.framework

  • MediaPlayer.framework

  • MessageUI.framework

  • UIKit.framework

In project supporting files you'll find MBProgressHUD class, used to display spinning wheel while networking action is in progress. Other networking groups are RSS and JSON, used to download news feeds and upload reservation request to given server.

XCode classes


Application delegate in method:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

Customizes standard iPhone tabBar, while all navigation logic in implemented in MainStoryboard.storyboard file.


This controller is the first one displayed when application launches. Image, title and text presented are created by reading from property list. Property list name is defined at top of main file:

#define kConfigPlistName @"config"


Layout of this view is built entirely by reading from property list. By arranging order in Gallery dictionary in property list you can rearange and edit subsections in Photos section. Property list name is defined at top of main file:

#define kConfigPlistName @"config"

By tapping on any of presented items following method is invoked:

- (IBAction)galleryItemPressed:(id)sender

Based on item type chosen item will be presented as large image or in case item is actually video file it will open video player with standard controls.


This controller presents a table view whose data is downloaded by contacting your RSS server. Details about required RSS feed will be discussed later on.

On row select method:

- (void)tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

will open NewsItemViewController.


This controller is used to display all details of menu item that was selected in it's parent (NewsViewController).


Reservation view displays a short description text, that is extracted from property list. Property list name is defined at top of main file:

#define kConfigPlistName @"config"

Underneath are four text fields in which user inputs information about his reservation. Button in Interface Builder is connected with following method that will take user to next screen (ReservationDetailViewController):

- (IBAction)buttonGetPriceClick:(id)sender


Reservation detail view displays calculated price using parameters handed to it by it's parent view controller (ReservationViewController), and category prices that are read from property list. Property list name is defined at top of main file:

#define kConfigPlistName @"config"

Underneath the calculated price are four text fields in which user inputs his personal information. Button in Interface Builder is connected with following method that will present standard MFMailComposeViewController view, with prefilled recipient, subject and reservation data:

- (IBAction)reserveButtonClick:(id)sender


Contacts view is presented with contact information, map and two buttons. All presented data is read from property list, including map's location annotations. If allowed application will show user current location and after tapping on anotation's detail button Maps application will launch with directions to the hotel. Property list name is defined at top of main file:

#define kConfigPlistName @"config"

Methods linked from buttons in Interface Builder:

- (IBAction)buttonCallClick:(id)sender

- (IBAction)buttonEmailClick:(id)sender


Definition of annotation used in LocationViewController, conforming to MKAnnotation protocol.


This class is used to download RSS feeds from your server. For NewsViewController to function properly you will need to edit following defines:

#define feedURL @""
#define feedObject @"item"
#define feedTitle @"title"
#define feedText @"text"
#define feedImageURL @"image"
#define feedBody @"link"
#define feedDate @"pubDate"

Please keep in mind that your defines must be the same as ones in response that this application will request from your server.

8 Comments Leave a comment


Please login in order to leave a comment.

Newest first
  • reportlil Buyer 2016-02-05 12:57:08 Thread #110119

    Great deal =)

  • s.argio Buyer 2016-02-05 00:53:35 Thread #110075

    this template is amazing

  • chris.janota 2014-12-31 04:34:45 Thread #54980

    hi. looks good. is there a way i came try the app first?  is there a operating version of this in the app store i can try?

    • Chupa Team Buyer Author 2014-12-31 13:50:01

      Hi @chris.janota, you can find a video at the following link:  video

      The app template is updated until iOS 6. 

  • Thomas74 2014-11-17 16:00:41 Thread #49716


    I was wondering something: how can the app evaluate the price that the user will pay ? 

    I guess you have to insert the hotel room prices in the app ?

    Could you please be more specific ?

    What about when you say: "Project requires following frameworks: CoreGraphics.framework, Foundation.framework,..." what exactly does it mean ? 

    I never used xcode for now, will I have to download specific frameworks or are they included in the pack when I buy the app?

    What about customization: you say you just have to edit the xml file, but you described some xcode functions. Why ? Will i need to edit these functions also ?

    Thanks for your answers.

  • immoralmagic Buyer 2012-06-19 11:06:17 Thread #199

    Hello, great App, easy to personalize. I have just one problem, when I go on the gallery page for the first time, the video start automatically in background. So I have the sound of the vidéo in background. How can I block the video?

    Thank you

    • Chupa Team Buyer Author 2012-08-04 09:35:54

      Hi immoralmagic,

      in viewDidLoad method, after moviePlayerController is initialized set shouldAutoplay property to NO.

      moviePlayerController.shouldAutoplay = NO;

to your Chupamobile Account.

The Easiest way to Launch your next App or Game.

Join Chupamobile and get instant access to thousands of ready made App and Game Templates.

Creating an account means you’re okay with Chupamobile’s Terms of Service and Privacy Policy.